mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 05:54:08 +00:00
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.
This commit is contained in:
committed by
Peter Hutterer
parent
f52d53e060
commit
1c7568b8a1
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user