summaryrefslogtreecommitdiff
path: root/dix/cursor.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2006-11-28 14:34:36 +1030
committerPeter Hutterer <whot@hyena.localdomain>2006-11-28 14:34:36 +1030
commite88bc0e55a6937ff0b47fe38f60bfa8991196578 (patch)
treebda4c608e2f13b87ae63662c26782a0949d55e98 /dix/cursor.c
parent85ea408e38f452bcf9109f14fd1016d159692a99 (diff)
mi: Bugfix: FreeCursor ignores negative refcounts.
mieq: Bugfix: Motion notifies did overwrite DeviceMotionNotifies
Diffstat (limited to 'dix/cursor.c')
-rw-r--r--dix/cursor.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/dix/cursor.c b/dix/cursor.c
index 92297b923..6da763b44 100644
--- a/dix/cursor.c
+++ b/dix/cursor.c
@@ -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;