From 4b8f4212ef6b29431991f4d9d2e509dcb1eb2174 Mon Sep 17 00:00:00 2001 From: svdijk Date: Thu, 18 May 2017 20:35:54 +0200 Subject: [PATCH 1/2] Menu: Hotkeys should only select selectable items. --- wadsrc/static/zscript/menu/listmenu.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wadsrc/static/zscript/menu/listmenu.txt b/wadsrc/static/zscript/menu/listmenu.txt index b1fbcd105..9bca2d5af 100644 --- a/wadsrc/static/zscript/menu/listmenu.txt +++ b/wadsrc/static/zscript/menu/listmenu.txt @@ -114,7 +114,7 @@ class ListMenu : Menu for(int i = mDesc.mSelectedItem + 1; i < mDesc.mItems.Size(); i++) { - if (mDesc.mItems[i].CheckHotkey(ch)) + if (mDesc.mitems[i].Selectable() && mDesc.mItems[i].CheckHotkey(ch)) { mDesc.mSelectedItem = i; MenuSound("menu/cursor"); @@ -123,7 +123,7 @@ class ListMenu : Menu } for(int i = 0; i < mDesc.mSelectedItem; i++) { - if (mDesc.mItems[i].CheckHotkey(ch)) + if (mDesc.mitems[i].Selectable() && mDesc.mItems[i].CheckHotkey(ch)) { mDesc.mSelectedItem = i; MenuSound("menu/cursor"); From 8ece6dff6a0d8c63cb1972f3d0da7461e1575796 Mon Sep 17 00:00:00 2001 From: svdijk Date: Thu, 18 May 2017 20:44:15 +0200 Subject: [PATCH 2/2] Menu: Never treat keys with no "Char" as hotkeys. --- wadsrc/static/zscript/menu/listmenu.txt | 4 ++-- wadsrc/static/zscript/menu/listmenuitems.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wadsrc/static/zscript/menu/listmenu.txt b/wadsrc/static/zscript/menu/listmenu.txt index 9bca2d5af..37d00f6e0 100644 --- a/wadsrc/static/zscript/menu/listmenu.txt +++ b/wadsrc/static/zscript/menu/listmenu.txt @@ -106,11 +106,11 @@ class ListMenu : Menu override bool OnUIEvent(UIEvent ev) { - if (ev.Type == UIEvent.Type_KeyDown) + if (ev.Type == UIEvent.Type_KeyDown && ev.KeyChar > 0) { // tolower int ch = ev.KeyChar; - ch = ch >= 65 && ch <91? ch + 32 : ch; + ch = ch >= 65 && ch < 91 ? ch + 32 : ch; for(int i = mDesc.mSelectedItem + 1; i < mDesc.mItems.Size(); i++) { diff --git a/wadsrc/static/zscript/menu/listmenuitems.txt b/wadsrc/static/zscript/menu/listmenuitems.txt index 5b4a4e549..59bff9f61 100644 --- a/wadsrc/static/zscript/menu/listmenuitems.txt +++ b/wadsrc/static/zscript/menu/listmenuitems.txt @@ -199,7 +199,7 @@ class ListMenuItemSelectable : ListMenuItem override bool CheckHotkey(int c) { - return c == mHotkey; + return c > 0 && c == mHotkey; } override bool Activate()