diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-24 15:10:52 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-25 10:24:08 +1000 |
commit | 0f9ffc887ca1471e98df746253d9300e03e46a15 (patch) | |
tree | 460bc8deca18dbe90307673d1499c8d6d38cce1b | |
parent | 5e96945cf54136afdb80cc17f67611251d59205d (diff) |
Xi: fix XIWarpPointer up for FP3232 as input coordinates.
requires inputproto 1.9.99.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | Xi/xiwarppointer.c | 27 | ||||
-rw-r--r-- | configure.ac | 2 |
2 files changed, 18 insertions, 11 deletions
diff --git a/Xi/xiwarppointer.c b/Xi/xiwarppointer.c index bb2521c43..f659269bb 100644 --- a/Xi/xiwarppointer.c +++ b/Xi/xiwarppointer.c @@ -64,8 +64,8 @@ SProcXIWarpPointer(ClientPtr client) swapl(&stuff->dst_win, n); - swaps(&stuff->src_x, n); - swaps(&stuff->src_y, n); + swapl(&stuff->src_x, n); + swapl(&stuff->src_y, n); swaps(&stuff->src_width, n); swaps(&stuff->src_height, n); - swaps(&stuff->dst_x, n); - swaps(&stuff->dst_y, n); + swapl(&stuff->dst_x, n); + swapl(&stuff->dst_y, n); swaps(&stuff->deviceid, n); @@ -83,2 +83,4 @@ ProcXIWarpPointer(ClientPtr client) ScreenPtr newScreen; + int src_x, src_y; + int dst_x, dst_y; @@ -107,2 +109,7 @@ ProcXIWarpPointer(ClientPtr client) + src_x = stuff->src_x / (double)(1 << 16); + src_y = stuff->src_y / (double)(1 << 16); + dst_x = stuff->dst_x / (double)(1 << 16); + dst_y = stuff->dst_y / (double)(1 << 16); + if (stuff->src_win != None) @@ -121,8 +128,8 @@ ProcXIWarpPointer(ClientPtr client) if (src->drawable.pScreen != pSprite->hotPhys.pScreen || - x < winX + stuff->src_x || - y < winY + stuff->src_y || + x < winX + src_x || + y < winY + src_y || (stuff->src_width != 0 && - winX + stuff->src_x + (int)stuff->src_width < 0) || + winX + src_x + (int)stuff->src_width < 0) || (stuff->src_height != 0 && - winY + stuff->src_y + (int)stuff->src_height < y) || + winY + src_y + (int)stuff->src_height < y) || !PointInWindowIsVisible(src, x, y)) @@ -139,4 +146,4 @@ ProcXIWarpPointer(ClientPtr client) - x += stuff->dst_x; - y += stuff->dst_y; + x += dst_x; + y += dst_y; diff --git a/configure.ac b/configure.ac index bbb5fa8bd..400c36c56 100644 --- a/configure.ac +++ b/configure.ac @@ -710,3 +710,3 @@ XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' dnl Core modules for most extensions, et al. -REQUIRED_MODULES="[randrproto >= 1.2.99.3] [renderproto >= 0.11] [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto [xextproto >= 7.0.99.3] [xproto >= 7.0.13] [xtrans >= 1.2.2] bigreqsproto resourceproto fontsproto [inputproto >= 1.9.99.15] [kbproto >= 1.0.3]" +REQUIRED_MODULES="[randrproto >= 1.2.99.3] [renderproto >= 0.11] [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto [xextproto >= 7.0.99.3] [xproto >= 7.0.13] [xtrans >= 1.2.2] bigreqsproto resourceproto fontsproto [inputproto >= 1.9.99.902] [kbproto >= 1.0.3]" REQUIRED_LIBS="xfont xau [pixman-1 >= 0.15.20]" |