From 0b37441f177a46d40aad55f4553fa844bd4dbf6d Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 14 Jan 2019 21:11:33 -0500 Subject: [PATCH] Make repeated invalidations more efficient --- lib/ui/ui.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/ui/ui.go b/lib/ui/ui.go index 8a390f3..8fabf59 100644 --- a/lib/ui/ui.go +++ b/lib/ui/ui.go @@ -78,6 +78,16 @@ func (state *UI) Tick() bool { } state.Content.Event(event) case <-state.invalidations: + for { + // Flush any other pending invalidations + select { + case <-state.invalidations: + break + default: + goto done + } + } + done: state.Content.Draw(state.ctx) state.screen.Show() default: