mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-18 00:10:32 +01:00
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>
(cherry picked from commit 026627fe19)
This commit is contained in:
parent
7343d05e3a
commit
e1c908f393
1 changed files with 3 additions and 3 deletions
|
|
@ -1126,10 +1126,10 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
|||
TouchOwnershipEvent *ev)
|
||||
{
|
||||
TouchListener *listener = &ti->listeners[0]; /* new owner */
|
||||
int accepted_early = listener->state == LISTENER_EARLY_ACCEPT;
|
||||
|
||||
/* Deliver the ownership */
|
||||
if (listener->state == LISTENER_AWAITING_OWNER ||
|
||||
listener->state == LISTENER_EARLY_ACCEPT)
|
||||
if (listener->state == LISTENER_AWAITING_OWNER || accepted_early)
|
||||
DeliverTouchEvents(dev, ti, (InternalEvent *) ev,
|
||||
listener->listener);
|
||||
else if (listener->state == LISTENER_AWAITING_BEGIN) {
|
||||
|
|
@ -1151,7 +1151,7 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
|||
return;
|
||||
}
|
||||
|
||||
if (listener->state == LISTENER_EARLY_ACCEPT)
|
||||
if (accepted_early)
|
||||
ActivateEarlyAccept(dev, ti);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue