On 04/05/2011 07:31 PM, Jeremy Huddleston wrote: > (related to my recent reply for the 1.10 merge of this patch) > > I believe this should this instead be: > + else if (dev && dev->valuator->axes[xv->first_valuator + j].mode > == Absolute)
As much as I just want to be done with this issue, I think you are right... If the internal event is converted to XI 1.x after the device is removed, this could cause a NULL pointer dereference. I'll send another patch to fix this up. Thanks, -- Chase > On Mar 31, 2011, at 08:29, Chase Douglas wrote: > >> Relative valuator values should not be reported in any future events. If >> a relative valuator value is not set in an internal event, set the value >> to 0 for XI 1.x valuator events sent over the wire. >> >> Signed-off-by: Chase Douglas <[email protected]> >> --- >> dix/eventconvert.c | 4 +++- >> 1 files changed, 3 insertions(+), 1 deletions(-) >> >> diff --git a/dix/eventconvert.c b/dix/eventconvert.c >> index 3285133..088ba98 100644 >> --- a/dix/eventconvert.c >> +++ b/dix/eventconvert.c >> @@ -389,8 +389,10 @@ getValuatorEvents(DeviceEvent *ev, deviceValuator *xv) >> for (j = 0; j < xv->num_valuators; j++) { >> if (BitIsOn(ev->valuators.mask, xv->first_valuator + j)) >> valuators[j] = ev->valuators.data[xv->first_valuator + j]; >> - else >> + else if (dev->valuator->axes[xv->first_valuator + j].mode == >> Absolute) >> valuators[j] = dev->valuator->axisVal[xv->first_valuator + >> j]; >> + else >> + valuators[j] = 0; >> } >> >> if (i + 6 < num_valuators) >> -- >> 1.7.4.1 >> >> _______________________________________________ >> [email protected]: X.Org development >> Archives: http://lists.x.org/archives/xorg-devel >> Info: http://lists.x.org/mailman/listinfo/xorg-devel >> > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
