xserver-multidpi/hw/xwayland
Olivier Fourdan 862a3dab28 xwayland: Clear up x_cursor on UnrealizeCursor()
In Xwayland's xwl_unrealize_cursor(), the x_cursor is cleared up only
when a device value is provided to the UnrealizeCursor() routine, but
if the device is NULL as called from FreeCursor(), the corresponding
x_cursor for the xwl_seat is left untouched.

This might cause a segfault when trying to access the unrealized
cursor's devPrivates in xwl_seat_set_cursor().

A possible occurrence of this is the client changing the cursor, the
Xserver calling FreeCursor() which does UnrealizeCursor() and then
the Wayland server sending a pointer enter event, which invokes
xwl_seat_set_cursor() while the seat's x_cursor has just been
unrealized.

To avoid this, walk through all the xwl_seats and clear up all x_cursor
matching the cursor being unrealized.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-09-28 14:23:59 -04:00
..
.gitignore Xwayland DDX 2014-04-03 15:19:22 -07:00
drm.xml xwayland: Add glamor and DRI3 support 2014-06-24 15:09:55 -07:00
Makefile.am xwayland: Fix relinking when dix changes 2016-08-16 15:56:18 -04:00
xwayland-cursor.c xwayland: Clear up x_cursor on UnrealizeCursor() 2016-09-28 14:23:59 -04:00
xwayland-cvt.c xwayland: do not include frequency in mode name 2016-03-28 14:09:09 -04:00
xwayland-glamor-xv.c xwayland: Fix compiler warning in GLAMOR Xv 2016-04-15 16:22:16 -04:00
xwayland-glamor.c xwayland: Fix whitespace errors 2016-06-20 15:40:07 +10:00
xwayland-input.c xwayland: Process queued events before making wayland mods effective 2016-09-06 13:05:42 +10:00
xwayland-output.c xwayland: Avoid double free of RRCrtc and RROutput 2016-08-15 14:20:54 -04:00
xwayland-shm.c xwayland: Close the shm fd as early as possible 2016-09-28 14:23:59 -04:00
xwayland-vidmode.c xwayland: Pretend we support viewport in vidmode 2016-03-28 14:10:59 -04:00
xwayland.c xwayland: handle EAGAIN on Wayland fd 2016-09-28 14:23:59 -04:00
xwayland.h xwayland: handle EAGAIN on Wayland fd 2016-09-28 14:23:59 -04:00