diff options
authorPeter Hutterer <>2012-02-17 11:49:43 +1000
committerPeter Hutterer <>2012-02-21 11:22:08 +1000
commitc25ff549c9636ad89a81fbf364159c7f040d163b (patch)
parent0646cdb99d708e03137afc9aabd8957f3559546a (diff)
Revert "Don't store fake events in the motion history"
This commit introduced a regression. On some touchpads, the pointer keeps moving in the last direction when the finger movement stops but the finger is left on the touchpad. Cause appears to be get_delta() which calculates the deltas based on the motion history but has no control flow for the lack of fake motion events in the history after this commit. Thus, under some conditions, the delta is always non-zero as the history does not change. Reproducer attached to bug X.Org Bug 45278 <> This reverts commit c8b098214b44cf0585d78c460401ea7d143769f3. Signed-off-by: Peter Hutterer <> Reviewed-by: Chase Douglas <> Acked-by: Daniel Stone <>
1 files changed, 1 insertions, 1 deletions
diff --git a/src/synaptics.c b/src/synaptics.c
index 7b3f680..65b48ee 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2887,7 +2887,7 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
priv->lastButtons = buttons;
/* generate a history of the absolute positions */
- if (inside_active_area && !from_timer)
+ if (inside_active_area)
store_history(priv, hw->x, hw->y, hw->millis);
return delay;