13
0

prevent trim-dragging that doesn't change region duration from incorrectly resetting fades

This commit is contained in:
Paul Davis 2021-10-05 10:43:24 -06:00
parent 8bdb8f51fd
commit 248d7e5980

View File

@ -3269,7 +3269,7 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
*/ */
i->view->trim_front_ending (); i->view->trim_front_ending ();
} }
if (_preserve_fade_anchor) { if (_preserve_fade_anchor && i->anchored_fade_length) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view); AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) { if (arv) {
boost::shared_ptr<AudioRegion> ar (arv->audio_region()); boost::shared_ptr<AudioRegion> ar (arv->audio_region());
@ -3284,7 +3284,7 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
} }
} else if (_operation == EndTrim) { } else if (_operation == EndTrim) {
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) { for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
if (_preserve_fade_anchor) { if (_preserve_fade_anchor && i->anchored_fade_length) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view); AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) { if (arv) {
boost::shared_ptr<AudioRegion> ar (arv->audio_region()); boost::shared_ptr<AudioRegion> ar (arv->audio_region());
@ -6791,6 +6791,7 @@ AutomationRangeDrag::aborted (bool)
DraggingView::DraggingView (RegionView* v, RegionDrag* parent, TimeAxisView* itav) DraggingView::DraggingView (RegionView* v, RegionDrag* parent, TimeAxisView* itav)
: view (v) : view (v)
, initial_time_axis_view (itav) , initial_time_axis_view (itav)
, anchored_fade_length (0)
{ {
TimeAxisView* tav = &v->get_time_axis_view(); TimeAxisView* tav = &v->get_time_axis_view();
if (tav) { if (tav) {