summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2012-10-09 03:17:49 +0200
committerPeter Hutterer <peter.hutterer@who-t.net>2012-10-19 13:12:33 +1000
commitc0a752d2864872023216005375a6a1973fadeffe (patch)
tree872d57852477a3157049529d32e15f456cb5f5b0 /dix
parent3b67cd26149eb991b5f015061a818af65369e668 (diff)
dix: fix Ungrab action #55785
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@mamane.lu> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r--dix/grabs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/dix/grabs.c b/dix/grabs.c
index 55bf64f2c..fe7967415 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);