fix drawing from Update() being overwritten, fixes wxBusyInfo not drawing properly without wxYield

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2009-02-01 06:20:54 +00:00
parent 6d8978f030
commit ab0c1a3c15
2 changed files with 10 additions and 15 deletions

View File

@@ -3570,13 +3570,16 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground),
void wxWindowGTK::Update()
{
GtkUpdate();
// when we call Update() we really want to update the window immediately on
// screen, even if it means flushing the entire queue and hence slowing down
// everything -- but it should still be done, it's just that Update() should
// be called very rarely
gdk_flush();
if (m_widget)
{
GdkDisplay* display = gtk_widget_get_display(m_widget);
// Flush everything out to the server, and wait for it to finish.
// This ensures nothing will overwrite the drawing we are about to do.
gdk_display_sync(display);
GtkUpdate();
// Flush again, but no need to wait for it to finish
gdk_display_flush(display);
}
}
void wxWindowGTK::GtkUpdate()