From 5252e3a4cb7061a086052195d64514af47caa35a Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Mon, 7 May 2012 15:04:59 +0300 Subject: xwayland: fix pointer enter/leave Signed-off-by: Tiago Vignatti --- hw/xfree86/xwayland/xwayland-input.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/hw/xfree86/xwayland/xwayland-input.c b/hw/xfree86/xwayland/xwayland-input.c index 79def3bdb..7cc7a1f37 100644 --- a/hw/xfree86/xwayland/xwayland-input.c +++ b/hw/xfree86/xwayland/xwayland-input.c @@ -353,17 +353,10 @@ input_device_handle_pointer_enter(void *data, xwl_input_device->xwl_screen->serial = serial; xwl_input_device->pointer_enter_serial = serial; - if (surface) - xwl_input_device->focus_window = wl_surface_get_user_data(surface); - else - xwl_input_device->focus_window = NULL; + xwl_input_device->focus_window = wl_surface_get_user_data(surface); - if (xwl_input_device->focus_window) - SetDeviceRedirectWindow(xwl_input_device->pointer, - xwl_input_device->focus_window->window); - else - SetDeviceRedirectWindow(xwl_input_device->pointer, - PointerRootWin); + SetDeviceRedirectWindow(xwl_input_device->pointer, + xwl_input_device->focus_window->window); } static void @@ -414,6 +407,9 @@ input_device_handle_pointer_leave(void *data, struct xwl_input_device *xwl_input_device = data; xwl_input_device->xwl_screen->serial = serial; + + xwl_input_device->focus_window = NULL; + SetDeviceRedirectWindow(xwl_input_device->pointer, PointerRootWin); } static void -- cgit v1.2.3