[PATCH] UngrabAllDevices: Don't kill clients if not told to

Daniel Stone daniel at fooishbar.org
Thu Jan 19 03:40:32 PST 2012


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 at fooishbar.org>
Reported-by: Julien Cristau <jcristau at debian.org>
---
 dix/grabs.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dix/grabs.c b/dix/grabs.c
index 701470c..cc2c946 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");
-- 
1.7.8.3



More information about the xorg-devel mailing list