| Message ID | 20120321040917.GA308@yabbi.bne.redhat.com |
|---|---|
| State | Accepted |
| Headers | show |
diff --git a/dix/getevents.c b/dix/getevents.c index 5b9cef3..fd5998d 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -1311,17 +1311,18 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, transformAbsolute(pDev, &mask); clipAbsolute(pDev, &mask); + if ((flags & POINTER_NORAW) == 0) + set_raw_valuators(raw, &mask, raw->valuators.data); } else { if (flags & POINTER_ACCELERATE) accelPointer(pDev, &mask, ms); + if ((flags & POINTER_NORAW) == 0) + set_raw_valuators(raw, &mask, raw->valuators.data); + moveRelative(pDev, &mask); } /* valuators are in device coordinate system in absolute coordinates */ - - if ((flags & POINTER_NORAW) == 0) - set_raw_valuators(raw, &mask, raw->valuators.data); - scale_to_desktop(pDev, &mask, &devx, &devy, &screenx, &screeny); scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, &mask, &devx, &devy, &screenx, &screeny);
On 03/20/2012 09:09 PM, Peter Hutterer wrote: > Regression introduced in 4e52cc0ef48145134cd58d357fb7289e6f8bb709 > > Raw event values are values as-is from the driver, modified only be > transformation or acceleration. 4e52cc caused the mask to be updated from > driver-submitted relative to device-absolute coordinates, and that mask was > then written into the raw events. > > Move the raw event update into the respective branches for absolute/relative > events. > > X.Org Bug 46976 <http://bugs.freedesktop.org/show_bug.cgi?id=46976> > > Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Makes sense. Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Hi, On 21 March 2012 04:09, Peter Hutterer <peter.hutterer@who-t.net> wrote: > Regression introduced in 4e52cc0ef48145134cd58d357fb7289e6f8bb709 > > Raw event values are values as-is from the driver, modified only be > transformation or acceleration. 4e52cc caused the mask to be updated from > driver-submitted relative to device-absolute coordinates, and that mask was > then written into the raw events. > > Move the raw event update into the respective branches for absolute/relative > events. > > X.Org Bug 46976 <http://bugs.freedesktop.org/show_bug.cgi?id=46976> > > Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Sounds good to me. Reviewed-by: Daniel Stone <daniel@fooishbar.org> Cheers, Daniel
On 03/21/2012 05:09 AM, Peter Hutterer wrote: > Regression introduced in 4e52cc0ef48145134cd58d357fb7289e6f8bb709 > > Raw event values are values as-is from the driver, modified only be > transformation or acceleration. 4e52cc caused the mask to be updated from > driver-submitted relative to device-absolute coordinates, and that mask was > then written into the raw events. > > Move the raw event update into the respective branches for absolute/relative > events. > > X.Org Bug 46976<http://bugs.freedesktop.org/show_bug.cgi?id=46976> > > Signed-off-by: Peter Hutterer<peter.hutterer@who-t.net> > --- > dix/getevents.c | 9 +++++---- > 1 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/dix/getevents.c b/dix/getevents.c > index 5b9cef3..fd5998d 100644 > --- a/dix/getevents.c > +++ b/dix/getevents.c > @@ -1311,17 +1311,18 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, > > transformAbsolute(pDev,&mask); > clipAbsolute(pDev,&mask); > + if ((flags& POINTER_NORAW) == 0) > + set_raw_valuators(raw,&mask, raw->valuators.data); > } else { > if (flags& POINTER_ACCELERATE) > accelPointer(pDev,&mask, ms); > + if ((flags& POINTER_NORAW) == 0) > + set_raw_valuators(raw,&mask, raw->valuators.data); > + > moveRelative(pDev,&mask); > } > > /* valuators are in device coordinate system in absolute coordinates */ > - > - if ((flags& POINTER_NORAW) == 0) > - set_raw_valuators(raw,&mask, raw->valuators.data); > - > scale_to_desktop(pDev,&mask,&devx,&devy,&screenx,&screeny); > scr = positionSprite(pDev, (flags& POINTER_ABSOLUTE) ? Absolute : Relative, > &mask,&devx,&devy,&screenx,&screeny); Reviewed-by: Simon Thum <simon.thum@gmx.de> Cheers, Simon
Regression introduced in 4e52cc0ef48145134cd58d357fb7289e6f8bb709 Raw event values are values as-is from the driver, modified only be transformation or acceleration. 4e52cc caused the mask to be updated from driver-submitted relative to device-absolute coordinates, and that mask was then written into the raw events. Move the raw event update into the respective branches for absolute/relative events. X.Org Bug 46976 <http://bugs.freedesktop.org/show_bug.cgi?id=46976> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> --- dix/getevents.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)