diff options
author | Koni Marti <koni.marti@gmail.com> | 2022-05-24 19:12:35 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-05-31 14:32:30 +0200 |
commit | 71e5e2d7951ae4c268e167aab32c35aeb7793d46 (patch) | |
tree | 4568aedb6ecc8f18b736da220eca3c9a797d0324 | |
parent | 62982a9a679e667b7a1b0e7be1adfa3561c7eac4 (diff) | |
download | aerc-71e5e2d7951ae4c268e167aab32c35aeb7793d46.zip |
ui: check bounds before drawing dialog
Check bounds before drawing a dialog window to avoid a panic when
resizing the terminal window.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | widgets/aerc.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/widgets/aerc.go b/widgets/aerc.go index 0b4e36d..8339180 100644 --- a/widgets/aerc.go +++ b/widgets/aerc.go @@ -181,8 +181,9 @@ func (aerc *Aerc) Focus(focus bool) { func (aerc *Aerc) Draw(ctx *ui.Context) { aerc.grid.Draw(ctx) if aerc.dialog != nil { - aerc.dialog.Draw(ctx.Subcontext(4, ctx.Height()/2-2, - ctx.Width()-8, 4)) + if w, h := ctx.Width(), ctx.Height(); w > 8 && h > 4 { + aerc.dialog.Draw(ctx.Subcontext(4, h/2-2, w-8, 4)) + } } } |