Xi: save state for early acceptance
Delivering an event changes the state to LISTENER_IS_OWNER and we thus lose the information of early acceptance. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
d905348134
commit
026627fe19
|
@ -1126,10 +1126,10 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
||||||
TouchOwnershipEvent *ev)
|
TouchOwnershipEvent *ev)
|
||||||
{
|
{
|
||||||
TouchListener *listener = &ti->listeners[0]; /* new owner */
|
TouchListener *listener = &ti->listeners[0]; /* new owner */
|
||||||
|
int accepted_early = listener->state == LISTENER_EARLY_ACCEPT;
|
||||||
|
|
||||||
/* Deliver the ownership */
|
/* Deliver the ownership */
|
||||||
if (listener->state == LISTENER_AWAITING_OWNER ||
|
if (listener->state == LISTENER_AWAITING_OWNER || accepted_early)
|
||||||
listener->state == LISTENER_EARLY_ACCEPT)
|
|
||||||
DeliverTouchEvents(dev, ti, (InternalEvent *) ev,
|
DeliverTouchEvents(dev, ti, (InternalEvent *) ev,
|
||||||
listener->listener);
|
listener->listener);
|
||||||
else if (listener->state == LISTENER_AWAITING_BEGIN) {
|
else if (listener->state == LISTENER_AWAITING_BEGIN) {
|
||||||
|
@ -1151,7 +1151,7 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (listener->state == LISTENER_EARLY_ACCEPT)
|
if (accepted_early)
|
||||||
ActivateEarlyAccept(dev, ti);
|
ActivateEarlyAccept(dev, ti);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue