mirror of
https://github.com/X11Libre/xf86-video-sis.git
synced 2026-03-24 01:25:01 +00:00
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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user