diff options
author | Tiago Vignatti <tiago.vignatti@intel.com> | 2012-04-16 17:31:50 +0300 |
---|---|---|
committer | Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> | 2012-06-13 15:26:20 +1000 |
commit | adb95f95137926fc71041856279e34b1ec7cd14e (patch) | |
tree | f1e288e010d2732216cc80f699c3c4765ccca609 | |
parent | c982cc9397093c322a65aa88ca155fc7bfbd0787 (diff) |
xwayland: follow wayland change to serial numbers
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
-rw-r--r-- | hw/xfree86/xwayland/xwayland-cursor.c | 2 | ||||
-rw-r--r-- | hw/xfree86/xwayland/xwayland-input.c | 42 | ||||
-rw-r--r-- | hw/xfree86/xwayland/xwayland-private.h | 3 |
3 files changed, 27 insertions, 20 deletions
diff --git a/hw/xfree86/xwayland/xwayland-cursor.c b/hw/xfree86/xwayland/xwayland-cursor.c index eae11ab70..f53ef94ca 100644 --- a/hw/xfree86/xwayland/xwayland-cursor.c +++ b/hw/xfree86/xwayland/xwayland-cursor.c @@ -169,7 +169,7 @@ xwl_set_cursor(DeviceIntPtr device, buffer = dixGetPrivate(&cursor->devPrivates, &xwl_cursor_private_key); wl_input_device_attach(xwl_input_device->input_device, - xwl_input_device->time, buffer, + xwl_input_device->pointer_enter_serial, buffer, cursor->bits->xhot, cursor->bits->yhot); } diff --git a/hw/xfree86/xwayland/xwayland-input.c b/hw/xfree86/xwayland/xwayland-input.c index ea63607c5..759970977 100644 --- a/hw/xfree86/xwayland/xwayland-input.c +++ b/hw/xfree86/xwayland/xwayland-input.c @@ -268,15 +268,12 @@ device_added(struct xwl_input_device *xwl_input_device, const char *driver) static void input_device_handle_motion(void *data, struct wl_input_device *input_device, - uint32_t time, - int32_t x, int32_t y, int32_t sx, int32_t sy) + uint32_t time, int32_t sx, int32_t sy) { struct xwl_input_device *xwl_input_device = data; struct xwl_screen *xwl_screen = xwl_input_device->xwl_screen; int32_t dx, dy, lx, ly; - xwl_input_device->time = time; - if (!xwl_input_device->focus_window) return ; @@ -292,12 +289,13 @@ input_device_handle_motion(void *data, struct wl_input_device *input_device, static void input_device_handle_button(void *data, struct wl_input_device *input_device, - uint32_t time, uint32_t button, uint32_t state) + uint32_t serial, uint32_t time, uint32_t button, + uint32_t state) { struct xwl_input_device *xwl_input_device = data; int index; - xwl_input_device->time = time; + xwl_input_device->xwl_screen->serial = serial; switch (button) { case BTN_MIDDLE: @@ -317,12 +315,13 @@ input_device_handle_button(void *data, struct wl_input_device *input_device, static void input_device_handle_key(void *data, struct wl_input_device *input_device, - uint32_t time, uint32_t key, uint32_t state) + uint32_t serial, uint32_t time, uint32_t key, + uint32_t state) { struct xwl_input_device *xwl_input_device = data; uint32_t modifier; - xwl_input_device->time = time; + xwl_input_device->xwl_screen->serial = serial; switch (key) { case KEY_LEFTMETA: @@ -345,14 +344,14 @@ input_device_handle_key(void *data, struct wl_input_device *input_device, static void input_device_handle_pointer_enter(void *data, struct wl_input_device *input_device, - uint32_t time, - struct wl_surface *surface, - int32_t x, int32_t y, int32_t sx, int32_t sy) + uint32_t serial, struct wl_surface *surface, + int32_t sx, int32_t sy) { struct xwl_input_device *xwl_input_device = data; - xwl_input_device->time = time; + 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); @@ -370,14 +369,14 @@ input_device_handle_pointer_enter(void *data, static void input_device_handle_keyboard_enter(void *data, struct wl_input_device *input_device, - uint32_t time, + uint32_t serial, struct wl_surface *surface, struct wl_array *keys) { struct xwl_input_device *xwl_input_device = data; uint32_t *k, *end; - xwl_input_device->time = time; + xwl_input_device->xwl_screen->serial = serial; xwl_input_device->modifiers = 0; end = (uint32_t *) ((char *) keys->data + keys->size); @@ -400,22 +399,29 @@ input_device_handle_axis(void *data, struct wl_input_device *input_device, static void input_device_handle_pointer_leave(void *data, struct wl_input_device *input_device, - uint32_t time, struct wl_surface *surface) + uint32_t serial, struct wl_surface *surface) { + struct xwl_input_device *xwl_input_device = data; + + xwl_input_device->xwl_screen->serial = serial; } static void input_device_handle_keyboard_leave(void *data, struct wl_input_device *input_device, - uint32_t time, + uint32_t serial, struct wl_surface *surface) { + struct xwl_input_device *xwl_input_device = data; + + xwl_input_device->xwl_screen->serial = serial; } static void input_device_handle_touch_down(void *data, struct wl_input_device *wl_input_device, - uint32_t time, struct wl_surface *surface, + uint32_t serial, uint32_t time, + struct wl_surface *surface, int32_t id, int32_t x, int32_t y) { } @@ -423,7 +429,7 @@ input_device_handle_touch_down(void *data, static void input_device_handle_touch_up(void *data, struct wl_input_device *wl_input_device, - uint32_t time, int32_t id) + uint32_t serial, uint32_t time, int32_t id) { } diff --git a/hw/xfree86/xwayland/xwayland-private.h b/hw/xfree86/xwayland/xwayland-private.h index 87362f629..4d6fbab21 100644 --- a/hw/xfree86/xwayland/xwayland-private.h +++ b/hw/xfree86/xwayland/xwayland-private.h @@ -60,6 +60,7 @@ struct xwl_screen { struct xorg_list input_device_list; struct xorg_list damage_window_list; struct xorg_list window_list; + uint32_t serial; /* FIXME: Hack. */ int32_t width, height; @@ -96,7 +97,7 @@ struct xwl_input_device { int32_t grab_x, grab_y; uint32_t id; uint32_t modifiers; - uint32_t time; + uint32_t pointer_enter_serial; struct xorg_list link; }; |