Wei xie : winex11: Avoid deadlock when setting cursor.

Alexandre Julliard julliard at winehq.org
Thu Mar 29 19:13:28 CDT 2018


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

Author: Wei xie <xiewei at linuxdeepin.com>
Date:   Tue Mar 27 14:00:07 2018 +0800

winex11: Avoid deadlock when setting cursor.

Signed-off-by: Wei xie <xiewei at linuxdeepin.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

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

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 6d79f06..fff3f5c 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2712,8 +2712,9 @@ LRESULT CDECL X11DRV_WindowMessage( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
     case WM_X11DRV_SET_CURSOR:
         if ((data = get_win_data( hwnd )))
         {
-            if (data->whole_window) set_window_cursor( data->whole_window, (HCURSOR)lp );
+            Window win = data->whole_window;
             release_win_data( data );
+            if (win) set_window_cursor( win, (HCURSOR)lp );
         }
         else if (hwnd == x11drv_thread_data()->clip_hwnd)
             set_window_cursor( x11drv_thread_data()->clip_window, (HCURSOR)lp );




More information about the wine-cvs mailing list