wineserver: Validate the children of windows being hidden.
Prevents paint_count values from being skewed when hiding windows.
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 @@
}
+/* 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 @@
{
/* clear the update region since the window is no longer visible */
validate_whole_window( win );
+ validate_children( win );
goto done;
}