diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-13 15:54:50 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-13 15:54:50 +0000 |
commit | 459a943bb0bb08cb446f0c28ee0ae542ab9be31e (patch) | |
tree | d3596afee5248de5969b8a09b006cc830d00f3da | |
parent | faa729afb81cbe5976e8c6f64a8edb2865d5f2ce (diff) |
end drags on regions before doing front trim, so that fades get visually updated rather than skipped because dragging() still returned true
git-svn-id: svn://localhost/ardour2/branches/3.0@13657 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 96d02e817c..8f149f24e6 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1780,6 +1780,10 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred) if (movement_occurred) { motion (event, false); + for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) { + i->view->drag_end (); + } + /* This must happen before the region's StatefulDiffCommand is created, as it may `correct' (ahem) the region's _start from being negative to being zero. It needs to be zero in the undo record. @@ -1822,6 +1826,7 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred) } } } + for (set<boost::shared_ptr<Playlist> >::iterator p = _editor->motion_frozen_playlists.begin(); p != _editor->motion_frozen_playlists.end(); ++p) { (*p)->thaw (); } @@ -1829,10 +1834,6 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred) _editor->motion_frozen_playlists.clear (); _editor->commit_reversible_command(); - for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) { - i->view->drag_end (); - } - } else { /* no mouse movement */ _editor->point_trim (event, adjusted_current_frame (event)); |