xserver/hw/xwayland
Jonas Ådahl 07941a50a5 xwayland: Always update the wl_pointer cursor on pointer focus
In Wayland, a client (in this case XWayland) should set the cursor
surface when it receives pointer focus. Not doing this will leave the
curser at whatever it was previously.

When running on XWayland, the X server will not be the entity that
controls what actual pointer cursor is displayed, and it wont be notified
about the pointer cursor changes done by the Wayland compositor. This
causes X11 clients running via XWayland to end up with incorrect pointer
cursors because the X server believes that, if the cursor was previously
set to the cursor C, if we receive Wayland pointer focus over window W
which also has the pointer cursor C, we do not need to update it. This
will cause us to end up with the wrong cursor if cursor C was not the
same one that was already set by the Wayland compositor.

This patch works around this by, when receiving pointer focus, getting
the private mipointer struct changing the "current sprite" pointer to
an invalid cursor in order to trigger the update path next time a cursor
is displayed by dix.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-12-01 12:14:03 -05:00
..
.gitignore Xwayland DDX 2014-04-03 15:19:22 -07:00
Makefile.am xwayland: Add dependency on glamor libs 2015-03-24 12:01:38 -07:00
drm.xml xwayland: Add glamor and DRI3 support 2014-06-24 15:09:55 -07:00
xwayland-cursor.c xwayland: call through to miPointerWarpCursor on warp_cursor 2015-09-18 14:55:00 +02:00
xwayland-cvt.c Xwayland DDX 2014-04-03 15:19:22 -07:00
xwayland-glamor.c xwayland: Do not set root clip when rootless 2015-11-30 12:03:57 -05:00
xwayland-input.c xwayland: Always update the wl_pointer cursor on pointer focus 2015-12-01 12:14:03 -05:00
xwayland-output.c xwayland: Do not set root clip when rootless 2015-11-30 12:03:57 -05:00
xwayland-shm.c xwayland: Do not set root clip when rootless 2015-11-30 12:03:57 -05:00
xwayland.c xwayland: check if creating xwl_output succeeded 2015-11-30 11:56:28 -05:00
xwayland.h xwayland: Destroy xwl_output when wl_output gets removed 2015-09-25 15:22:18 +02:00