[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