Bugfix in pages focus.

This commit is contained in:
Oliver 2017-12-30 22:09:10 +01:00
parent b8e50f0e44
commit 5555b22427
1 changed files with 8 additions and 5 deletions

View File

@ -190,16 +190,19 @@ func (p *Pages) Focus(delegate func(p Primitive)) {
// refocus sets the focus to the topmost visible page but only if we have focus. // refocus sets the focus to the topmost visible page but only if we have focus.
func (p *Pages) refocus() { func (p *Pages) refocus() {
if !p.HasFocus() || p.setFocus == nil { var (
return topItem Primitive
} hasFocus bool
var topItem Primitive )
for _, page := range p.pages { for _, page := range p.pages {
if page.Item.GetFocusable().HasFocus() {
hasFocus = true
}
if page.Visible { if page.Visible {
topItem = page.Item topItem = page.Item
} }
} }
if topItem != nil { if hasFocus && p.setFocus != nil && topItem != nil {
p.setFocus(topItem) p.setFocus(topItem)
} }
} }