Alexandre Julliard : server: Always repaint the whole non-client area if part of it is exposed.
Alexandre Julliard
julliard at winehq.org
Tue Sep 4 12:38:36 CDT 2012
Module: wine
Branch: master
Commit: a76f60d14ef8f30063219f9b333d88e24f7d5865
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a76f60d14ef8f30063219f9b333d88e24f7d5865
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Sep 4 13:37:46 2012 +0200
server: Always repaint the whole non-client area if part of it is exposed.
---
server/window.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/server/window.c b/server/window.c
index fefe1ac..b6fcde0 100644
--- a/server/window.c
+++ b/server/window.c
@@ -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)
More information about the wine-cvs
mailing list