Xi: use single return code from XIPassiveGrabDevice
Some failures returned status but the actual return code was "ret". Use "ret" consistently and move status to the local block is used in. [the goto isn't necessary yet, but for a future patch] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
parent
2aad1a2b42
commit
bedb8fd90d
|
@ -80,7 +80,6 @@ ProcXIPassiveGrabDevice(ClientPtr client)
|
|||
DeviceIntPtr dev, mod_dev;
|
||||
xXIPassiveGrabDeviceReply rep;
|
||||
int i, ret = Success;
|
||||
uint8_t status;
|
||||
uint32_t *modifiers;
|
||||
xXIGrabModifierInfo *modifiers_failed;
|
||||
GrabMask mask;
|
||||
|
@ -145,32 +144,36 @@ ProcXIPassiveGrabDevice(ClientPtr client)
|
|||
|
||||
if (stuff->cursor != None)
|
||||
{
|
||||
status = dixLookupResourceByType(&tmp, stuff->cursor,
|
||||
RT_CURSOR, client, DixUseAccess);
|
||||
if (status != Success)
|
||||
{
|
||||
client->errorValue = stuff->cursor;
|
||||
return status;
|
||||
}
|
||||
ret = dixLookupResourceByType(&tmp, stuff->cursor,
|
||||
RT_CURSOR, client, DixUseAccess);
|
||||
if (ret != Success)
|
||||
{
|
||||
client->errorValue = stuff->cursor;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
status = dixLookupWindow((WindowPtr*)&tmp, stuff->grab_window, client, DixSetAttrAccess);
|
||||
if (status != Success)
|
||||
return status;
|
||||
ret = dixLookupWindow((WindowPtr*)&tmp, stuff->grab_window, client, DixSetAttrAccess);
|
||||
if (ret != Success)
|
||||
goto out;
|
||||
|
||||
status = CheckGrabValues(client, ¶m);
|
||||
if (status != Success)
|
||||
return status;
|
||||
ret = CheckGrabValues(client, ¶m);
|
||||
if (ret != Success)
|
||||
goto out;
|
||||
|
||||
modifiers = (uint32_t*)&stuff[1] + stuff->mask_len;
|
||||
modifiers_failed = calloc(stuff->num_modifiers, sizeof(xXIGrabModifierInfo));
|
||||
if (!modifiers_failed)
|
||||
return BadAlloc;
|
||||
if (!modifiers_failed) {
|
||||
ret = BadAlloc;
|
||||
goto out;
|
||||
}
|
||||
|
||||
mod_dev = (IsFloating(dev)) ? dev : GetMaster(dev, MASTER_KEYBOARD);
|
||||
|
||||
for (i = 0; i < stuff->num_modifiers; i++, modifiers++)
|
||||
{
|
||||
uint8_t status = Success;
|
||||
|
||||
param.modifiers = *modifiers;
|
||||
switch(stuff->grab_type)
|
||||
{
|
||||
|
@ -208,6 +211,7 @@ ProcXIPassiveGrabDevice(ClientPtr client)
|
|||
WriteToClient(client, rep.length * 4, (char*)modifiers_failed);
|
||||
|
||||
free(modifiers_failed);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user