xserver: Branch 'master'
Adam Jackson
ajax at kemper.freedesktop.org
Mon Feb 8 23:09:59 CET 2016
hw/xwayland/xwayland-input.c | 10 ++++++++++
1 file changed, 10 insertions(+)
New commits:
commit 87d5534f701242d7c23aa20545a6292a0779c89c
Author: Rui Matos <tiagomatos at gmail.com>
Date: Wed Feb 3 16:14:09 2016 +0100
xwayland: Clear pending cursor frame callbacks on pointer enter
The last cursor frame we commited before the pointer left one of our
surfaces might not have been shown. In that case we'll have a cursor
surface frame callback pending which we need to clear so that we can
continue submitting new cursor frames.
Signed-off-by: Rui Matos <tiagomatos at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Jonas Ã…dahl <jadahl at gmail.com>
diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 61ca70b..f9e3255 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -267,6 +267,16 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
for (i = 0; i < dev->button->numButtons; i++)
if (BitIsOn(dev->button->down, i))
QueuePointerEvents(dev, ButtonRelease, i, 0, &mask);
+
+ /* The last cursor frame we commited before the pointer left one
+ * of our surfaces might not have been shown. In that case we'll
+ * have a cursor surface frame callback pending which we need to
+ * clear so that we can continue submitting new cursor frames. */
+ if (xwl_seat->cursor_frame_cb) {
+ wl_callback_destroy(xwl_seat->cursor_frame_cb);
+ xwl_seat->cursor_frame_cb = NULL;
+ xwl_seat_set_cursor(xwl_seat);
+ }
}
static void
More information about the xorg-commit
mailing list