[PATCH synaptics] Reset X/Y hist if the date is set back
Simon Thum
simon.thum at gmx.de
Tue Dec 21 14:32:44 PST 2010
On 12/20/2010 08:28 AM, Peter Hutterer wrote:
> On Sun, Dec 19, 2010 at 05:04:51PM +0100, Alberto Milone wrote:
>> @@ -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)
Protecting against timer overruns is nothing but good sense. But it
should happen seldom enough that anything but crashing the machine is
acceptable. It might be better to handle this in all instances where
history is queried, i.e. only handling a strictly positive dtime.
BTW I notice we somehow messed up the return value of ComputeDeltas
(delay), probably some cleanup missing.
Cheers,
Simon
More information about the xorg-devel
mailing list