From bedb9979a9b65dad9d72dcbdb3174508d3714f36 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 May 2018 00:44:08 +0300 Subject: Update some dependencies --- vendor/maunium.net/go/tview/list.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'vendor/maunium.net/go/tview/list.go') diff --git a/vendor/maunium.net/go/tview/list.go b/vendor/maunium.net/go/tview/list.go index cc25262..bc5be85 100644 --- a/vendor/maunium.net/go/tview/list.go +++ b/vendor/maunium.net/go/tview/list.go @@ -222,8 +222,8 @@ func (l *List) Draw(screen tcell.Screen) { // We want to keep the current selection in view. What is our offset? var offset int if l.showSecondaryText { - if l.currentItem >= height/2 { - offset = l.currentItem + 1 - (height / 2) + if 2*l.currentItem >= height { + offset = (2*l.currentItem + 2 - height) / 2 } } else { if l.currentItem >= height { @@ -296,12 +296,14 @@ func (l *List) InputHandler() func(event *tcell.EventKey, setFocus func(p Primit case tcell.KeyPgUp: l.currentItem -= 5 case tcell.KeyEnter: - item := l.items[l.currentItem] - if item.Selected != nil { - item.Selected() - } - if l.selected != nil { - l.selected(l.currentItem, item.MainText, item.SecondaryText, item.Shortcut) + if l.currentItem >= 0 && l.currentItem < len(l.items) { + item := l.items[l.currentItem] + if item.Selected != nil { + item.Selected() + } + if l.selected != nil { + l.selected(l.currentItem, item.MainText, item.SecondaryText, item.Shortcut) + } } case tcell.KeyEscape: if l.done != nil { -- cgit v1.2.3