From 92fbcd021d7d29390227521aa8c41ac273c99e04 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 12 Jan 2010 23:50:57 +0000 Subject: [PATCH] Hopefully fix segfault. git-svn-id: svn://localhost/ardour2/branches/3.0@6481 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_mouse.cc | 16 +++++++++------- gtk2_ardour/editor_selection.cc | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) 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 ();