diff options
author | Alan Coopersmith <alan.coopersmith@sun.com> | 2008-11-05 19:26:38 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@sun.com> | 2008-11-05 19:26:38 -0800 |
commit | daac081f34baab7388a8c42e5a80a42cd6810d75 (patch) | |
tree | 849f3b885d00234b53f9fb24c01578b7be58d285 | |
parent | 431982e7c04ec076eeafd57190db4d7d901efa7c (diff) |
sun_mouse.c: Use miPointerGetScreen instead of miPointerCurrentScreen
-rw-r--r-- | src/sun_mouse.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/sun_mouse.c b/src/sun_mouse.c index d0867f1..ee3ddd5 100644 --- a/src/sun_mouse.c +++ b/src/sun_mouse.c @@ -397,9 +397,16 @@ vuidReadInput(InputInfoPtr pInfo) #endif #ifdef HAVE_ABSOLUTE_MOUSE_SCALING else if (pVuidMse->event.id == MOUSE_TYPE_ABSOLUTE) { + ScreenPtr ptrCurScreen; + /* force sending absolute resolution scaling ioctl */ pVuidMse->absres.height = pVuidMse->absres.width = 0; - vuidMouseSendScreenSize(miPointerCurrentScreen(), pVuidMse); +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + ptrCurScreen = miPointerCurrentScreen(); +#else + ptrCurScreen = miPointerGetScreen(pInfo->dev); +#endif + vuidMouseSendScreenSize(ptrCurScreen, pVuidMse); } #endif @@ -457,6 +464,7 @@ static void vuidMouseAdjustFrame(int index, int x, int y, int flags) xf86AdjustFrameProc *wrappedAdjustFrame = (xf86AdjustFrameProc *) vuidMouseGetScreenPrivate(pScreen); VuidMsePtr m; + ScreenPtr ptrCurScreen; if(wrappedAdjustFrame) { pScrn->AdjustFrame = wrappedAdjustFrame; @@ -464,8 +472,16 @@ static void vuidMouseAdjustFrame(int index, int x, int y, int flags) pScrn->AdjustFrame = vuidMouseAdjustFrame; } - if (miPointerCurrentScreen() == pScreen) { - for (m = vuidMouseList; m != NULL ; m = m->next) { +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + ptrCurScreen = miPointerCurrentScreen(); +#endif + + for (m = vuidMouseList; m != NULL ; m = m->next) { +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 0 + ptrCurScreen = miPointerGetScreen(m->pInfo->dev); +#endif + if (ptrCurScreen == pScreen) + { vuidMouseSendScreenSize(pScreen, m); } } |