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).
This commit is contained in:
Peter Hutterer 2007-11-21 17:16:27 +10:30
parent 33f1568992
commit 9ed43eff48

View File

@ -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;