diff options
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r-- | gtk2_ardour/editor_selection.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 33685be2ff..f8555505b2 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -802,7 +802,7 @@ Editor::set_selected_regionview_from_map_event (GdkEventAny* /*ev*/, StreamView* void Editor::track_selection_changed () { - switch (selection->tracks.size()){ + switch (selection->tracks.size()) { case 0: break; default: @@ -811,10 +811,11 @@ Editor::track_selection_changed () } for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { - if (find (selection->tracks.begin(), selection->tracks.end(), *i) != selection->tracks.end()) { - (*i)->set_selected (true); - } else { - (*i)->set_selected (false); + (*i)->set_selected (find (selection->tracks.begin(), selection->tracks.end(), *i) != selection->tracks.end()); + + TimeAxisView::Children c = (*i)->get_child_list (); + for (TimeAxisView::Children::iterator j = c.begin(); j != c.end(); ++j) { + (*j)->set_selected (find (selection->tracks.begin(), selection->tracks.end(), j->get()) != selection->tracks.end()); } } |