diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 6414c7cf5d..37f71c6026 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -365,6 +365,8 @@ RegionDrag::RegionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list::const_iterator i = v.begin(); i != v.end(); ++i) { _views.push_back (DraggingView (*i, this)); @@ -759,6 +761,8 @@ RegionMoveDrag::finished (GdkEvent *, bool movement_occurred) _x_constrained = !_x_constrained; } + assert (!_views.empty ()); + bool const changed_position = (_last_frame_position != _primary->region()->position()); bool const changed_tracks = (_time_axis_views[_views.front().time_axis_view] != &_views.front().view->get_time_axis_view()); framecnt_t const drag_delta = _primary->region()->position() - _last_frame_position; diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 51064f87cc..a3eef66d72 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -768,6 +768,11 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT */ break; } + + if (internal_editing ()) { + /* no region drags in internal edit mode */ + break; + } /* click on a normal region view */ if (Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)) {