summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2012-01-19 22:40:32 +1100
committerPeter Hutterer <peter.hutterer@who-t.net>2012-01-24 13:26:37 +1000
commit5201310559fe8708ba8278bdef77cdc1673fff71 (patch)
treed1518f91faa1250f4ab6e3f38ee33a21079aaa6a
parent9b1e18f42a05a79d9ebec372a37b47442e397ca9 (diff)
UngrabAllDevices: Don't kill clients if not told to
The kill_client argument to UngrabAllClients specifies if we want to kill the client holding the grab or just deactivate the grab. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reported-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Cyril Brulebois <kibi@debian.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--dix/grabs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/dix/grabs.c b/dix/grabs.c
index 701470c83..cc2c946d0 100644
--- a/dix/grabs.c
+++ b/dix/grabs.c
@@ -195,7 +195,8 @@ UngrabAllDevices(Bool kill_client)
client = clients[CLIENT_ID(dev->deviceGrab.grab->resource)];
if (!client || client->clientGone)
dev->deviceGrab.DeactivateGrab(dev);
- CloseDownClient(client);
+ if (kill_client)
+ CloseDownClient(client);
}
ErrorF("End list of ungrabbed devices\n");