On Sun, Dec 19, 2010 at 05:04:51PM +0100, Alberto Milone wrote: > Hi all, > > The attached patch solves a problem that causes the touchpad cursor to > freeze after setting the date back. The full description is available > in the patch. > > Regards, > > -- > Alberto Milone > Sustaining Engineer (system) > Premium Engagements Team > Canonical OEM Services
> From f3399a956a2ebb90c11600163f380b9eee44b2ba Mon Sep 17 00:00:00 2001 > From: Alberto Milone <[email protected]> > Date: Sun, 19 Dec 2010 16:46:19 +0100 > Subject: [PATCH 1/1] Reset X/Y hist if the date is set back > > Setting the date back, even by one day, will cause the deltas > to be negative, thus making the cursor freeze. Resetting the X/Y > history when the current timestamp is smaller than the previous > one solves the problem. > > Signed-off-by: Alberto Milone <[email protected]> > --- > src/synaptics.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/src/synaptics.c b/src/synaptics.c > index f64a081..be7a45e 100644 > --- a/src/synaptics.c > +++ b/src/synaptics.c > @@ -1754,7 +1754,8 @@ ComputeDeltas(SynapticsPrivate *priv, const struct > SynapticsHwState *hw, > if (inside_area && moving_state && !priv->palm && > !priv->vert_scroll_edge_on && !priv->horiz_scroll_edge_on && > !priv->vert_scroll_twofinger_on && !priv->horiz_scroll_twofinger_on && > - !priv->circ_scroll_on && priv->prevFingers == hw->numFingers) { > + !priv->circ_scroll_on && priv->prevFingers == hw->numFingers && > + hw->millis > HIST(0).millis) { shouldn't we reset the history in this case too? it is invalid after all (not sure if it has an effect though) Cheers, Peter > /* FIXME: Wtf?? what's with 13? */ > delay = MIN(delay, 13); > if (priv->count_packet_finger > 3) { /* min. 3 packets */ > -- > 1.7.1 > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
