From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/event.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 8a60e817802..1ae7afd2fa4 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -1075,6 +1075,13 @@ static BOOL X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev ) host_window_configure_child( data->parent, data->whole_window, rect, event->send_event ); } + /* synthetic events are already in absolute coordinates */ + if (!event->send_event) pos = host_window_map_point( data->parent, event->x, event->y ); + else if (is_virtual_desktop()) FIXME( "synthetic event mapping not implemented\n" ); + + pos = root_to_virtual_screen( pos.x, pos.y ); + SetRect( &rect, pos.x, pos.y, pos.x + event->width, pos.y + event->height ); + if (!data->mapped || data->iconic) goto done; if (!data->whole_window || !data->managed) goto done; if (data->configure_serial && (long)(data->configure_serial - event->serial) > 0) @@ -1085,12 +1092,6 @@ static BOOL X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev ) goto done; } - /* synthetic events are already in absolute coordinates */ - if (!event->send_event) pos = host_window_map_point( data->parent, event->x, event->y ); - else if (is_virtual_desktop()) FIXME( "synthetic event mapping not implemented\n" ); - - pos = root_to_virtual_screen( pos.x, pos.y ); - SetRect( &rect, pos.x, pos.y, pos.x + event->width, pos.y + event->height ); rect = window_rect_from_visible( &data->rects, rect ); TRACE( "win %p/%lx new X rect %d,%d,%dx%d (event %d,%d,%dx%d)\n", -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6716