From 3e525a0393ae23dc6808c49a009b23780674f2f5 Mon Sep 17 00:00:00 2001 From: pierre Date: Thu, 25 Mar 2021 09:56:09 +0100 Subject: [PATCH] io/router: move static conditions out of the loop Signed-off-by: pierre --- io/router/pointer.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/io/router/pointer.go b/io/router/pointer.go index 18d1d921..591a92ff 100644 --- a/io/router/pointer.go +++ b/io/router/pointer.go @@ -330,19 +330,21 @@ func (q *pointerQueue) Push(e pointer.Event, events *handlerEvents) { func (q *pointerQueue) deliverEvent(p *pointerInfo, events *handlerEvents, e pointer.Event) { foremost := true + if p.pressed && len(p.handlers) == 1 { + e.Priority = pointer.Grabbed + foremost = false + } 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 { + if foremost { + foremost = false e.Priority = pointer.Foremost } e.Position = q.invTransform(h.area, e.Position) - foremost = false events.Add(k, e) } }