Frank Binns <[email protected]> writes: > index ab923d5..a5bbe23 100644 > --- a/dix/devices.c > +++ b/dix/devices.c > @@ -946,8 +946,9 @@ CloseDevice(DeviceIntPtr dev) > if (dev->inited) > (void) (*dev->deviceProc) (dev, DEVICE_CLOSE); > > - /* free sprite memory */ > - if (IsMaster(dev) && dev->spriteInfo->sprite) > + FreeSprite(dev); > + > + if (IsMaster(dev)) > screen->DeviceCursorCleanup(dev, screen);
Can you explain how this helps? From what I can see, you're simply
removing the check for dev->spriteInfo->sprite, which is necessary only
because you've freed the sprite before checking.
>
> /* free acceleration info */
> @@ -968,8 +969,6 @@ CloseDevice(DeviceIntPtr dev)
> free(classes);
> }
>
> - FreeSprite(dev);
> -
> /* a client may have the device set as client pointer */
> for (j = 0; j < currentMaxClients; j++) {
> if (clients[j] && clients[j]->clientPtr == dev) {
--
[email protected]
pgpFvsJEdAyVo.pgp
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
