Disable region drags in internal edit mode. Fixes #3456.
authorCarl Hetherington <carl@carlh.net>
Sat, 18 Sep 2010 20:22:03 +0000 (20:22 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 18 Sep 2010 20:22:03 +0000 (20:22 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7800 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_mouse.cc

index 6414c7cf5deb3dc300ac9e03f743906348642676..37f71c60266b176dda24daea7c839f5f347772f2 100644 (file)
@@ -365,6 +365,8 @@ RegionDrag::RegionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<Re
                        }
                }
        }
+
+       assert (!v.empty ());
        
        for (list<RegionView*>::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;
index 51064f87cceac18e1220c2210e46ee92ed159df6..a3eef66d72d1fb146bcfe160465d6b9c5ea6d81d 100644 (file)
@@ -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)) {