| Message ID | 20120104032630.GA17344@yabbi.bne.redhat.com |
|---|---|
| State | Accepted |
| Commit | 16724f3ecd322c64d9ee164fb122d4285d9cef08 |
| Headers | show |
diff --git a/src/sis_driver.c b/src/sis_driver.c index 6f7a15e..3218239 100644 --- a/src/sis_driver.c +++ b/src/sis_driver.c @@ -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; }
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Sent from my iPad On Jan 3, 2012, at 19:26, Peter Hutterer <peter.hutterer@who-t.net> wrote: > 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> > --- > I do wonder why I bothered. The way I read this is that this code would have > had unresolved symbols since server 1.6 and no-one complained. > > src/sis_driver.c | 19 ++++++++++++++++++- > 1 files changed, 18 insertions(+), 1 deletions(-) > > diff --git a/src/sis_driver.c b/src/sis_driver.c > index 6f7a15e..3218239 100644 > --- a/src/sis_driver.c > +++ b/src/sis_driver.c > @@ -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; > } > -- > 1.7.7.4 > > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel >
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> --- I do wonder why I bothered. The way I read this is that this code would have had unresolved symbols since server 1.6 and no-one complained. src/sis_driver.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-)