Ulrich Czekalla : wineserver: Validate the children of windows being hidden .
Module: wine Branch: master Commit: cae37b18fd7462bfe965cb7689dcf2629055da6a URL: http://source.winehq.org/git/wine.git/?a=commit;h=cae37b18fd7462bfe965cb7689... Author: Ulrich Czekalla <ulrich.czekalla(a)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; }
participants (1)
-
Alexandre Julliard