ref: 69f7e7f8f5890946f4625fc071eb3f8313b17238
parent: 57b3982c83694eb61dd97762ecfb3d53eeabf4f4
author: Simon Tatham <anakin@pobox.com>
date: Mon Jun 6 07:21:36 EDT 2005
Introduce a new game backend function (there seem to have been a lot of these recently) whose job is to update a game_ui to be consistent with a new game_state. This is called by midend.c in every situation where the current game_state changes _other_ than as a result of make_move (Undo, Redo, Restart, Solve). The introduction of this function allows a game_ui to contain information about selections or highlights within a game_state which simply wouldn't make sense when transferred to another game_state. In particular, I've used it to fix a subtle bug in Solo whereby, although you couldn't right-click to pencil-mode highlight a filled square, you could _get_ a pencil-mode highlight in a filled square if you used Undo and Redo. (Undo to before the square was filled, right-click to highlight it, then Redo. Alternatively, left-click and clear the square, right-click to highlight it, then Undo.) [originally from svn r5912]