From ea007f56f22af7847e56c04d432ff0ea83878b03 Mon Sep 17 00:00:00 2001 From: Alexander Kromm Date: Thu, 2 Jun 2022 23:24:16 +0700 Subject: [PATCH] fix scrolling when selecting item by key --- wadsrc/static/zscript/engine/ui/menu/optionmenu.zs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wadsrc/static/zscript/engine/ui/menu/optionmenu.zs b/wadsrc/static/zscript/engine/ui/menu/optionmenu.zs index 33cb6f081..a1078f480 100644 --- a/wadsrc/static/zscript/engine/ui/menu/optionmenu.zs +++ b/wadsrc/static/zscript/engine/ui/menu/optionmenu.zs @@ -219,9 +219,10 @@ class OptionMenu : Menu } } if (mDesc.mSelectedItem <= mDesc.mScrollTop + mDesc.mScrollPos - || mDesc.mSelectedItem >= VisBottom) + || mDesc.mSelectedItem > VisBottom) { - mDesc.mScrollPos = MAX(mDesc.mSelectedItem - mDesc.mScrollTop - 1, 0); + int pagesize = VisBottom - mDesc.mScrollPos - mDesc.mScrollTop; + mDesc.mScrollPos = clamp(mDesc.mSelectedItem - mDesc.mScrollTop - 1, 0, mDesc.mItems.size() - pagesize - 1); } } return Super.OnUIEvent(ev);