From 4c7b8ca524e6aab75bfc96b04de3dd4cccc4e86b Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 4 Feb 2010 17:27:19 +0100 Subject: [PATCH] winex11: Update the window shape offset when the window rect changes. --- dlls/winex11.drv/window.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 1dfecceeee8..f466cd1d06b 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1326,6 +1326,15 @@ static void sync_window_position( Display *display, struct x11drv_win_data *data data->configure_serial = NextRequest( display ); XReconfigureWMWindow( display, data->whole_window, DefaultScreen(display), mask, &changes ); +#ifdef HAVE_LIBXSHAPE + if (data->shaped) + { + int x_offset = old_whole_rect->left - data->whole_rect.left; + int y_offset = old_whole_rect->top - data->whole_rect.top; + if (x_offset || y_offset) + XShapeOffsetShape( display, data->whole_window, ShapeBounding, x_offset, y_offset ); + } +#endif wine_tsx11_unlock(); TRACE( "win %p/%lx pos %d,%d,%dx%d after %lx changes=%x serial=%lu\n",