b31bb1876b
There is a race between PartViewer.Cleanup and PartViewer.Draw. pv.term
may be not nil in Draw and Cleanup() may set it to nil before
pv.term.Draw() is called, causing an invalid memory access:
[signal SIGSEGV: segmentation violation code=0x1 addr=0x29 pc=0x9413b8]
git.sr.ht/~rjarry/aerc/widgets.(*Terminal).Draw(0x0?, 0x0?)
git.sr.ht/~rjarry/aerc/widgets/terminal.go:97 +0x18
git.sr.ht/~rjarry/aerc/widgets.(*PartViewer).Draw(0xc00012a540, 0xc0026ea690)
git.sr.ht/~rjarry/aerc/widgets/msgviewer.go:862 +0x2fd
There is no need to reset term to nil.
Fixes:
|
||
---|---|---|
.. | ||
account-wizard.go | ||
account.go | ||
aerc.go | ||
authinfo.go | ||
compose.go | ||
dialog.go | ||
dirlist.go | ||
dirtree.go | ||
exline.go | ||
getpasswd.go | ||
headerlayout.go | ||
listbox.go | ||
msglist.go | ||
msgviewer.go | ||
pgpinfo.go | ||
providesmessage.go | ||
scrollable.go | ||
selector.go | ||
spinner.go | ||
status.go | ||
tabhost.go | ||
terminal.go |