From 4a3dbb926ae3f5410198d7cc4f4ebe4f62eebf05 Mon Sep 17 00:00:00 2001 From: marha Date: Sat, 25 Jul 2009 19:39:46 +0000 Subject: Added xorg-server-1.6.2.tar.gz --- xorg-server/hw/dmx/dmxcursor.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'xorg-server/hw/dmx/dmxcursor.c') diff --git a/xorg-server/hw/dmx/dmxcursor.c b/xorg-server/hw/dmx/dmxcursor.c index 8a801169c..32934bbad 100644 --- a/xorg-server/hw/dmx/dmxcursor.c +++ b/xorg-server/hw/dmx/dmxcursor.c @@ -178,14 +178,14 @@ static void dmxCrossScreen(ScreenPtr pScreen, Bool entering) { } -static void dmxWarpCursor(ScreenPtr pScreen, int x, int y) +static void dmxWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { DMXDBG3("dmxWarpCursor(%d,%d,%d)\n", pScreen->myNum, x, y); #if 11 /*BP*/ /* This call is depracated. Replace with???? */ - miPointerWarpCursor(pScreen, x, y); + miPointerWarpCursor(pDev, pScreen, x, y); #else - pScreen->SetCursorPosition(pScreen, x, y, FALSE); + pScreen->SetCursorPosition(pDev, pScreen, x, y, FALSE); #endif } @@ -733,7 +733,7 @@ static void _dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) if (pCursor) { dmxCursorPrivPtr pCursorPriv = DMX_GET_CURSOR_PRIV(pCursor, pScreen); - if (dmxScreen->curCursor != pCursorPriv->cursor) { + if (pCursorPriv && dmxScreen->curCursor != pCursorPriv->cursor) { if (dmxScreen->beDisplay) XDefineCursor(dmxScreen->beDisplay, dmxScreen->scrnWin, pCursorPriv->cursor); @@ -753,7 +753,7 @@ static void _dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) if (dmxScreen->beDisplay) dmxSync(dmxScreen, TRUE); } -static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +static Bool dmxRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -771,7 +771,7 @@ static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) return TRUE; } -static Bool dmxUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +static Bool dmxUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -794,14 +794,14 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) DMXScreenInfo *pt; if (!start || !start->over) - return GetSpriteCursor(); + return GetSpriteCursor(inputInfo.pointer); for (pt = start->over; /* condition at end of loop */; pt = pt->over) { if (pt->cursor) return pt->cursor; if (pt == start) break; } - return GetSpriteCursor(); + return GetSpriteCursor(inputInfo.pointer); } /** Move the cursor to coordinates (\a x, \a y)on \a pScreen. This @@ -813,7 +813,7 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) * back-end screens and see if they contain the global coord. If so, call * _dmxMoveCursor() (XWarpPointer) to position the pointer on that screen. */ -void dmxMoveCursor(ScreenPtr pScreen, int x, int y) +void dmxMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -860,7 +860,7 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y) } } -static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) +static void dmxSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -943,13 +943,8 @@ void dmxCheckCursor(void) pScreen = screenInfo.screens[dmxScreen->index]; if (!dmxOnScreen(x, y, dmxScreen)) { -#if 00 - if (firstScreen && i == miPointerCurrentScreen()->myNum) - miPointerSetNewScreen(firstScreen->index, x, y); -#else if (firstScreen && i == miPointerGetScreen(inputInfo.pointer)->myNum) miPointerSetScreen(inputInfo.pointer, firstScreen->index, x, y); -#endif _dmxSetCursor(pScreen, NULL, x - dmxScreen->rootXOrigin, y - dmxScreen->rootYOrigin); @@ -969,10 +964,21 @@ void dmxCheckCursor(void) DMXDBG2(" leave dmxCheckCursor %d %d\n", x, y); } +static Bool dmxDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScr) +{ + return TRUE; +} + +static void dmxDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr) +{ +} + miPointerSpriteFuncRec dmxPointerSpriteFuncs = { dmxRealizeCursor, dmxUnrealizeCursor, dmxSetCursor, dmxMoveCursor, + dmxDeviceCursorInitialize, + dmxDeviceCursorCleanup }; -- cgit v1.2.3