aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorTim Culverhouse <tim@timculverhouse.com>2022-10-31 11:51:12 -0500
committerRobin Jarry <robin@jarry.cc>2022-11-06 23:18:52 +0100
commit9921b33679f6b0c9d2a609fe3112178ec40b8dd2 (patch)
tree39f0c5fe6c1b103d2c1ae5f941a9de672265c68f /lib
parent5540e3efb83e5bc50dc4600d5e66c16fca25451a (diff)
downloadaerc-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.go1
-rw-r--r--lib/ui/ui.go5
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
}