ref: 666c528326b881460f2b677e20a2a9bc4d86898f
parent: a0a581c8b5422bf0c5ed3fde6aa25811e4eb89fc
author: Simon Tatham <anakin@pobox.com>
date: Thu Sep 14 15:06:44 EDT 2017
Call game_id_change_notify_function after deserialisation. That's a case in which the current game IDs have changed, so the midend ought to be calling the front-end function (if any) that notifies it when that happens. The only front end of mine that was affected by this missing call was the Javascript one, which uses that callback to update the 'Link to this puzzle' links below the game canvas - but, of course, that front end didn't ever call midend_deserialise until this month, so no wonder I never noticed before. (But downstream front ends might be affected too, for all I know.)
--- a/midend.c
+++ b/midend.c
@@ -2059,6 +2059,8 @@
me->ourgame->new_drawstate(me->drawing,
me->states[me->statepos-1].state);
midend_size_new_drawstate(me);
+ if (me->game_id_change_notify_function)
+ me->game_id_change_notify_function(me->game_id_change_notify_ctx);
ret = NULL; /* success! */