From 2926555e295ea39904a0127d776a5c5b1531141f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 21 Feb 2017 19:11:14 +0100 Subject: fix crash when removing a TimeAxisView from the selection --- gtk2_ardour/selection.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index 298889e329..6ed7a10434 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -648,8 +648,14 @@ Selection::remove (TimeAxisView* track) { list::iterator i; if ((i = find (tracks.begin(), tracks.end(), track)) != tracks.end()) { - track->set_selected (false); + /* erase first, because set_selected() will remove the track + from the selection, invalidating the iterator. + + In fact, we don't really even need to do the erase, but this is + a hangover of axis view selection being in the GUI. + */ tracks.erase (i); + track->set_selected (false); } } -- cgit v1.2.3