On 03/01/2012 05:10 PM, Peter Hutterer wrote: > Introduced in 2603ad69b997c999404ecc441e0d64ea2cc22018. Previously, the > delta was incremented by (actual delta/scroll dist), button clicks where > then sent while (delta-- >= 1). > > After 2603ad69b997c999404ecc441e0d64ea2cc22018, the delta was incremented by > the delta only, scroll dist was used as increment in the smooth scrolling > information. On non-smooth-scrolling servers, the driver would now send > too many events. Restore the old behaviour by dividing by the scroll > distance before entering the button click loop. > > X.Org Bug 46617 <http://bugs.freedesktop.org/show_bug.cgi?id=46617> > > Tested-by: Peter Zotov <[email protected]> > Signed-off-by: Peter Hutterer <[email protected]> > --- > src/synaptics.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/src/synaptics.c b/src/synaptics.c > index 139f237..7713784 100644 > --- a/src/synaptics.c > +++ b/src/synaptics.c > @@ -2743,6 +2743,12 @@ post_scroll_events(const InputInfoPtr pInfo) > if (valuator_mask_num_valuators(priv->scroll_events_mask)) > xf86PostMotionEventM(pInfo->dev, FALSE, priv->scroll_events_mask); > #else > + SynapticsParameters *para = &priv->synpara; > + > + /* smooth scrolling uses the dist as increment */ > + priv->scroll.delta_y /= para->scroll_dist_vert; > + priv->scroll.delta_x /= para->scroll_dist_horiz; > + > while (priv->scroll.delta_y <= -1.0) > { > post_button_click(pInfo, 4);
Sounds reasonable to me. Reviewed-by: Chase Douglas <[email protected]> _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
