[PATCH 15/15] Initial smooth scrolling support

Daniel Stone daniel at fooishbar.org
Tue Jun 14 09:35:22 PDT 2011


Hi,

On Tue, Jun 14, 2011 at 03:44:44PM +1000, Peter Hutterer wrote:
> On Thu, Jun 09, 2011 at 08:57:36PM +0100, Daniel Stone wrote:
> > -#include "synaptics.h"
> > -#include "synapticsstr.h"
> > -#include "synaptics-properties.h"
> > -
> >  #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
> >  #include <X11/Xatom.h>
> >  #include <xserver-properties.h>
> >  #include <ptrveloc.h>
> >  #endif
> >  
> > +#include "synaptics.h"
> > +#include "synapticsstr.h"
> > +#include "synaptics-properties.h"
> 
> why did this get moved?

It was originally a hack so that HAVE_SMOOTH_SCROLL worked before I
included xserver-properties.h from synapticsstr.h, but now it's just
there to group the X protocol/server includes immediately above
together, and then the synaptics includes below that.  I could break
this into a separate patch if you'd like.

> > @@ -1081,6 +1093,18 @@ DeviceInit(DeviceIntPtr dev)
> >              );
> >      xf86InitValuatorDefaults(dev, 1);
> >  
> > +#ifdef HAVE_SMOOTH_SCROLL
> > +    xf86InitValuatorAxisStruct(dev, 2, axes_labels[2], 0, 0, 0, 0, 0, Relative);
> > +    xf86InitValuatorDefaults(dev, 2);
> 
> don't do this, no-one else does it. for relative axes, initialize it to min 0,
> max -1 and skip the defaults call.

Done.

> > +    priv->scroll_axis_horiz = 2;
> > +    xf86InitValuatorAxisStruct(dev, 3, axes_labels[3], 0, 0, 0, 0, 0, Relative);
> > +    xf86InitValuatorDefaults(dev, 3);
> > +    priv->scroll_axis_vert = 3;
> > +    priv->scroll_events_mask = valuator_mask_new(MAX_VALUATORS);
> > +    if (!priv->scroll_events_mask)
> > +        return !Success;
> > +#endif
> > +
> >      if (!alloc_shm_data(pInfo))
> >  	return !Success;
> 
> this seems to leave the mask hanging now, doesn't it?
> SynapticsUnInit probably needs the matching free call.

Fixed.

Cheers,
Daniel


More information about the xorg-devel mailing list