From fa538f219f3536d6890a0f658c7dddf8dc09f5d2 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sun, 26 Jun 2022 10:14:02 +0200 Subject: [PATCH] app: remove ackEvent, tighten error check ackEvent is not necessary, a nil event.Event doesn't allocate. Signed-off-by: Elias Naur --- app/window.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/window.go b/app/window.go index d894c31c..e0f6931b 100644 --- a/app/window.go +++ b/app/window.go @@ -125,9 +125,6 @@ type queue struct { q router.Router } -// Pre-allocate the ack event to avoid garbage. -var ackEvent event.Event - // NewWindow creates a new window for a set of window // options. The options are hints; the platform is free to // ignore or adjust them. @@ -679,7 +676,7 @@ func (w *Window) waitAck(d driver) { select { case f := <-w.driverFuncs: f(d) - case w.out <- ackEvent: + case w.out <- event.Event(nil): // A dummy event went through, so we know the application has processed the previous event. return case <-w.immediateRedraws: @@ -713,7 +710,7 @@ func (w *Window) waitFrame(d driver) *op.Ops { case frame := <-w.frames: // The client called FrameEvent.Frame. return frame - case w.out <- ackEvent: + case w.out <- event.Event(nil): // The client ignored FrameEvent and continued processing // events. return nil @@ -844,8 +841,7 @@ func (w *Window) processEvent(d driver, e event.Event) bool { off.Pop() } deco.Add(wrapper) - err := w.validateAndProcess(d, viewSize, e2.Sync, wrapper, signal) - if err != nil { + if err := w.validateAndProcess(d, viewSize, e2.Sync, wrapper, signal); err != nil { w.destroyGPU() w.out <- system.DestroyEvent{Err: err} close(w.dead)