Module: wine Branch: master Commit: 5942625a003f5f01a31b05561ca91d9f2fc1b486 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5942625a003f5f01a31b05561c...
Author: Huw Davies huw@codeweavers.com Date: Mon Sep 5 10:45:12 2016 +0100
user32/tests: On Win 8 and later, moving a window off-screen doesn't crop its update region.
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/tests/msg.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index d4ca828..72614eb 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -6644,7 +6644,7 @@ static const struct message WmSetParentStyle[] = { static void test_paint_messages(void) { BOOL ret; - RECT rect; + RECT rect, rect2; POINT pt; MSG msg; HWND hparent, hchild; @@ -7184,15 +7184,21 @@ static void test_paint_messages(void) SetRectRgn( hrgn, 10, 10, 40, 40 ); check_update_rgn( hchild, hrgn ); MoveWindow( hparent, -20, -20, 200, 200, FALSE ); - SetRectRgn( hrgn, 20, 20, 100, 100 ); + GetUpdateRect( hparent, &rect2, FALSE ); + if (!EqualRect( &rect2, &rect )) /* Win 8 and later don't crop update to screen */ + { + rect.left += 20; + rect.top += 20; + } + SetRectRgn( hrgn, rect.left, rect.top, rect.right, rect.bottom ); check_update_rgn( hparent, hrgn ); - SetRectRgn( hrgn, 30, 30, 40, 40 ); + SetRectRgn( hrgn, rect.left + 10, rect.top + 10, 40, 40 ); check_update_rgn( hchild, hrgn );
/* invalidated region is cropped by the parent rects */ SetRect( &rect, 0, 0, 50, 50 ); RedrawWindow( hchild, &rect, 0, RDW_INVALIDATE | RDW_ERASE ); - SetRectRgn( hrgn, 30, 30, 50, 50 ); + SetRectRgn( hrgn, rect2.left + 10, rect2.top + 10, 50, 50 ); check_update_rgn( hchild, hrgn );
DestroyWindow( hparent );