Ulrich Czekalla : wineserver: Validate the children of windows being hidden .

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 26 07:46:59 CST 2007


Module: wine
Branch: master
Commit: cae37b18fd7462bfe965cb7689dcf2629055da6a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cae37b18fd7462bfe965cb7689dcf2629055da6a

Author: Ulrich Czekalla <ulrich.czekalla at utoronto.ca>
Date:   Thu Jan 25 08:57:14 2007 -0500

wineserver: Validate the children of windows being hidden.

Prevents paint_count values from being skewed when hiding windows.

---

 server/window.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/server/window.c b/server/window.c
index 9fee775..c526185 100644
--- a/server/window.c
+++ b/server/window.c
@@ -1037,6 +1037,20 @@ static void validate_whole_window( struc
 }
 
 
+/* validate a window's children so that we don't get any further paint messages for it */
+static void validate_children( struct window *win )
+{
+    struct window *child;
+
+    LIST_FOR_EACH_ENTRY( child, &win->children, struct window, entry )
+    {
+        if (!(child->style & WS_VISIBLE)) continue;
+        validate_children(child);
+        validate_whole_window(child);
+    }
+}
+
+
 /* validate the update region of a window on all parents; helper for redraw_window */
 static void validate_parents( struct window *child )
 {
@@ -1370,6 +1384,7 @@ static void set_window_pos( struct windo
     {
         /* clear the update region since the window is no longer visible */
         validate_whole_window( win );
+        validate_children( win );
         goto done;
     }
 




More information about the wine-cvs mailing list