summaryrefslogtreecommitdiff
path: root/xfixes
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2006-11-23 17:15:14 +1030
committerPeter Hutterer <whot@hyena.localdomain>2006-11-23 17:15:14 +1030
commit1c7568b8a1417257fa67c7fca69aa253099b9461 (patch)
tree9e2079d6e643d1b332e62f5806cdc5f5e2030fb9 /xfixes
parentf52d53e060d0468b658a565688d1f92c156405c7 (diff)
mi: closing memory leak, miPointer is freed in miPointerCloseScreen
bugfix: uninitialized pPointer in miPointerGetPosition ifndef MPX adding DeviceIntPtr parameter to ScreenRec's cursor functions. cleanup of miPointer code to use same scheme in each function dix: MPHasCursor() function determines checking whether to invoke cursor rendering. animcur: adding DeviceIntPtr parameter to cursor functions but animcur relies on the core pointer right now. xfixes: adding DeviceIntPtr parameter to cursor functions but xfixes relies on the core pointer right now. rac: adding DeviceIntPtr parameter to cursor functions but RAC relies on the core pointer right now. ramdac: adding DeviceIntPtr parameter to cursor functions but ramdac relies on the core pointer right now.
Diffstat (limited to 'xfixes')
-rwxr-xr-xxfixes/cursor.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/xfixes/cursor.c b/xfixes/cursor.c
index 22f9b0942..3bcd4361e 100755
--- a/xfixes/cursor.c
+++ b/xfixes/cursor.c
@@ -122,7 +122,8 @@ typedef struct _CursorScreen {
#define Unwrap(as,s,elt) ((s)->elt = (as)->elt)
static Bool
-CursorDisplayCursor (ScreenPtr pScreen,
+CursorDisplayCursor (DeviceIntPtr pDev,
+ ScreenPtr pScreen,
CursorPtr pCursor)
{
CursorScreenPtr cs = GetCursorScreen(pScreen);
@@ -131,9 +132,9 @@ CursorDisplayCursor (ScreenPtr pScreen,
Unwrap (cs, pScreen, DisplayCursor);
if (cs->pCursorHideCounts != NULL) {
- ret = (*pScreen->DisplayCursor) (pScreen, pInvisibleCursor);
+ ret = (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor);
} else {
- ret = (*pScreen->DisplayCursor) (pScreen, pCursor);
+ ret = (*pScreen->DisplayCursor) (pDev, pScreen, pCursor);
}
if (pCursor != CursorCurrent)
@@ -866,7 +867,7 @@ ProcXFixesHideCursor (ClientPtr client)
ret = createCursorHideCount(client, pWin->drawable.pScreen);
if (ret == Success) {
- (void) CursorDisplayCursor(pWin->drawable.pScreen, CursorCurrent);
+ (void) CursorDisplayCursor(inputInfo.pointer, pWin->drawable.pScreen, CursorCurrent);
}
return ret;
@@ -953,7 +954,7 @@ CursorFreeHideCount (pointer data, XID id)
ScreenPtr pScreen = pChc->pScreen;
deleteCursorHideCount(pChc, pChc->pScreen);
- (void) CursorDisplayCursor(pScreen, CursorCurrent);
+ (void) CursorDisplayCursor(inputInfo.pointer, pScreen, CursorCurrent);
return 1;
}