Alexandre Julliard : winex11: Fix exposing partially off-screen windows.

Alexandre Julliard julliard at winehq.org
Thu Jun 14 16:53:23 CDT 2018


Module: wine
Branch: master
Commit: 3a728361368cf810b9c73f4874cf90da41f881b2
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3a728361368cf810b9c73f4874cf90da41f881b2

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun 14 13:19:50 2018 +0200

winex11: Fix exposing partially off-screen windows.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/bitblt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/winex11.drv/bitblt.c b/dlls/winex11.drv/bitblt.c
index 165633c..0343d96 100644
--- a/dlls/winex11.drv/bitblt.c
+++ b/dlls/winex11.drv/bitblt.c
@@ -2092,11 +2092,13 @@ HRGN expose_surface( struct window_surface *window_surface, const RECT *rect )
 {
     struct x11drv_window_surface *surface = get_x11_surface( window_surface );
     HRGN region = 0;
+    RECT rc = *rect;
 
     if (window_surface->funcs != &x11drv_surface_funcs) return 0;  /* we may get the null surface */
 
     window_surface->funcs->lock( window_surface );
-    add_bounds_rect( &surface->bounds, rect );
+    OffsetRect( &rc, -window_surface->rect.left, -window_surface->rect.top );
+    add_bounds_rect( &surface->bounds, &rc );
     if (surface->region)
     {
         region = CreateRectRgnIndirect( rect );




More information about the wine-cvs mailing list