diff options
author | nick_m <mainsbridge@gmail.com> | 2015-10-30 04:01:44 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-10-30 04:01:44 +1100 |
commit | 6d98ccf9014ff287827b12e8f845cd0aea2f8837 (patch) | |
tree | 528a562c937ade522b6743e685afbc5b2c726b71 /gtk2_ardour/editor_drag.cc | |
parent | 73328172d6d76c0100dc4f9b902cd175e6e4456f (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.cc | 15 |
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 (); } } |