server: Always repaint the whole non-client area if part of it is exposed.

This commit is contained in:
Alexandre Julliard 2012-09-04 13:37:46 +02:00
parent 2dc234d923
commit a76f60d14e
1 changed files with 8 additions and 0 deletions

View File

@ -1631,6 +1631,14 @@ static void set_window_pos( struct window *win, struct window *previous,
client_rect->bottom - old_client_rect.bottom != y_offset ||
!valid_rects ||
memcmp( &valid_rects[0], client_rect, sizeof(*client_rect) ));
/* if part of the non-client area was exposed, consider it changed */
if (exposed_rgn && !frame_changed)
{
get_region_extents( exposed_rgn, &rect );
offset_rect( &rect, client_rect->left, client_rect->top );
frame_changed = (rect.left < client_rect->left || rect.top < client_rect->top ||
rect.right > client_rect->right || rect.bottom > client_rect->bottom);
}
}
if (frame_changed || client_changed)