From 4dc65e6613a375a836de4dd9901ac50a4ab43be6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 6 Dec 2018 02:23:53 +0100 Subject: [PATCH] Prefer testing the session instead of using a global variable --- gtk2_ardour/ardour_ui.cc | 8 -------- gtk2_ardour/ardour_ui.h | 1 - gtk2_ardour/ardour_ui_dialogs.cc | 5 ++--- gtk2_ardour/editor.cc | 2 +- gtk2_ardour/session_dialog.cc | 2 +- 5 files changed, 4 insertions(+), 14 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 2de87e0904..6dd659420c 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -272,7 +272,6 @@ libxml_structured_error_func (void* /* parsing_context*/, ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) : Gtkmm2ext::UI (PROGRAM_NAME, X_("gui"), argcp, argvp) - , session_loaded (false) , session_load_in_progress (false) , gui_object_state (new GUIObjectState) , primary_clock (new MainClock (X_("primary"), X_("transport"), true )) @@ -3547,8 +3546,6 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, } } - session_loaded = false; - loading_message (string_compose (_("Please wait while %1 loads your session"), PROGRAM_NAME)); try { @@ -3658,8 +3655,6 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, set_session (new_session); - session_loaded = true; - if (_session) { _session->set_clean (); } @@ -3703,7 +3698,6 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, Session *new_session; int x; - session_loaded = false; x = unload_session (); if (x < 0) { @@ -3768,8 +3762,6 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, set_session (new_session); - session_loaded = true; - new_session->save_state(new_session->name()); return 0; diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index d570dc79bb..62a81a6a00 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -195,7 +195,6 @@ public: void finish(); int load_session (const std::string& path, const std::string& snapshot, std::string mix_template = std::string()); - bool session_loaded; bool session_load_in_progress; int build_session (const std::string& path, const std::string& snapshot, ARDOUR::BusProfile*); bool session_is_new() const { return _session_is_new; } diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index ed0319b614..7a8366517e 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -337,10 +337,9 @@ ARDOUR_UI::unload_session (bool hide_stuff) blink_connection.disconnect (); - delete _session; + ARDOUR::Session* session_to_delete = _session; _session = 0; - - session_loaded = false; + delete session_to_delete; update_title (); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index ef301370c6..b0b58d6c7f 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -983,7 +983,7 @@ Editor::set_entered_track (TimeAxisView* tav) void Editor::instant_save () { - if (!constructed || !ARDOUR_UI::instance()->session_loaded || no_save_instant) { + if (!constructed || no_save_instant) { return; } diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc index 489e52fac6..6959d23d66 100644 --- a/gtk2_ardour/session_dialog.cc +++ b/gtk2_ardour/session_dialog.cc @@ -666,7 +666,7 @@ SessionDialog::setup_new_session_page () //determine the text in the new folder selector if (!ARDOUR_COMMAND_LINE::session_name.empty()) { new_folder_chooser.set_current_folder (poor_mans_glob (Glib::path_get_dirname (ARDOUR_COMMAND_LINE::session_name))); - } else if (ARDOUR_UI::instance()->session_loaded) { + } else if (ARDOUR_UI::instance()->the_session ()) { // point the new session file chooser at the parent directory of the current session string session_parent_dir = Glib::path_get_dirname(ARDOUR_UI::instance()->the_session()->path()); new_folder_chooser.set_current_folder (session_parent_dir); -- 2.30.2