Reorder if statements in Unequal's interpret_move() so that presses

of 'h' and 'm' are treated as digits if a square is selected, and
only treated as special commands otherwise. This renders very large
games (just about) playable.

Idea from Ben Hutchings's collection of Debian patches, although I
had to redo his (trivial) patch myself since the code has changed
recently.

(Addendum after committing: hmm, I see Jacob already applied the
original version of the patch a while back. Looks as if the recent
keyboard control change reintroduced the problem. Still, re-fixed
now.)

[originally from svn r8433]
This commit is contained in:
Simon Tatham
2009-01-26 22:28:17 +00:00
parent cc0f957d82
commit 4d79c71517

View File

@ -1299,10 +1299,6 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
return "";
}
}
if (button == 'H' || button == 'h')
return dupstr("H");
if (button == 'M' || button == 'm')
return dupstr("M");
if (IS_CURSOR_MOVE(button)) {
move_cursor(button, &ui->hx, &ui->hy, ds->order, ds->order, 0);
@ -1340,6 +1336,12 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
return dupstr(buf);
}
if (button == 'H' || button == 'h')
return dupstr("H");
if (button == 'M' || button == 'm')
return dupstr("M");
return NULL;
}