[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