13
0

tweak to make it more likely (hopefully 100% certain) that the splash window is fully drawn before we return control to the main event loop. do this by making sure that the idle handler that says "the expose happened" executes AFTER GDK's internal idle-update mechanism, not before it

git-svn-id: svn://localhost/ardour2/branches/3.0@13605 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-12-05 23:58:27 +00:00
parent 082461f108
commit 6dfce5dbfc

View File

@ -147,8 +147,12 @@ Splash::expose (GdkEventExpose* ev)
Glib::RefPtr<Gdk::GC> white = style->get_white_gc();
window->draw_layout (white, 10, pixbuf->get_height() - 30, layout);
/* this must execute AFTER the GDK idle update mechanism
*/
Glib::signal_idle().connect (sigc::mem_fun (this, &Splash::idle_after_expose));
Glib::signal_idle().connect (sigc::mem_fun (this, &Splash::idle_after_expose),
GDK_PRIORITY_REDRAW+2);
return true;
}
@ -197,7 +201,7 @@ Splash::message (const string& msg)
if (win) {
expose_done = false;
win->invalidate_rect (Gdk::Rectangle (0, darea.get_height() - 30, darea.get_width(), 30), true);
while (!expose_done) {