From f065721e6fa6e9057cca4eadaf145a4dc22a08d2 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 28 May 2017 15:56:16 +0200 Subject: [PATCH] dix: assume warping on the RootWindow always happens on visible coords If the root window borderClip region is null, the PointInWindowIsVisible() check fails if pointer warping is attempted on the root window, making the warping operation bail out early. Assume coordinates always lay inside the root window for this case, the actual position will be clamped later within screen coordinates anyway. Signed-off-by: Carlos Garnacho Acked-by: Peter Hutterer Signed-off-by: Peter Hutterer --- dix/events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dix/events.c b/dix/events.c index cc26ba5db..3e3a01ef9 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3575,7 +3575,7 @@ ProcWarpPointer(ClientPtr client) winX + stuff->srcX + (int) stuff->srcWidth < x) || (stuff->srcHeight != 0 && winY + stuff->srcY + (int) stuff->srcHeight < y) || - !PointInWindowIsVisible(source, x, y)) + (source->parent && !PointInWindowIsVisible(source, x, y))) return Success; } if (dest) {