mi: Bugfix: FreeCursor ignores negative refcounts.

mieq:   Bugfix: Motion notifies did overwrite DeviceMotionNotifies
This commit is contained in:
Peter Hutterer 2006-11-28 14:34:36 +10:30 committed by Peter Hutterer
parent 85ea408e38
commit e88bc0e55a
3 changed files with 14 additions and 2 deletions

View File

@ -1,4 +1,13 @@
MPX Changelog file
== 28.11.06 ==
mi: Bugfix: FreeCursor ignores negative refcounts.
mieq: Bugfix: Motion notifies did overwrite DeviceMotionNotifies
Files:
dix/cursor.c
mi/mieq.c
== 27.11.06 ==
mi: free allocated memory in miDCCloseScreen and in miDCInitialize in case
of errors.

View File

@ -117,7 +117,10 @@ FreeCursor(pointer value, XID cid)
ScreenPtr pscr;
DeviceIntPtr pDev;
if ( --pCurs->refcnt > 0)
/* FIXME: MPX: When FreeClientRessources is called, it calls FreeCursor
* too often. Refcnt gots < 0 and FreeCursorBits segfaults because the
* memory is already freed. */
if ( --pCurs->refcnt != 0)
return(Success);
pDev = inputInfo.pointer;

View File

@ -119,7 +119,7 @@ mieqEnqueue(DeviceIntPtr pDev, xEvent *e)
if (e->u.u.type == MotionNotify)
isMotion = inputInfo.pointer->id;
else if (e->u.u.type == DeviceMotionNotify)
isMotion = pDev->id;
isMotion = pDev->id | (1 << 8); /* flag to indicate DeviceMotion */
/* We silently steal valuator events: just tack them on to the last
* motion event they need to be attached to. Sigh. */