From 9ed43eff48201520797f89a12bb3b2f5819bd99f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 21 Nov 2007 17:16:27 +1030 Subject: [PATCH] Xi: allow clients to specify pure client id in SetClientPointer. If no window was found with the given ID, try if there's a client with the ID. Allows us to set the CP for apps that don't open windows (e.g. x2x). --- Xi/setcptr.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Xi/setcptr.c b/Xi/setcptr.c index ad8f571db..a3bd9c2ec 100644 --- a/Xi/setcptr.c +++ b/Xi/setcptr.c @@ -89,10 +89,17 @@ ProcXSetClientPointer(ClientPtr client) err = dixLookupWindow(&pWin, stuff->win, client, DixReadWriteAccess); if (err != Success) { - client->errorValue = stuff->win; - return err; - } - targetClient= wClient(pWin); + /* window could not be found. maybe the window ID given was a pure + client id? */ + err = dixLookupClient(&targetClient, stuff->win, + client, DixReadWriteAccess); + if (err != Success) + { + client->errorValue = stuff->win; + return err; + } + } else + targetClient= wClient(pWin); } else targetClient = client;