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
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
