Revert "dix: deduplicate callers of DeliverDeviceEvents in DeliverGrabbedEvents"
This call was supposed to have no functional changes but in some cases
DeliverDeviceEvents() was called with a uninitialised win variable.
Revert, safer than trying to sort this out otherwise.
This reverts commit 6eff14a789
.
Reported-by: Mathieu Taillefumier <mathieu.taillefumier@free.fr>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
85cecd9811
commit
f92ba92adf
18
dix/events.c
18
dix/events.c
|
@ -4266,7 +4266,6 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
if (grab->ownerEvents)
|
||||
{
|
||||
WindowPtr focus;
|
||||
WindowPtr win;
|
||||
|
||||
/* Hack: Some pointer device have a focus class. So we need to check
|
||||
* for the type of event, to see if we really want to deliver it to
|
||||
|
@ -4283,16 +4282,15 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
else
|
||||
focus = PointerRootWin;
|
||||
if (focus == PointerRootWin)
|
||||
{
|
||||
win = pSprite->win;
|
||||
focus = NullWindow;
|
||||
} else if (focus && (focus == pSprite->win ||
|
||||
IsParent(focus, pSprite->win)))
|
||||
win = pSprite->win;
|
||||
deliveries = DeliverDeviceEvents(pSprite->win, event, grab,
|
||||
NullWindow, thisDev);
|
||||
else if (focus && (focus == pSprite->win ||
|
||||
IsParent(focus, pSprite->win)))
|
||||
deliveries = DeliverDeviceEvents(pSprite->win, event, grab, focus,
|
||||
thisDev);
|
||||
else if (focus)
|
||||
win = focus;
|
||||
|
||||
deliveries = DeliverDeviceEvents(win, event, grab, focus, thisDev);
|
||||
deliveries = DeliverDeviceEvents(focus, event, grab, focus,
|
||||
thisDev);
|
||||
}
|
||||
if (!deliveries)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue