[PATCH 2/5] xkb: Guard against SIGIO updates during PointerKeys.
Peter Hutterer
peter.hutterer at who-t.net
Wed Apr 14 17:30:22 PDT 2010
On Wed, Apr 14, 2010 at 09:58:13PM +0200, Simon Thum wrote:
> Am 14.04.2010 03:08, schrieb Peter Hutterer:
> > In theory, an event coming in during GPE could reset our lastSlave, leading
> > to rather interesting events lateron.
> Reviewed-by: Simon Thum <simon.thum at gmx.de>
>
> FWIW, mipointer.c:580 (or so, not the current source) features another
> GPE invocation without protection. Also xtest, but I think that case is
> safe.
thanks, I'll look at that too.
Cheers,
Peter
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > ---
> > xkb/ddxDevBtn.c | 3 ++-
> > 1 files changed, 2 insertions(+), 1 deletions(-)
> >
> > diff --git a/xkb/ddxDevBtn.c b/xkb/ddxDevBtn.c
> > index 3bee84b..b8a222d 100644
> > --- a/xkb/ddxDevBtn.c
> > +++ b/xkb/ddxDevBtn.c
> > @@ -64,11 +64,12 @@ XkbDDXFakeDeviceButton(DeviceIntPtr dev,Bool press,int button)
> > return;
> >
> > events = InitEventList(GetMaximumEventsNum());
> > + OsBlockSignals();
> > nevents = GetPointerEvents(events, ptr,
> > press ? ButtonPress : ButtonRelease, button,
> > 0 /* flags */, 0 /* first */,
> > 0 /* num_val */, NULL);
> > -
> > + OsReleaseSignals();
> >
> > for (i = 0; i < nevents; i++)
> > mieqProcessDeviceEvent(ptr, (InternalEvent*)events[i].event, NULL);
>
More information about the xorg-devel
mailing list