[PATCH v4 4/4] server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
Jinoh Kang
wine at gitlab.winehq.org
Thu Jun 16 20:42:10 CDT 2022
From: Jinoh Kang <jinoh.kang.kr at gmail.com>
This partly reverts e42eaaaf3a873d29b14f8f3a3617df2d0d4210ca.
Signed-off-by: Jinoh Kang <jinoh.kang.kr at gmail.com>
---
dlls/user32/tests/msg.c | 4 ----
server/window.c | 6 ++----
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 991f1c22076..551d1bea44f 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -9294,8 +9294,6 @@ static void subtest_swp_paint_regions_( int line, int wrap_toplevel, LPCSTR pare
CombineRgn( hrgn_expect, hrgn_old_vis, hrgn_new_vis, RGN_DIFF );
rgn_equal = EqualRgn( hrgn_expect, hrgn_actual );
}
- todo_wine_if( !EqualRect( &rect_old, &rect_new ) &&
- (extest->style & WS_CLIPCHILDREN) == 0 && !is_composited )
ok( !!rgn_equal, "Parent update region shall match expected region\n" );
if (!rgn_equal && winetest_debug > 0)
@@ -9353,8 +9351,6 @@ static void subtest_swp_paint_regions_( int line, int wrap_toplevel, LPCSTR pare
CombineRgn( hrgn_expect_child, hrgn_new_vis_child, hrgn_old_vis_child, RGN_DIFF );
rgn_equal = EqualRgn( hrgn_expect, hrgn_actual );
}
- todo_wine_if( !EqualRect( &rect_old, &rect_new ) &&
- (extest->style & WS_CLIPCHILDREN) == 0 && !is_composited )
ok( !!rgn_equal, "Child update region shall match expected region\n" );
if (!rgn_equal && winetest_debug > 0)
diff --git a/server/window.c b/server/window.c
index 7e418b7b3fa..464967084c2 100644
--- a/server/window.c
+++ b/server/window.c
@@ -1754,10 +1754,8 @@ static struct region *expose_window( struct window *win, const rectangle_t *old_
offset_region( new_vis_rgn, win->window_rect.left - old_window_rect->left,
win->window_rect.top - old_window_rect->top );
- if (is_composited ? union_region( new_vis_rgn, old_vis_rgn, new_vis_rgn ) :
- (win->parent->style & WS_CLIPCHILDREN) ?
- subtract_region( new_vis_rgn, old_vis_rgn, new_vis_rgn ) :
- xor_region( new_vis_rgn, old_vis_rgn, new_vis_rgn ))
+ if (is_composited ? union_region( new_vis_rgn, old_vis_rgn, new_vis_rgn )
+ : subtract_region( new_vis_rgn, old_vis_rgn, new_vis_rgn ))
{
if (!is_region_empty( new_vis_rgn ))
{
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/231
More information about the wine-devel
mailing list