Dont do duplocate calls to MidiRegionView::trim_front_ending () in TrimDrag.
- fixes #6658 - also leaves undo history alone if point trim does nothing.
This commit is contained in:
parent
73328172d6
commit
6d98ccf901
@ -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 ();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user