Use miPointerSetPosition, not miPointerAbsoluteCursor

miPointerAbsoluteCursor was removed in '09.

Technically this shouldn't just work on the VCP since any master pointer may
end up in the dead area. However, I suspect the Venn diagramm of MPX users
and sis merged framebuffer users shows little overlap.

miPointerSetPosition's prototype changed a few times, these are a bunch of
untested ifdefs that should be correct according to the git history.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
Peter Hutterer
2011-10-31 15:03:21 +10:00
parent 3e0d8e1192
commit 16724f3ecd

View File

@@ -85,6 +85,10 @@
#include <X11/extensions/dpms.h>
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
#include <inputstr.h> /* for inputInfo */
#endif
#ifdef XF86DRI
#include "dri.h"
@@ -9346,9 +9350,22 @@ SISMergedPointerMoved(int scrnIndex, int x, int y)
}
}
if(doit) {
UpdateCurrentTime();
sigstate = xf86BlockSIGIO();
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
{
double dx = x, dy = y;
miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
x = (int)dx;
y = (int)dy;
}
#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11
miPointerSetPosition(inputInfo.pointer, Absolute, x, y);
#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5
miPointerSetPosition(inputInfo.pointer, x, y);
#else
UpdateCurrentTime();
miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
#endif
xf86UnblockSIGIO(sigstate);
return;
}