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 <[email protected]> --- 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 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
