Signed-off-by: Derek Lesho dereklesho52@Gmail.com --- dlls/winex11.drv/event.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 6054f645c4..30988be028 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -762,7 +762,11 @@ static BOOL X11DRV_FocusIn( HWND hwnd, XEvent *xev ) TRACE( "win %p xwin %lx detail=%s\n", hwnd, event->window, focus_details[event->detail] );
if (event->detail == NotifyPointer) return FALSE; - if (hwnd == GetDesktopWindow()) return FALSE; + if (hwnd == GetDesktopWindow()) + { + X11DRV_XInput2_Enable(); + return FALSE; + }
if ((xic = X11DRV_get_ic( hwnd ))) XSetICFocus( xic ); if (use_take_focus) @@ -800,7 +804,11 @@ static void focus_out( Display *display , HWND hwnd )
if (root_window != DefaultRootWindow(display)) { - if (hwnd == GetDesktopWindow()) reset_clipping_window(); + if (hwnd == GetDesktopWindow()) + { + reset_clipping_window(); + X11DRV_XInput2_Disable(); + } return; } if (hwnd != GetForegroundWindow()) return;