io/router: avoid event copy for filtered events in pointerQueue

Signed-off-by: pierre <pierre.curto@gmail.com>
This commit is contained in:
pierre
2021-02-24 10:57:57 +01:00
committed by Elias Naur
parent 14595dde9f
commit 60d48014d4
+6 -6
View File
@@ -333,18 +333,18 @@ func (q *pointerQueue) deliverEvent(p *pointerInfo, events *handlerEvents, e poi
foremost := true
for _, k := range p.handlers {
h := q.handlers[k]
if e.Type&h.types == 0 {
continue
}
e := e
if p.pressed && len(p.handlers) == 1 {
e.Priority = pointer.Grabbed
} else if foremost {
e.Priority = pointer.Foremost
}
if e.Type&h.types != 0 {
e.Position = q.invTransform(h.area, e.Position)
foremost = false
events.Add(k, e)
}
e.Position = q.invTransform(h.area, e.Position)
foremost = false
events.Add(k, e)
}
}