[PATCH 0/6] MR9412: winex11: Flush requests in cursor and IME functions.
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/mouse.c | 2 +- dlls/winex11.drv/x11drv.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c index 6107b1679be..06ae2079241 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -194,7 +194,7 @@ static Cursor get_empty_cursor(void) /*********************************************************************** * set_window_cursor */ -void set_window_cursor( Window window, HCURSOR handle ) +static void set_window_cursor( Window window, HCURSOR handle ) { Cursor cursor, prev; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 21266eb6018..431c8e750bd 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -732,7 +732,6 @@ extern XContext cursor_context; extern BOOL is_current_process_focused(void); extern void X11DRV_ActivateWindow( HWND hwnd, HWND previous ); -extern void set_window_cursor( Window window, HCURSOR handle ); extern void reapply_cursor_clipping(void); extern void ungrab_clipping_window(void); extern void move_resize_window( HWND hwnd, int dir, POINT pos ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/window.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 843d0f36118..4584f4c9efa 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -3031,7 +3031,6 @@ void X11DRV_SetCapture( HWND hwnd, UINT flags ) if (!(data = get_win_data( NtUserGetAncestor( hwnd, GA_ROOT )))) return; if (data->whole_window) { - XFlush( gdi_display ); XGrabPointer( data->display, data->whole_window, False, PointerMotionMask | ButtonPressMask | ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime ); @@ -3042,7 +3041,6 @@ void X11DRV_SetCapture( HWND hwnd, UINT flags ) else /* release capture */ { if (!(data = get_win_data( thread_data->grab_hwnd ))) return; - XFlush( gdi_display ); XUngrabPointer( data->display, CurrentTime ); XFlush( data->display ); thread_data->grab_hwnd = NULL; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/mouse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c index 06ae2079241..1ddd3027e88 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -1438,8 +1438,8 @@ BOOL X11DRV_GetCursorPos(LPPOINT pos) */ BOOL X11DRV_ClipCursor( const RECT *clip, BOOL reset ) { - if (!reset && clip && grab_clipping_window( clip )) return TRUE; - ungrab_clipping_window(); + if (reset || !clip || !grab_clipping_window( clip )) ungrab_clipping_window(); + XFlush( x11drv_thread_data()->display ); return TRUE; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/window.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 4584f4c9efa..55a81ba8f88 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -3034,6 +3034,7 @@ void X11DRV_SetCapture( HWND hwnd, UINT flags ) XGrabPointer( data->display, data->whole_window, False, PointerMotionMask | ButtonPressMask | ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime ); + XFlush( data->display ); thread_data->grab_hwnd = data->hwnd; } release_win_data( data ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/xim.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c index ef09356fbb0..347f8254340 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c @@ -330,6 +330,7 @@ void X11DRV_NotifyIMEStatus( HWND hwnd, UINT status ) } if (!status) XFree( XmbResetIC( xic ) ); + XFlush( x11drv_thread_data()->display ); } /*********************************************************************** -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/xim.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c index 347f8254340..05ef7863a8c 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c @@ -553,6 +553,7 @@ BOOL X11DRV_SetIMECompositionRect( HWND hwnd, RECT rect ) XFree( attr ); } + XFlush( data->display ); release_win_data( data ); return TRUE; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9412
participants (1)
-
Rémi Bernon