diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2022-10-31 11:51:12 -0500 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-11-06 23:18:52 +0100 |
commit | 9921b33679f6b0c9d2a609fe3112178ec40b8dd2 (patch) | |
tree | 39f0c5fe6c1b103d2c1ae5f941a9de672265c68f /lib | |
parent | 5540e3efb83e5bc50dc4600d5e66c16fca25451a (diff) | |
download | aerc-9921b33679f6b0c9d2a609fe3112178ec40b8dd2.tar.gz |
ui: invalidate ui when queuing redraw
The QueueRedraw function should always be preceeded by a call to
ui.Invalidate in order to make a redraw a occur. In one instance, this
was not done and it was possible for the UI to not redraw itself (when a
terminal closes, a UI redraw request is made but it is possible for the
UI to not be invalidated as a result of the close).
Move the call to Invalidate into the QueueRedraw function to ensure that
every QueueRedraw call will redraw the screen.
Fixes: https://todo.sr.ht/~rjarry/aerc/98
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ui/textinput.go | 1 | ||||
-rw-r--r-- | lib/ui/ui.go | 5 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/ui/textinput.go b/lib/ui/textinput.go index c2acd546..8880c4c3 100644 --- a/lib/ui/textinput.go +++ b/lib/ui/textinput.go @@ -318,7 +318,6 @@ func (ti *TextInput) showCompletions() { } ti.completions, ti.prefix = ti.tabcomplete(ti.StringLeft()) ti.completeIndex = -1 - ti.Invalidate() QueueRedraw() } diff --git a/lib/ui/ui.go b/lib/ui/ui.go index ea181d33..bbaa3a29 100644 --- a/lib/ui/ui.go +++ b/lib/ui/ui.go @@ -17,9 +17,10 @@ type AercFuncMsg struct { Func func() } -// QueueRedraw sends a nil message into the MsgChannel. Nothing will handle this -// message, but a redraw will occur if the UI is marked as invalid +// QueueRedraw marks the UI as invalid and sends a nil message into the +// MsgChannel. Nothing will handle this message, but a redraw will occur func QueueRedraw() { + Invalidate() MsgChannel <- nil } |