On Wed, Jan 19, 2011 at 11:11:45PM +0000, Daniel Stone wrote: > Instead of a mega never-ending if branch with no else, just continue > to the next iteration of the loop if the conditions aren't met - pretty > much entirely reindentation. > > Signed-off-by: Daniel Stone <[email protected]> > ---
screams for more simplification but this patch is a great start. Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > > v5: New. > > dix/events.c | 209 ++++++++++++++++++++++++++++----------------------------- > 1 files changed, 103 insertions(+), 106 deletions(-) > > diff --git a/dix/events.c b/dix/events.c > index dfe938b..38e9a08 100644 > --- a/dix/events.c > +++ b/dix/events.c > @@ -3445,129 +3445,126 @@ CheckPassiveGrabsOnWindow( > match = CORE_MATCH; > } > > - if (match && (!grab->confineTo || > - (grab->confineTo->realized && > - BorderSizeNotEmpty(device, grab->confineTo)))) > - { > - grabinfo = &device->deviceGrab; > - /* In some cases a passive core grab may exist, but the client > - * already has a core grab on some other device. In this case we > - * must not get the grab, otherwise we may never ungrab the > - * device. > - */ > - > - if (grab->grabtype == GRABTYPE_CORE) > + if (!match || (grab->confineTo && > + (!grab->confineTo->realized || > + !BorderSizeNotEmpty(device, grab->confineTo)))) > + continue; > + > + grabinfo = &device->deviceGrab; > + /* In some cases a passive core grab may exist, but the client > + * already has a core grab on some other device. In this case we > + * must not get the grab, otherwise we may never ungrab the > + * device. > + */ > + > + if (grab->grabtype == GRABTYPE_CORE) > + { > + DeviceIntPtr other; > + BOOL interfering = FALSE; > + > + /* A passive grab may have been created for a different device > + than it is assigned to at this point in time. > + Update the grab's device and modifier device to reflect the > + current state. > + Since XGrabDeviceButton requires to specify the > + modifierDevice explicitly, we don't override this choice. > + */ > + if (tempGrab.type < GenericEvent) > { > - DeviceIntPtr other; > - BOOL interfering = FALSE; > - > - /* A passive grab may have been created for a different > device > - than it is assigned to at this point in time. > - Update the grab's device and modifier device to reflect > the > - current state. > - Since XGrabDeviceButton requires to specify the > - modifierDevice explicitly, we don't override this choice. > - */ > - if (tempGrab.type < GenericEvent) > - { > - grab->device = device; > - grab->modifierDevice = GetPairedDevice(device); > - } > + grab->device = device; > + grab->modifierDevice = GetPairedDevice(device); > + } > > - for (other = inputInfo.devices; other; other = other->next) > + for (other = inputInfo.devices; other; other = other->next) > + { > + GrabPtr othergrab = other->deviceGrab.grab; > + if (othergrab && othergrab->grabtype == GRABTYPE_CORE && > + SameClient(grab, rClient(othergrab)) && > + ((IsPointerDevice(grab->device) && > + IsPointerDevice(othergrab->device)) || > + (IsKeyboardDevice(grab->device) && > + IsKeyboardDevice(othergrab->device)))) > { > - GrabPtr othergrab = other->deviceGrab.grab; > - if (othergrab && othergrab->grabtype == GRABTYPE_CORE && > - SameClient(grab, rClient(othergrab)) && > - ((IsPointerDevice(grab->device) && > - IsPointerDevice(othergrab->device)) || > - (IsKeyboardDevice(grab->device) && > - IsKeyboardDevice(othergrab->device)))) > - { > - interfering = TRUE; > - break; > - } > + interfering = TRUE; > + break; > } > - if (interfering) > - continue; > } > + if (interfering) > + continue; > + } > > - if (!activate) > - return grab; > - else if (!GetXIType(event) && !GetCoreType(event)) > - FatalError("Event type %d in CheckPassiveGrabsOnWindow is" > - " neither XI 1.x nor core\n", event->any.type); > + if (!activate) > + return grab; > + else if (!GetXIType(event) && !GetCoreType(event)) > + FatalError("Event type %d in CheckPassiveGrabsForWindow is > neither" > + " XI 1.x nor core\n", event->any.type); > > - /* The only consumers of corestate are Xi 1.x and core events, > - * which are guaranteed to come from DeviceEvents. */ > - if (match & (XI_MATCH | CORE_MATCH)) > - { > - event->device_event.corestate &= 0x1f00; > - event->device_event.corestate |= > - tempGrab.modifiersDetail.exact & (~0x1f00); > - } > + /* The only consumers of corestate are Xi 1.x and core events, which > + * are guaranteed to come from DeviceEvents. */ > + if (match & (XI_MATCH | CORE_MATCH)) > + { > + event->device_event.corestate &= 0x1f00; > + event->device_event.corestate |= tempGrab.modifiersDetail.exact & > + (~0x1f00); > + } > > - if (match & CORE_MATCH) > + if (match & CORE_MATCH) > + { > + rc = EventToCore(event, &core); > + if (rc != Success) > { > - rc = EventToCore(event, &core); > - if (rc != Success) > - { > - if (rc != BadMatch) > - ErrorF("[dix] %s: core conversion failed in CPGFW " > - "(%d, %d).\n", device->name, event->any.type, > - rc); > - continue; > - } > - xE = &core; > - count = 1; > - } else if (match & XI2_MATCH) > + if (rc != BadMatch) > + ErrorF("[dix] %s: core conversion failed in CPGFW " > + "(%d, %d).\n", device->name, event->any.type, > rc); > + continue; > + } > + xE = &core; > + count = 1; > + } else if (match & XI2_MATCH) > + { > + rc = EventToXI2(event, &xE); > + if (rc != Success) > { > - rc = EventToXI2(event, &xE); > - if (rc != Success) > - { > - if (rc != BadMatch) > - ErrorF("[dix] %s: XI2 conversion failed in CPGFW " > - "(%d, %d).\n", device->name, event->any.type, > - rc); > - continue; > - } > - count = 1; > - } else > + if (rc != BadMatch) > + ErrorF("[dix] %s: XI2 conversion failed in CPGFW " > + "(%d, %d).\n", device->name, event->any.type, > rc); > + continue; > + } > + count = 1; > + } else > + { > + rc = EventToXI(event, &xE, &count); > + if (rc != Success) > { > - rc = EventToXI(event, &xE, &count); > - if (rc != Success) > - { > - if (rc != BadMatch) > - ErrorF("[dix] %s: XI conversion failed in CPGFW " > - "(%d, %d).\n", device->name, event->any.type, > - rc); > - continue; > - } > + if (rc != BadMatch) > + ErrorF("[dix] %s: XI conversion failed in CPGFW " > + "(%d, %d).\n", device->name, event->any.type, > rc); > + continue; > } > + } > > - (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE); > + (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE); > > - if (xE) > - { > - FixUpEventFromWindow(pSprite, xE, grab->window, None, TRUE); > + if (xE) > + { > + FixUpEventFromWindow(pSprite, xE, grab->window, None, TRUE); > > - TryClientEvents(rClient(grab), device, xE, count, > - GetEventFilter(device, xE), > - GetEventFilter(device, xE), grab); > - } > + TryClientEvents(rClient(grab), device, xE, count, > + GetEventFilter(device, xE), > + GetEventFilter(device, xE), grab); > + } > > - if (grabinfo->sync.state == FROZEN_NO_EVENT) > - { > - if (!grabinfo->sync.event) > - grabinfo->sync.event = calloc(1, sizeof(DeviceEvent)); > - *grabinfo->sync.event = event->device_event; > - grabinfo->sync.state = FROZEN_WITH_EVENT; > - } > + if (grabinfo->sync.state == FROZEN_NO_EVENT) > + { > + if (!grabinfo->sync.event) > + grabinfo->sync.event = calloc(1, sizeof(DeviceEvent)); > + *grabinfo->sync.event = event->device_event; > + grabinfo->sync.state = FROZEN_WITH_EVENT; > + } > > - if (match & (XI_MATCH | XI2_MATCH)) > - free(xE); /* on core match xE == &core */ > - return grab; > - } > + if (match & (XI_MATCH | XI2_MATCH)) > + free(xE); /* on core match xE == &core */ > + return grab; > } > return NULL; > #undef CORE_MATCH > -- > 1.7.2.3 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
