On Fri, Apr 15, 2011 at 12:14:03PM -0400, Chase Douglas wrote: > Otherwise, an event that causes us to go into proximity with some new > valuator values will retain some old valuator values from when last in > proximity. This change ensures that all values posted while out of > proximity are accounted for. > > Signed-off-by: Chase Douglas <[email protected]> > --- > src/evdev.c | 15 ++++++++------- > 1 files changed, 8 insertions(+), 7 deletions(-) > > diff --git a/src/evdev.c b/src/evdev.c > index b767b0e..f31f492 100644 > --- a/src/evdev.c > +++ b/src/evdev.c > @@ -525,13 +525,14 @@ EvdevProcessProximityState(InputInfoPtr pInfo) > { > /* We're about to go into/out of proximity but have no abs events > * within the EV_SYN. Use the last coordinates we have. */ > - if (!pEvdev->abs_queued && > - valuator_mask_num_valuators(pEvdev->prox) > 0) > - { > - valuator_mask_copy(pEvdev->vals, pEvdev->prox); > - valuator_mask_zero(pEvdev->prox); > - pEvdev->abs_queued = 1; > - } > + for (i = 0; i < valuator_mask_size(pEvdev->prox); i++) > + if (!valuator_mask_isset(pEvdev->vals, i) && > + valuator_mask_isset(pEvdev->prox, i)) > + valuator_mask_set(pEvdev->vals, i, > + valuator_mask_get(pEvdev->prox, i)); > + valuator_mask_zero(pEvdev->prox); > + > + pEvdev->abs_queued = valuator_mask_size(pEvdev->vals); > } > > pEvdev->in_proximity = prox_state; > -- > 1.7.4.1
pushed, thank you Cheers, Peter _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
