Revert "Editor does not need to reset track/stripable selection, since Selection...
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 26 Sep 2016 00:11:42 +0000 (19:11 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 27 Sep 2016 19:59:32 +0000 (14:59 -0500)
This reverts commit 57652d7d50f706e2f0e525c6f48c1fc7830cf222.

gtk2_ardour/editor.cc

index ccb839ccc18a7cc8ef3555d52562454b73d7d4c0..53f1b032aee7c8d77285d84a3ea5b1bb9559aeba 100644 (file)
@@ -1407,6 +1407,25 @@ Editor::set_session (Session *t)
                break;
        }
 
+       /* catch up on selection of stripables (other selection state is lost
+        * when a session is closed
+        */
+
+       StripableList sl;
+       TrackViewList tl;
+       _session->get_stripables (sl);
+       for (StripableList::const_iterator s = sl.begin(); s != sl.end(); ++s) {
+               if ((*s)->presentation_info().selected()) {
+                       RouteTimeAxisView* rtav = get_route_view_by_route_id ((*s)->id());
+                       if (rtav) {
+                               tl.push_back (rtav);
+                       }
+               }
+       }
+       if (!tl.empty()) {
+               selection->set (tl);
+       }
+
        /* register for undo history */
        _session->register_with_memento_command_factory(id(), this);
        _session->register_with_memento_command_factory(_selection_memento->id(), _selection_memento);