- game_state *s = make_move(me->states[me->statepos-1], x, y, button);
-
- if (s) {
+ game_state *s = make_move(me->states[me->statepos-1], me->ui,
+ x, y, button);
+
+ if (s == me->states[me->statepos-1]) {
+ /*
+ * make_move() is allowed to return its input state to
+ * indicate that although no move has been made, the UI
+ * state has been updated and a redraw is called for.
+ */
+ midend_redraw(me);
+ return 1;
+ } else if (s) {