From 0b37441f177a46d40aad55f4553fa844bd4dbf6d Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 14 Jan 2019 21:11:33 -0500 Subject: Make repeated invalidations more efficient --- lib/ui/ui.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/ui') 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: -- cgit v1.2.3