summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-09-21 23:23:07 +0000
committerCarl Hetherington <carl@carlh.net>2010-09-21 23:23:07 +0000
commitdbd1e1f7b83a18b27a92d6e1b809561684db8f15 (patch)
tree97521f04d3c3bf6a8bafe4e047c6a9ac60ea6312 /gtk2_ardour/editor_drag.cc
parent90e73a3a6dc196f8295291eca7e67e85595b82d4 (diff)
Don't update region list during region trim. Fixes #3467.
git-svn-id: svn://localhost/ardour2/branches/3.0@7825 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index f79df6bb42..c4040c346d 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -1547,6 +1547,10 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_editor->show_verbose_time_cursor (pf, 10);
break;
}
+
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ i->view->region()->suspend_property_changes ();
+ }
}
void
@@ -1594,7 +1598,6 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
rv->fake_set_opaque(false);
rv->enable_display (false);
rv->region()->clear_changes ();
- rv->region()->suspend_property_changes ();
AudioRegionView* const arv = dynamic_cast<AudioRegionView*> (rv);
@@ -1705,6 +1708,10 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
/* no mouse movement */
_editor->point_trim (event, adjusted_current_frame (event));
}
+
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ i->view->region()->resume_property_changes ();
+ }
}
void
@@ -1720,6 +1727,10 @@ TrimDrag::aborted ()
if (_have_transaction) {
_editor->undo ();
}
+
+ for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
+ i->view->region()->resume_property_changes ();
+ }
}
MeterMarkerDrag::MeterMarkerDrag (Editor* e, ArdourCanvas::Item* i, bool c)