From d2f5edf64fdffb8e66139579e62b2237ca4a09cc Mon Sep 17 00:00:00 2001 From: Johannes Mueller Date: Tue, 14 Apr 2020 21:41:57 +0200 Subject: Fix #8012 to some extent. As soon as we ripple drag the selected region out of the original track, ::remove_unselected_from_views() is called and the rippled regions on the original track are not covered when ::remove_selected_from_views() is called again in ::finished(). Therefore we need to shift the regions remaining on the original track back and forth again, in order to have them properly in the undo history. --- gtk2_ardour/editor_drag.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour/editor_drag.h') diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index f4a76cb599..6c3e99d057 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -44,6 +44,7 @@ namespace ARDOUR { class Location; + class Region; class TempoSection; } @@ -520,6 +521,7 @@ private: void add_all_after_to_views (TimeAxisView *tav, ARDOUR::samplepos_t where, const RegionSelection &exclude, bool drag_in_progress); void remove_unselected_from_views (ARDOUR::samplecnt_t amount, bool move_regions); + std::list > _orig_tav_ripples; }; /** "Drag" to cut a region (action only on button release) */ @@ -1328,4 +1330,3 @@ private: }; #endif /* __gtk2_ardour_editor_drag_h_ */ - -- cgit v1.2.3