diff --git a/BeefLibs/Beefy2D/src/widgets/Menu.bf b/BeefLibs/Beefy2D/src/widgets/Menu.bf index f201382c..dd6adfc5 100644 --- a/BeefLibs/Beefy2D/src/widgets/Menu.bf +++ b/BeefLibs/Beefy2D/src/widgets/Menu.bf @@ -528,6 +528,8 @@ namespace Beefy.widgets SetSelection(0); break; } + else if ((mSelectIdx == 0) && (!mItemWidgets.IsEmpty)) + SetSelection(mItemWidgets.Count - 1); else if (mSelectIdx > 0) SetSelection(mSelectIdx - 1); break; @@ -539,6 +541,8 @@ namespace Beefy.widgets } else if (mSelectIdx < mItemWidgets.Count - 1) SetSelection(mSelectIdx + 1); + else + SetSelection(0); break; case .Return: SubmitSelection(); diff --git a/IDE/src/ui/AutoComplete.bf b/IDE/src/ui/AutoComplete.bf index 6996e4a6..0df0c927 100644 --- a/IDE/src/ui/AutoComplete.bf +++ b/IDE/src/ui/AutoComplete.bf @@ -650,12 +650,16 @@ namespace IDE.ui public void SelectDirection(int32 dir) { + if (mEntryList.IsEmpty) + return; int32 newSelection = mSelectIdx + dir; - if ((newSelection >= 0) && (newSelection < mEntryList.Count)) - { - if (mEntryList[newSelection].mShowIdx != -1) - Select(newSelection); - } + if (newSelection < 0) + newSelection = (.)mEntryList.Count - 1; + else if (newSelection >= mEntryList.Count) + newSelection = 0; + + if (mEntryList[newSelection].mShowIdx != -1) + Select(newSelection); } public override void ScrollPositionChanged()