Comment 1 for bug 337926

Revision history for this message
Oliver Gerlich (ogerlich) wrote :

Looking at vino-server with ltrace, it seems that XTestFakeMotionEvent() is called correctly:

gdk_screen_get_number(0x9dac108, 446, 0xbff06e78, 0x8057e99, 0x9df7000) = 0
XTestFakeMotionEvent(0x9d9ebe0, 0, 351, 446, 0) = 1
poll(0xbff06f08, 1, 0, 1, 45) = 1
read(18, "\005", 1) = 1
read(18, "", 5) = 5
g_type_check_instance_cast(0x9df7000, 0x9dfe7d0, 0xbff06e78, 0x8064207, 0x9e2a1c
0) = 0x9df7000
gdk_screen_get_display(0x9dac108, 464, 0xbff06e78, 0x8057e99, 0x9df7000) = 0x9da
9010
gdk_x11_display_get_xdisplay(0x9da9010, 464, 0xbff06e78, 0x8057e99, 0x9df7000) =
 0x9d9ebe0
gdk_screen_get_number(0x9dac108, 464, 0xbff06e78, 0x8057e99, 0x9df7000) = 0
XTestFakeMotionEvent(0x9d9ebe0, 0, 377, 464, 0) = 1
poll(0xbff06f08, 1, 0, 1, 45) = 1

... and so on.

Using the xevent app from http://www.isv.uu.se/~ziemann/xevent/ then shows that XTestFakeMotionEvent() always sets the mouse to upper left corner, while XTestFakeRelativeMotionEvent() works correctly. Maybe a bug in the new X server?