Merge branch 'NetHack-3.6.0'

This commit is contained in:
nhmall
2018-05-10 20:30:43 -04:00

View File

@@ -1208,6 +1208,21 @@ onListChar(HWND hWnd, HWND hwndList, WORD ch)
data = (PNHMenuWindow) GetWindowLongPtr(hWnd, GWLP_USERDATA);
is_accelerator = FALSE;
for (i = 0; i < data->menu.size; i++) {
if (data->menu.items[i].accelerator == ch) {
is_accelerator = TRUE;
break;
}
}
/* Don't use switch if input matched an accelerator. Sometimes
* accelerators can conflict with menu actions. For example, when
* engraving the extra choice of using fingers matches MENU_UNSELECT_ALL.
*/
if (is_accelerator)
goto accelerator;
switch (ch) {
case MENU_FIRST_PAGE:
i = 0;
@@ -1402,6 +1417,7 @@ onListChar(HWND hWnd, HWND hwndList, WORD ch)
}
} break;
accelerator:
default:
if (strchr(data->menu.gacc, ch)
&& !(ch == '0' && data->menu.counting)) {
@@ -1450,14 +1466,6 @@ onListChar(HWND hWnd, HWND hwndList, WORD ch)
return -2;
}
is_accelerator = FALSE;
for (i = 0; i < data->menu.size; i++) {
if (data->menu.items[i].accelerator == ch) {
is_accelerator = TRUE;
break;
}
}
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')
|| is_accelerator) {
if (data->how == PICK_ANY || data->how == PICK_ONE) {