Example #1
0
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);
    }
}
Example #2
0
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);
}