[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