summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-07-20 21:17:14 +1000
committerGitHub <noreply@github.com>2023-07-20 21:17:14 +1000
commit1f920ae6ba781d5862b8bd66084c2a75da3f3076 (patch)
treeea880bf1e8785e4145b8925a8003d3322c21a631 /pkg/gui
parenta548b289ef8531d12ba74666a8fcf0aa8dde628f (diff)
parent932e01b41ac3203b43ec786b8d9c25334e3e1623 (diff)
Fix crash on empty menu (#2799)
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/context/menu_context.go4
-rw-r--r--pkg/gui/controllers/helpers/confirmation_helper.go7
-rw-r--r--pkg/gui/controllers/menu_controller.go4
3 files changed, 13 insertions, 2 deletions
diff --git a/pkg/gui/context/menu_context.go b/pkg/gui/context/menu_context.go
index 088640ea0..a353a4e0d 100644
--- a/pkg/gui/context/menu_context.go
+++ b/pkg/gui/context/menu_context.go
@@ -135,6 +135,10 @@ func (self *MenuContext) OnMenuPress(selectedItem *types.MenuItem) error {
return err
}
+ if selectedItem == nil {
+ return nil
+ }
+
if err := selectedItem.OnPress(); err != nil {
return err
}
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
}
}