server: Validate the parents every time we paint a window instead of only on RDW_UPDATENOW.
This commit is contained in:
parent
0c4f152ec7
commit
149cbb1b60
|
@ -160,6 +160,9 @@ static BOOL redraw_window_rects( HWND hwnd, UINT flags, const RECT *rects, UINT
|
|||
{
|
||||
BOOL ret;
|
||||
|
||||
if (!(flags & (RDW_INVALIDATE|RDW_VALIDATE|RDW_INTERNALPAINT|RDW_NOINTERNALPAINT)))
|
||||
return TRUE; /* nothing to do */
|
||||
|
||||
SERVER_START_REQ( redraw_window )
|
||||
{
|
||||
req->window = hwnd;
|
||||
|
|
|
@ -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 )
|
||||
{
|
||||
int offset_x = 0, offset_y = 0;
|
||||
|
@ -1137,12 +1137,6 @@ static void redraw_window( struct window *win, struct region *region, int frame,
|
|||
inc_window_paint_count( win, -1 );
|
||||
}
|
||||
|
||||
if (flags & RDW_UPDATENOW)
|
||||
{
|
||||
validate_parents( win );
|
||||
flags &= ~RDW_UPDATENOW;
|
||||
}
|
||||
|
||||
/* now process children recursively */
|
||||
|
||||
if (flags & RDW_NOCHILDREN) return;
|
||||
|
@ -1982,6 +1976,7 @@ DECL_HANDLER(get_update_region)
|
|||
|
||||
if (reply->flags & (UPDATE_PAINT|UPDATE_INTERNALPAINT)) /* validate everything */
|
||||
{
|
||||
validate_parents( win );
|
||||
validate_whole_window( win );
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue