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:
@@ -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()
|
||||
|
Reference in New Issue
Block a user