[PATCH] dix: fix Ungrab action #55785
Lionel Elie Mamane
lionel at mamane.lu
Mon Oct 8 18:17:49 PDT 2012
UngrabAllDevices(Bool kill_client):
If we are not going to kill the client (kill_clients false),
we need to deactivate grabs of active clients, too.
(If we are going to kill the client,
no need to deactivate the grab,
as this will be done as part of the client kill.)
Fixes: X.Org Bug 55785 <http://bugs.freedesktop.org/show_bug.cgi?id=55785>
Signed-off-by: Lionel Elie Mamane <lionel at mamane.lu>
---
dix/grabs.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dix/grabs.c b/dix/grabs.c
index 55bf64f..fe79674 100644
--- a/dix/grabs.c
+++ b/dix/grabs.c
@@ -179,7 +179,7 @@ UngrabAllDevices(Bool kill_client)
continue;
PrintDeviceGrabInfo(dev);
client = clients[CLIENT_ID(dev->deviceGrab.grab->resource)];
- if (!client || client->clientGone)
+ if (!kill_client || !client || client->clientGone)
dev->deviceGrab.DeactivateGrab(dev);
if (kill_client)
CloseDownClient(client);
--
1.7.9
More information about the xorg-devel
mailing list