[PATCH] Don't report old relative values in getValuatorEvents

Simon Thum simon.thum at gmx.de
Fri Apr 1 05:45:56 PDT 2011


On 03/31/2011 05:29 PM, Chase Douglas wrote:
> Relative valuator values should not be reported in any future events. If
> a relative valuator value is not set in an internal event, set the value
> to 0 for XI 1.x valuator events sent over the wire.
> 
> Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
> ---
>  dix/eventconvert.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/dix/eventconvert.c b/dix/eventconvert.c
> index 3285133..088ba98 100644
> --- a/dix/eventconvert.c
> +++ b/dix/eventconvert.c
> @@ -389,8 +389,10 @@ getValuatorEvents(DeviceEvent *ev, deviceValuator *xv)
>          for (j = 0; j < xv->num_valuators; j++) {
>              if (BitIsOn(ev->valuators.mask, xv->first_valuator + j))
>                  valuators[j] = ev->valuators.data[xv->first_valuator + j];
> -            else
> +            else if (dev->valuator->axes[xv->first_valuator + j].mode == Absolute)
>                  valuators[j] = dev->valuator->axisVal[xv->first_valuator + j];
> +            else
> +                valuators[j] = 0;
>          }
>  
>          if (i + 6 < num_valuators)
Seems sane.

Reviewed-by: Simon Thum <simon.thum at gmx.de>

Cheers,

Simon


More information about the xorg-devel mailing list