forked from joejulian/gio
io/router: avoid event copy for filtered events in pointerQueue
Signed-off-by: pierre <pierre.curto@gmail.com>
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user