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) { /* 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
