summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-12-13 15:54:50 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-12-13 15:54:50 +0000
commit459a943bb0bb08cb446f0c28ee0ae542ab9be31e (patch)
treed3596afee5248de5969b8a09b006cc830d00f3da /gtk2_ardour
parentfaa729afb81cbe5976e8c6f64a8edb2865d5f2ce (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
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_drag.cc9
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));