Yet Another Splash Push/Pop Fix
Don't explicitly `show()` the splash when a message arrives. On macOS and Windows the splash is not z-axis re-stacked but hidden. Calling show() makes it visible again.
This commit is contained in:
parent
b01fe8b0e4
commit
f715edf7bc
@ -118,6 +118,7 @@ void
|
||||
ArdourDialog::on_unmap ()
|
||||
{
|
||||
Keyboard::the_keyboard().leave_window (0, this);
|
||||
pop_splash ();
|
||||
Dialog::on_unmap ();
|
||||
}
|
||||
|
||||
@ -131,10 +132,8 @@ ArdourDialog::on_show ()
|
||||
if (Splash::exists()) {
|
||||
Splash* spl = Splash::instance();
|
||||
|
||||
if (spl->is_visible()) {
|
||||
spl->pop_back_for (*this);
|
||||
_splash_pushed = true;
|
||||
}
|
||||
spl->pop_back_for (*this);
|
||||
_splash_pushed = true;
|
||||
}
|
||||
|
||||
_sensitive = true;
|
||||
|
@ -165,6 +165,9 @@ Splash::pop_front_for (Gtk::Window& win)
|
||||
#else
|
||||
_window_stack.erase (&win);
|
||||
#endif
|
||||
if (_window_stack.empty ()) {
|
||||
display ();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@ -247,7 +250,7 @@ Splash::expose (GdkEventExpose* ev)
|
||||
void
|
||||
Splash::boot_message (std::string msg)
|
||||
{
|
||||
if (!is_visible()) {
|
||||
if (!is_visible() && _window_stack.empty ()) {
|
||||
display ();
|
||||
}
|
||||
message (msg);
|
||||
@ -290,8 +293,6 @@ Splash::message (const string& msg)
|
||||
str += Gtkmm2ext::markup_escape_text (msg);
|
||||
str += "</b>";
|
||||
|
||||
show ();
|
||||
|
||||
layout->set_markup (str);
|
||||
Glib::RefPtr<Gdk::Window> win = darea.get_window();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user