remove the splash-screen when changing sessions
authorRobin Gareus <robin@gareus.org>
Tue, 26 Apr 2016 11:03:47 +0000 (13:03 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 26 Apr 2016 11:03:47 +0000 (13:03 +0200)
ARDOUR_UI::load_session()'s loading_message() shows the splash in
all cases. But only the initial ARDOUR_UI::starting() does destroy it.

In some cases we got away because the Engine Dialog pops back the
splash and the dialog is never destroyed (only hidden).
It's not until ~Dialog that the splash is displayed again (if it exists).

gtk2_ardour/ardour_ui.cc

index 006f0616f352f6fe12b6a31859d7824295b5e638..cd2411430ec7fe81b40215af603ada1df84a9382 100644 (file)
@@ -1714,6 +1714,10 @@ ARDOUR_UI::open_recent_session ()
 
                can_return = false;
        }
+       if (splash && splash->is_visible()) {
+               // in 1 second, hide the splash screen
+               Glib::signal_timeout().connect (sigc::bind (sigc::ptr_fun (_hide_splash), this), 1000);
+       }
 }
 
 bool
@@ -3272,6 +3276,10 @@ ARDOUR_UI::close_session()
        if (get_session_parameters (true, false)) {
                exit (1);
        }
+       if (splash && splash->is_visible()) {
+               // in 1 second, hide the splash screen
+               Glib::signal_timeout().connect (sigc::bind (sigc::ptr_fun (_hide_splash), this), 1000);
+       }
 }
 
 /** @param snap_name Snapshot name (without .ardour suffix).