diff options
author | Tiago Vignatti <tiago.vignatti@intel.com> | 2012-05-07 15:04:59 +0300 |
---|---|---|
committer | Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> | 2012-06-13 15:26:20 +1000 |
commit | 31c3f5f87c11f2b4d60f41d2b470e4f4d8602b07 (patch) | |
tree | 700f6cf84d2ba914020e0141d74a3e603d6607f3 | |
parent | 736844ca7b9db8671f91e15dd315ab5db73e8034 (diff) |
xwayland: fix pointer enter/leave
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
-rw-r--r-- | hw/xfree86/xwayland/xwayland-input.c | 16 |
1 files 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 |