diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index c39d562165..dc5b0cd3ff 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -774,13 +774,15 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT boost::shared_ptr pl = t->diskstream()->playlist (); if (pl) { boost::shared_ptr r = pl->top_region_at (unit_to_frame (event->button.x)); - RegionView* rv = rtv->view()->find_view (r); - clicked_selection = select_range_around_region (rv); - _drags->add (new SelectionDrag (this, item, SelectionDrag::SelectionMove)); - list rvs; - rvs.push_back (rv); - _drags->add (new RegionMoveDrag (this, item, rv, rvs, false, false)); - _drags->start_grab (event); + if (r) { + RegionView* rv = rtv->view()->find_view (r); + clicked_selection = select_range_around_region (rv); + _drags->add (new SelectionDrag (this, item, SelectionDrag::SelectionMove)); + list rvs; + rvs.push_back (rv); + _drags->add (new RegionMoveDrag (this, item, rv, rvs, false, false)); + _drags->start_grab (event); + } } } } diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index e73de2bc51..3fb502f84e 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -1421,6 +1421,8 @@ Editor::deselect_all () long Editor::select_range_around_region (RegionView* rv) { + assert (rv); + selection->set (&rv->get_time_axis_view()); selection->time.clear ();