From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/user32/tests/dce.c | 3 +-- dlls/win32u/dce.c | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/dce.c b/dlls/user32/tests/dce.c index e9cc9817432..ccc7b03e273 100644 --- a/dlls/user32/tests/dce.c +++ b/dlls/user32/tests/dce.c @@ -521,7 +521,7 @@ static void test_begin_paint(void) ok( rect.bottom == parent_rect.bottom, "rect.bottom = %ld, expected %ld\n", rect.bottom, parent_rect.bottom );
hdc = GetDC( hwnd_parent ); - todo_wine ok( GetPixel( hdc, 60, 60 ) == cr, "error drawing outside of window client area\n" ); + ok( GetPixel( hdc, 60, 60 ) == cr, "error drawing outside of window client area\n" ); ReleaseDC( hwnd_parent, hdc ); }
@@ -566,7 +566,6 @@ static void test_cropped_parentdc_paint_clipbox(void)
hdc = GetDC( hwnd_container ); MapWindowPoints( hwnd_child, hwnd_container, &dot_pos, 1 ); - todo_wine ok( GetPixel( hdc, dot_pos.x, dot_pos.y ) == cr, "error drawing outside of window client area\n" ); ReleaseDC( hwnd_container, hdc );
diff --git a/dlls/win32u/dce.c b/dlls/win32u/dce.c index 93107f93930..58d7c30ee4e 100644 --- a/dlls/win32u/dce.c +++ b/dlls/win32u/dce.c @@ -420,6 +420,11 @@ static void update_visible_region( struct dce *dce ) top_win = wine_server_ptr_handle( reply->top_win ); win_rect = wine_server_get_rect( reply->win_rect ); top_rect = wine_server_get_rect( reply->top_rect ); + if (flags & DCX_PARENTCLIP) + { + win_rect.right = top_rect.right; + win_rect.bottom = top_rect.bottom; + } paint_flags = reply->paint_flags; } else size = reply->total_size;