diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index e91a25b7f..f4e184686 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -1261,9 +1261,9 @@ void CMenuWidget::calcSize() void CMenuWidget::initSelectable() { - int pos = 0; + int pos = 0, npos = 0; if (selected > 0 && selected < (int)items.size()) - pos = selected; + npos = pos = selected; else selected = -1; @@ -1272,7 +1272,15 @@ void CMenuWidget::initSelectable() break; pos++; } - selected = pos; + if (pos == (int)items.size()) { + pos = npos; + while (pos > 1) { + if (items[pos]->isSelectable()) + break; + pos--; + } + } + selected = (pos == 0) ? -1 : pos; } void CMenuWidget::paint()