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,7 +1034,6 @@ 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. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1510,7 +1510,6 @@ 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,7 +1550,6 @@ 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,7 +1608,6 @@ 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,7 +1727,6 @@ 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