dix: Attach spriteInfoRec to same memory block as the DeviceIntRec.

No need to alloc a separate one, we never do anything special with it anyway.
This commit is contained in:
Peter Hutterer 2007-11-13 16:50:18 +10:30
parent 51239f87ce
commit c703849e79

View File

@ -134,7 +134,7 @@ AddInputDevice(DeviceProc deviceProc, Bool autoStart)
if (devid >= MAX_DEVICES) if (devid >= MAX_DEVICES)
return (DeviceIntPtr)NULL; return (DeviceIntPtr)NULL;
dev = (DeviceIntPtr) xcalloc(sizeof(DeviceIntRec), 1); dev = (DeviceIntPtr) xcalloc(sizeof(DeviceIntRec) + sizeof(SpriteInfoRec), 1);
if (!dev) if (!dev)
return (DeviceIntPtr)NULL; return (DeviceIntPtr)NULL;
dev->name = (char *)NULL; dev->name = (char *)NULL;
@ -183,9 +183,7 @@ AddInputDevice(DeviceProc deviceProc, Bool autoStart)
dev->enabled = FALSE; dev->enabled = FALSE;
/* sprite defaults */ /* sprite defaults */
dev->spriteInfo = (SpriteInfoPtr)xcalloc(sizeof(SpriteInfoRec), 1); dev->spriteInfo = (SpriteInfoPtr)&dev[1];
if (!dev->spriteInfo)
return (DeviceIntPtr)NULL;
dev->spriteInfo->sprite = NULL; dev->spriteInfo->sprite = NULL;
dev->spriteInfo->spriteOwner = FALSE; dev->spriteInfo->spriteOwner = FALSE;
@ -757,7 +755,6 @@ CloseDevice(DeviceIntPtr dev)
xfree(dev->devPrivates); xfree(dev->devPrivates);
xfree(dev->deviceGrab.sync.event); xfree(dev->deviceGrab.sync.event);
xfree(dev->spriteInfo);
xfree(dev); xfree(dev);
} }