Fix track selection interaction with route groups.
authorCarl Hetherington <carl@carlh.net>
Fri, 26 Jun 2009 12:13:41 +0000 (12:13 +0000)
committerCarl Hetherington <carl@carlh.net>
Fri, 26 Jun 2009 12:13:41 +0000 (12:13 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@5276 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor.cc

index 3a2239a7555939e32dc30b19a18853bb78c064fb..8c2f0b54f6d83bfa63af7127eedd97f45d854189 100644 (file)
@@ -3941,10 +3941,9 @@ Editor::mouse_select_button_release (GdkEventButton* ev)
 Editor::TrackViewList *
 Editor::get_valid_views (TimeAxisView* track, RouteGroup* group)
 {
-       TrackViewList *v;
        TrackViewList::iterator i;
 
-       v = new TrackViewList;
+       TrackViewList* v = new TrackViewList;
 
        if (track == 0 && group == 0) {
 
@@ -3954,7 +3953,7 @@ Editor::get_valid_views (TimeAxisView* track, RouteGroup* group)
                        v->push_back (*i);
                }
 
-       } else if ((track != 0 && group == 0) || (track != 0 && group != 0 && !group->is_active())) {
+       } else if ((track != 0 && group == 0) || (track != 0 && group != 0 && !group->active_property (RouteGroup::Select))) {
                
                /* just the view for this track
                 */
@@ -3965,9 +3964,9 @@ Editor::get_valid_views (TimeAxisView* track, RouteGroup* group)
                
                /* views for all tracks in the route group */
                
-               for (i  = track_views.begin(); i != track_views.end (); ++i) {
+               for (i = track_views.begin(); i != track_views.end (); ++i) {
 
-                       if (group == 0 || (*i)->route_group() == group) {
+                       if (group == 0 || ((*i)->route_group() == group && group->active_property (RouteGroup::Select))) {
                                v->push_back (*i);
                        }
                }