summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-10-30 04:01:44 +1100
committernick_m <mainsbridge@gmail.com>2015-10-30 04:01:44 +1100
commit6d98ccf9014ff287827b12e8f845cd0aea2f8837 (patch)
tree528a562c937ade522b6743e685afbc5b2c726b71 /gtk2_ardour/editor_drag.cc
parent73328172d6d76c0100dc4f9b902cd175e6e4456f (diff)
Dont do duplocate calls to MidiRegionView::trim_front_ending () in TrimDrag.
- fixes #6658 - also leaves undo history alone if point trim does nothing.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index aaa306f70f..0a04feb532 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -2795,9 +2795,6 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
switch (_operation) {
case StartTrim:
show_verbose_cursor_time (region_start);
- for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
- i->view->trim_front_starting ();
- }
break;
case EndTrim:
show_verbose_cursor_duration (region_start, region_end);
@@ -2855,6 +2852,10 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
rv->enable_display (false);
rv->region()->playlist()->clear_owned_changes ();
+ if (_operation == StartTrim) {
+ rv->trim_front_starting ();
+ }
+
AudioRegionView* const arv = dynamic_cast<AudioRegionView*> (rv);
if (arv) {
@@ -3058,14 +3059,12 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
} else {
/* no mouse movement */
- _editor->point_trim (event, adjusted_current_frame (event));
+ if (adjusted_current_frame (event) != adjusted_frame (_drags->current_pointer_frame(), event, false)) {
+ _editor->point_trim (event, adjusted_current_frame (event));
+ }
}
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
- if (_operation == StartTrim) {
- i->view->trim_front_ending ();
- }
-
i->view->region()->resume_property_changes ();
}
}