From a68e02b7c75bc69f6fa8281de72b9d5ba91e050c Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 3 Nov 2009 14:39:50 +0100 Subject: [PATCH] Flush outstanding stuff when clearing directly on a window Clearing will directly modify the contents of the window, so we need to flush any outstanding moves or double-buffering. (cherry picked from commit 8c1ea38d84468a9098e88573ba714cbbe3c80ed5) --- gdk/gdkwindow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2bb55518fc..d5b427f3fd 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4431,6 +4431,10 @@ gdk_window_clear_region_internal (GdkWindow *window, gdk_region_intersect (copy, private->clip_region_with_children); + + /* Drawing directly to the window, flush anything outstanding to + guarantee ordering. */ + gdk_window_flush (window); impl_iface->clear_region (window, copy, send_expose); gdk_region_destroy (copy);