[PATCH synaptics] Reset X/Y hist if the date is set back
Peter Hutterer
peter.hutterer at who-t.net
Sun Dec 19 23:28:53 PST 2010
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 <alberto.milone at canonical.com>
> 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 <alberto.milone at canonical.com>
> ---
> 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
>
More information about the xorg-devel
mailing list