void DeleteWindowFromAnySaveSet(WindowPtr pWin) { int i; ClientPtr client; for (i = 0; i < currentMaxClients; i++) { client = clients[i]; if (client && client->numSaved) (void) AlterSaveSetForClient(client, pWin, SetModeDelete, FALSE, TRUE); } }
int ProcXFixesChangeSaveSet(ClientPtr client) { Bool toRoot, remap; int result; WindowPtr pWin; REQUEST(xXFixesChangeSaveSetReq); REQUEST_SIZE_MATCH(xXFixesChangeSaveSetReq); pWin = (WindowPtr) SecurityLookupWindow(stuff->window, client, SecurityReadAccess); if (!pWin) return (BadWindow); if (client->clientAsMask == (CLIENT_BITS(pWin->drawable.id))) return BadMatch; if ((stuff->mode != SetModeInsert) && (stuff->mode != SetModeDelete)) { client->errorValue = stuff->mode; return (BadValue); } if ((stuff->target != SaveSetNearest) && (stuff->target != SaveSetRoot)) { client->errorValue = stuff->target; return (BadValue); } if ((stuff->map != SaveSetMap) && (stuff->map != SaveSetUnmap)) { client->errorValue = stuff->map; return (BadValue); } toRoot = (stuff->target == SaveSetRoot); remap = (stuff->map == SaveSetMap); result = AlterSaveSetForClient(client, pWin, stuff->mode, toRoot, remap); if (client->noClientException != Success) return (client->noClientException); else return (result); }