[patch 2/4] Update for changes in mieq API
Jon TURNEY
jon.turney at dronecode.org.uk
Sun Oct 12 05:31:08 PDT 2008
Thanks for the comments.
Peter Hutterer wrote:
> InitEventList should only be called once and that's done in the DIX anyway.
> Use GetEventList() instead here.
Oops. I'm not sure how I missed the existence of that
>> +void winEnqueueMotion(int x, int y)
>
> I don't think this one is needed. use miPointerSetPosition instead.
>
>> Index: xorg-git/xserver/hw/xwin/winmultiwindowwndproc.c
>> ===================================================================
>> --- xorg-git.orig/xserver/hw/xwin/winmultiwindowwndproc.c
>> +++ xorg-git/xserver/hw/xwin/winmultiwindowwndproc.c
>> @@ -535,9 +535,9 @@ winTopLevelWindowProc (HWND hwnd, UINT m
>> }
>>
>> /* Deliver absolute cursor position to X Server */
>> - miPointerAbsoluteCursor (ptMouse.x - s_pScreenInfo->dwXOffset,
>> - ptMouse.y - s_pScreenInfo->dwYOffset,
>> - g_c32LastInputEventTime = GetTickCount ());
>> + winEnqueueMotion(ptMouse.x - s_pScreenInfo->dwXOffset,
>> + ptMouse.y - s_pScreenInfo->dwYOffset);
>> +
>
> as above, miPointerSetPosition.
I think I must be missing understanding something important here. If I
don't enqueue motion events, xeyes stares fixedly at the centre of the
screen and all my mouse clicks appear to be there as well...
>> /* Call the mi warp procedure to do the actual warping in X. */
>> - miPointerWarpCursor (pScreen, x, y);
>> + miPointerWarpCursor (inputInfo.pointer, pScreen, x, y);
>
> That should be miPointerWarpCursor(pDev, pScreen, x, y);
> Not that it matters much if you have only one cursor anyway, but still.
>
> Rest looks ok, though I didn't even compile-tested it.
Good catch :-)
More information about the xorg
mailing list