From 2c1431a76e7219e3bd14fd7f7888a8bc4fea0f58 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 20 Aug 2007 10:06:13 +0930 Subject: [PATCH] dix: ProcChangeActivePointerGrab: make sure variable is initialised. Thanks to Ben Close for spotting it. --- dix/events.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dix/events.c b/dix/events.c index 76894ca55..4c9ca3b8a 100644 --- a/dix/events.c +++ b/dix/events.c @@ -4808,7 +4808,7 @@ int ProcChangeActivePointerGrab(ClientPtr client) { DeviceIntPtr device, grabbed; - GrabPtr grab = device->deviceGrab.grab; + GrabPtr grab; CursorPtr newCursor, oldCursor; REQUEST(xChangeActivePointerGrabReq); TimeStamp time; @@ -4831,7 +4831,11 @@ ProcChangeActivePointerGrab(ClientPtr client) return BadCursor; } } - if (!grab && !SameClient(grab, client)) + + device = PickPointer(client); + grab = device->deviceGrab.grab; + + if (!grab || !SameClient(grab, client)) { /* no grab on ClientPointer, or some other client has a grab on our * ClientPointer, let's check if we have a pointer grab on some other