summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2015-08-28 14:28:11 +1000
committerAdam Jackson <ajax@redhat.com>2015-09-21 10:08:11 -0400
commitb1bc759ae3a2293f05578aeaadcfa62d75c47646 (patch)
treee49e28c84cafbaf5ef6029ec1429b56614c1c69d
parentfadf6beeb6b274fc803eccc589fc126f9cad3c31 (diff)
xwayland: call through to miPointerWarpCursor on warp_cursorxwayland-next
This is (eventually) called during InitializeSprite() → *pScreen->SetCursorPosition → miPointerSetCursorPosition when a device is set to floating. We don't do anything special outselves, but we need to pass on to the next layer to make sure the device is initialized properly. Otherwise, pScreen stays NULL and eventually crashes the server when we try to clean up behind us. Test case: grab a device → floats it, ungrab again → crash Reported-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--hw/xwayland/xwayland-cursor.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/xwayland/xwayland-cursor.c b/hw/xwayland/xwayland-cursor.c
index c137e1ec0..76729db9e 100644
--- a/hw/xwayland/xwayland-cursor.c
+++ b/hw/xwayland/xwayland-cursor.c
@@ -199,6 +199,7 @@ xwl_cross_screen(ScreenPtr pScreen, Bool entering)
static void
xwl_pointer_warp_cursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
{
+ miPointerWarpCursor(pDev, pScreen, x, y);
}
static miPointerScreenFuncRec xwl_pointer_screen_funcs = {