dix: make FreeGrab() NULL tolerant
Allow NULL parameters to be passed to FreeGrab(), so callers don't all need to check on their own anymore. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
33958af5b5
commit
b96fc1934e
|
@ -1034,8 +1034,7 @@ CloseDevice(DeviceIntPtr dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev->deviceGrab.grab)
|
FreeGrab(dev->deviceGrab.grab);
|
||||||
FreeGrab(dev->deviceGrab.grab);
|
|
||||||
free(dev->deviceGrab.sync.event);
|
free(dev->deviceGrab.sync.event);
|
||||||
free(dev->config_info); /* Allocated in xf86ActivateDevice. */
|
free(dev->config_info); /* Allocated in xf86ActivateDevice. */
|
||||||
free(dev->last.scroll);
|
free(dev->last.scroll);
|
||||||
|
|
12
dix/events.c
12
dix/events.c
|
@ -1510,8 +1510,7 @@ UpdateTouchesForGrab(DeviceIntPtr mouse)
|
||||||
listener->window = grab->window;
|
listener->window = grab->window;
|
||||||
listener->state = TOUCH_LISTENER_IS_OWNER;
|
listener->state = TOUCH_LISTENER_IS_OWNER;
|
||||||
|
|
||||||
if (listener->grab)
|
FreeGrab(listener->grab);
|
||||||
FreeGrab(listener->grab);
|
|
||||||
listener->grab = AllocGrab(grab);
|
listener->grab = AllocGrab(grab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1551,8 +1550,7 @@ UpdateGesturesForGrab(DeviceIntPtr mouse)
|
||||||
listener->listener = grab->resource;
|
listener->listener = grab->resource;
|
||||||
listener->window = grab->window;
|
listener->window = grab->window;
|
||||||
|
|
||||||
if (listener->grab)
|
FreeGrab(listener->grab);
|
||||||
FreeGrab(listener->grab);
|
|
||||||
listener->grab = AllocGrab(grab);
|
listener->grab = AllocGrab(grab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1610,8 +1608,7 @@ ActivatePointerGrab(DeviceIntPtr mouse, GrabPtr grab,
|
||||||
UpdateGesturesForGrab(mouse);
|
UpdateGesturesForGrab(mouse);
|
||||||
CheckGrabForSyncs(mouse, (Bool) grab->pointerMode,
|
CheckGrabForSyncs(mouse, (Bool) grab->pointerMode,
|
||||||
(Bool) grab->keyboardMode);
|
(Bool) grab->keyboardMode);
|
||||||
if (oldgrab)
|
FreeGrab(oldgrab);
|
||||||
FreeGrab(oldgrab);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1730,8 +1727,7 @@ ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time,
|
||||||
grabinfo->implicitGrab = passive & ImplicitGrabMask;
|
grabinfo->implicitGrab = passive & ImplicitGrabMask;
|
||||||
CheckGrabForSyncs(keybd, (Bool) grab->keyboardMode,
|
CheckGrabForSyncs(keybd, (Bool) grab->keyboardMode,
|
||||||
(Bool) grab->pointerMode);
|
(Bool) grab->pointerMode);
|
||||||
if (oldgrab)
|
FreeGrab(oldgrab);
|
||||||
FreeGrab(oldgrab);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -114,10 +114,8 @@ void
|
||||||
GestureEndGesture(GestureInfoPtr gi)
|
GestureEndGesture(GestureInfoPtr gi)
|
||||||
{
|
{
|
||||||
if (gi->has_listener) {
|
if (gi->has_listener) {
|
||||||
if (gi->listener.grab) {
|
FreeGrab(gi->listener.grab);
|
||||||
FreeGrab(gi->listener.grab);
|
gi->listener.grab = NULL;
|
||||||
gi->listener.grab = NULL;
|
|
||||||
}
|
|
||||||
gi->listener.listener = 0;
|
gi->listener.listener = 0;
|
||||||
gi->has_listener = FALSE;
|
gi->has_listener = FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -255,7 +255,8 @@ CreateGrab(int client, DeviceIntPtr device, DeviceIntPtr modDevice,
|
||||||
void
|
void
|
||||||
FreeGrab(GrabPtr pGrab)
|
FreeGrab(GrabPtr pGrab)
|
||||||
{
|
{
|
||||||
BUG_RETURN(!pGrab);
|
if (!pGrab)
|
||||||
|
return;
|
||||||
|
|
||||||
free(pGrab->modifiersDetail.pMask);
|
free(pGrab->modifiersDetail.pMask);
|
||||||
free(pGrab->detail.pMask);
|
free(pGrab->detail.pMask);
|
||||||
|
|
Loading…
Reference in New Issue