Merge branch 'NetHack-3.6.0'
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user