[EMAIL PROTECTED] (Michal Maruška) writes:

> Hello,
>   I know about 2 bugs in X server which are quite reproducible with my 
> programs.
>  ....
> 1/ There is a way to see a screen full of pixmaps (instead of what should be 
> on
>    the screen).
>
>   I can reproduce this bug with sawfish WM.
>  .....
>   When I do such movement w/ keyboard using mouse emulation, I can trigger 
> this funny
>   bug.

I think I found the root of this problem. It's independent of the video
driver, just due to a bug in XKB code for "mouse emulation".


XkbDDXFakePointerMotion in xc/programs/Xserver/xkb/ddxFakeMtn.c does not check
if the (new pointer) position is outside screen limits (at least in my case:
xinerama compiled in, but not enabled).

... so it calls  (*pScreen->SetCursorPosition)(pScreen, oldX, oldY, TRUE);
with wrong oldX,oldY.


OTOH  xf86PostMotionEvent calls miPointerAbsoluteCursor which does the checks.

So, XkbDDXFakePointerMotion should either do the checks or (preferebly) delegate
to some mi* function, but it will take me some time before I understand which 
one.



Testing with the "nv" driver I can see some funny little screen shift when I
move the pointer (by keyboard) against an edge of the screen.




_______________________________________________
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel

Reply via email to