Commit 149cbb1b authored by Alexandre Julliard's avatar Alexandre Julliard

server: Validate the parents every time we paint a window instead of only on RDW_UPDATENOW.

parent 0c4f152e
...@@ -160,6 +160,9 @@ static BOOL redraw_window_rects( HWND hwnd, UINT flags, const RECT *rects, UINT ...@@ -160,6 +160,9 @@ static BOOL redraw_window_rects( HWND hwnd, UINT flags, const RECT *rects, UINT
{ {
BOOL ret; BOOL ret;
if (!(flags & (RDW_INVALIDATE|RDW_VALIDATE|RDW_INTERNALPAINT|RDW_NOINTERNALPAINT)))
return TRUE; /* nothing to do */
SERVER_START_REQ( redraw_window ) SERVER_START_REQ( redraw_window )
{ {
req->window = hwnd; req->window = hwnd;
......
...@@ -1051,7 +1051,7 @@ static void validate_children( struct window *win ) ...@@ -1051,7 +1051,7 @@ static void validate_children( struct window *win )
} }
/* validate the update region of a window on all parents; helper for redraw_window */ /* validate the update region of a window on all parents; helper for get_update_region */
static void validate_parents( struct window *child ) static void validate_parents( struct window *child )
{ {
int offset_x = 0, offset_y = 0; int offset_x = 0, offset_y = 0;
...@@ -1137,12 +1137,6 @@ static void redraw_window( struct window *win, struct region *region, int frame, ...@@ -1137,12 +1137,6 @@ static void redraw_window( struct window *win, struct region *region, int frame,
inc_window_paint_count( win, -1 ); inc_window_paint_count( win, -1 );
} }
if (flags & RDW_UPDATENOW)
{
validate_parents( win );
flags &= ~RDW_UPDATENOW;
}
/* now process children recursively */ /* now process children recursively */
if (flags & RDW_NOCHILDREN) return; if (flags & RDW_NOCHILDREN) return;
...@@ -1982,6 +1976,7 @@ DECL_HANDLER(get_update_region) ...@@ -1982,6 +1976,7 @@ DECL_HANDLER(get_update_region)
if (reply->flags & (UPDATE_PAINT|UPDATE_INTERNALPAINT)) /* validate everything */ if (reply->flags & (UPDATE_PAINT|UPDATE_INTERNALPAINT)) /* validate everything */
{ {
validate_parents( win );
validate_whole_window( win ); validate_whole_window( win );
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment