From 08fd2ae652883393ecff6f3d5177e63408d58472 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 3 Jun 2009 12:18:17 +1000 Subject: [PATCH] dix: use GetMaster in PickPointer and PickKeyboard. GetMaster is more reliable than GetPairedDevice, it always returns the keyboard/pointer if desired, even if the wrong device was passed in. Signed-off-by: Peter Hutterer --- dix/events.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dix/events.c b/dix/events.c index 26a9bf12f..3a0c3a322 100644 --- a/dix/events.c +++ b/dix/events.c @@ -5733,8 +5733,7 @@ PickPointer(ClientPtr client) GrabPtr grab = it->deviceGrab.grab; if (grab && grab->grabtype == GRABTYPE_CORE && SameClient(grab, client)) { - if (!IsPointerDevice(it)) - it = GetPairedDevice(it); + it = GetMaster(it, MASTER_POINTER); return it; /* Always return a core grabbed device */ } } @@ -5763,7 +5762,7 @@ DeviceIntPtr PickKeyboard(ClientPtr client) { DeviceIntPtr ptr = PickPointer(client); - DeviceIntPtr kbd = ptr->spriteInfo->paired; + DeviceIntPtr kbd = GetMaster(ptr, MASTER_KEYBOARD); if (!kbd) {