diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-20 21:17:14 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-20 21:17:14 +1000 |
commit | 1f920ae6ba781d5862b8bd66084c2a75da3f3076 (patch) | |
tree | ea880bf1e8785e4145b8925a8003d3322c21a631 /pkg/gui/controllers | |
parent | a548b289ef8531d12ba74666a8fcf0aa8dde628f (diff) | |
parent | 932e01b41ac3203b43ec786b8d9c25334e3e1623 (diff) |
Fix crash on empty menu (#2799)
Diffstat (limited to 'pkg/gui/controllers')
-rw-r--r-- | pkg/gui/controllers/helpers/confirmation_helper.go | 7 | ||||
-rw-r--r-- | pkg/gui/controllers/menu_controller.go | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/pkg/gui/controllers/helpers/confirmation_helper.go b/pkg/gui/controllers/helpers/confirmation_helper.go index c721310b2..fe18dd638 100644 --- a/pkg/gui/controllers/helpers/confirmation_helper.go +++ b/pkg/gui/controllers/helpers/confirmation_helper.go @@ -302,7 +302,12 @@ func (self *ConfirmationHelper) resizeMenu() { _, _ = self.c.GocuiGui().SetView(self.c.Views().Menu.Name(), x0, y0, x1, menuBottom, 0) tooltipTop := menuBottom + 1 - tooltipHeight := getMessageHeight(true, self.c.Contexts().Menu.GetSelected().Tooltip, panelWidth) + 2 // plus 2 for the frame + tooltip := "" + selectedItem := self.c.Contexts().Menu.GetSelected() + if selectedItem != nil { + tooltip = selectedItem.Tooltip + } + tooltipHeight := getMessageHeight(true, tooltip, panelWidth) + 2 // plus 2 for the frame _, _ = self.c.GocuiGui().SetView(self.c.Views().Tooltip.Name(), x0, tooltipTop, x1, tooltipTop+tooltipHeight-1, 0) } diff --git a/pkg/gui/controllers/menu_controller.go b/pkg/gui/controllers/menu_controller.go index 3b04f01f2..c9ba2c701 100644 --- a/pkg/gui/controllers/menu_controller.go +++ b/pkg/gui/controllers/menu_controller.go @@ -53,7 +53,9 @@ func (self *MenuController) GetOnClick() func() error { func (self *MenuController) GetOnFocus() func(types.OnFocusOpts) error { return func(types.OnFocusOpts) error { selectedMenuItem := self.context().GetSelected() - self.c.Views().Tooltip.SetContent(selectedMenuItem.Tooltip) + if selectedMenuItem != nil { + self.c.Views().Tooltip.SetContent(selectedMenuItem.Tooltip) + } return nil } } |