On Thu, Dec 15, 2011 at 03:41:39PM -0200, Fernando Carrijo wrote:
> Peter Hutterer <peter.hutte...@who-t.net> wrote:
> 
> > +void
> > +TouchListenerGone(XID resource)
> > +{
> > +    TouchPointInfoPtr ti;
> > +    DeviceIntPtr dev;
> > +    InternalEvent *events = InitEventList(GetMaximumEventsNum());
> 
> Forgot to deallocate the event list.
> 
> > +    int i, j, k, nev;
> > +
> > +    if (!events)
> > +        FatalError("TouchListenerGone: couldn't allocate events\n");
> > +
> > +    for (dev = inputInfo.devices; dev; dev = dev->next)
> > +    {
> > +        if (!dev->touch)
> > +            continue;
> > +
> > +        for (i = 0; i < dev->touch->num_touches; i++)
> > +        {
> > +            ti = &dev->touch->touches[i];
> > +            if (!ti->active)
> > +                continue;
> > +
> > +            for (j = 0; j < ti->num_listeners; j++)
> > +            {
> > +                if (ti->listeners[j].listener != resource)
> > +                    continue;
> > +
> > +                nev = GetTouchOwnershipEvents(events, dev, ti, 
> > XIRejectTouch,
> > +                                              resource, 0);
> > +                for (k = 0; k < nev; k++)
> > +                    mieqProcessDeviceEvent(dev, events + k, NULL);
> > +
> > +                break;
> > +            }
> > +        }
> > +    }


FreeEventList(events, GetMaximumEventsNum());

added here, thanks.

Cheers,
  Peter
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to