summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/selection.cc8
1 files changed, 7 insertions, 1 deletions
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<TimeAxisView*>::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);
}
}