On Tue, 2010-08-10 at 15:05 +1000, Daniel Stone wrote:
> On Tue, Aug 10, 2010 at 01:59:13PM +1000, Peter Hutterer wrote:
> > GPE modifies the valuators array passed in. Which means any driver using
> > e.g. xf86PostButtonEventP(..., valuators) twice to emulate a button click
> > will provide garbage data on the second run.
> > 
> > Constify the argument, and do the same for keyboard and proximity events.
> > 
> > Signed-off-by: Peter Hutterer <[email protected]>
> > ---
> > Changes to v1:
> > - valuators array malloc'ed now instead of the previous 
> >   "int valuators[num_valuators]"
> 
> malloc() in a signal handler ftl - I guess you could just have a
> static int copied_valuators[MAX_VALUATORS].

No need for "static" keyword unless you actually want to have them stick
around across invocations.  I don't think you do.

I hate to ever recommend alloca(), but this is actually a reasonable
place to use it if you do

    valuators = alloca(sizeof(int) * min(num_valuators, MAX_VALUATORS));

If you're ever failing to allocate 144 bytes on the stack you're already
in a very bad place.

- ajax

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to