vtl: rework session-needs-save logic
[ardour.git] / gtk2_ardour / ardour_ui.cc
index 83931816be1780d98b50576c514cd83059036b24..b7cccbfaa5f06d1f5229179932402feb1db3204c 100644 (file)
@@ -834,13 +834,10 @@ ARDOUR_UI::idle_finish ()
 void
 ARDOUR_UI::finish()
 {
+       if (_session) {
 #ifdef WITH_VIDEOTIMELINE
-       /* close video-monitor & pending requests
-        * would better be done in ~Editor() but that is not called..
-        */
-       ARDOUR_UI::instance()->video_timeline->close_session();
+               ARDOUR_UI::instance()->video_timeline->sync_session_state();
 #endif
-       if (_session) {
 
                if (_session->dirty()) {
                        vector<string> actions;
@@ -849,7 +846,6 @@ ARDOUR_UI::finish()
                        actions.push_back (_("Save and quit"));
                        switch (ask_about_saving_session(actions)) {
                        case -1:
-                               ARDOUR_UI::instance()->video_timeline->set_session(_session);
                                return;
                                break;
                        case 1:
@@ -2558,7 +2554,7 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
         */
 #ifdef WITH_VIDEOTIMELINE
        if (_session && ARDOUR_UI::instance()->video_timeline) {
-               ARDOUR_UI::instance()->video_timeline->close_session();
+               ARDOUR_UI::instance()->video_timeline->sync_session_state();
        }
 #endif
        if (_session && _session->dirty()) {
@@ -2745,9 +2741,6 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
 void
 ARDOUR_UI::close_session()
 {
-#ifdef WITH_VIDEOTIMELINE
-       ARDOUR_UI::instance()->video_timeline->close_session();
-#endif
        if (!check_audioengine()) {
                return;
        }