X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/f0ee053c2a4a214a0e77b22462d0c42806d0462b..a174a940152f6a7e8e4a4d33ab6799a9bdd8ccb5:/windows.c?ds=inline diff --git a/windows.c b/windows.c index 383b742..0a61f3c 100644 --- a/windows.c +++ b/windows.c @@ -118,6 +118,7 @@ struct frontend { HFONT cfgfont; char *help_path; int help_has_contents; + char *laststatus; }; void fatal(char *fmt, ...) @@ -144,7 +145,14 @@ void get_random_seed(void **randseed, int *randseedsize) void status_bar(frontend *fe, char *text) { - SetWindowText(fe->statusbar, text); + char *rewritten = midend_rewrite_statusbar(fe->me, text); + if (!fe->laststatus || strcmp(rewritten, fe->laststatus)) { + SetWindowText(fe->statusbar, rewritten); + sfree(fe->laststatus); + fe->laststatus = rewritten; + } else { + sfree(rewritten); + } } void frontend_default_colour(frontend *fe, float *output) @@ -437,6 +445,8 @@ static frontend *new_window(HINSTANCE inst, char *game_id, char **error) fe->fonts = NULL; fe->nfonts = fe->fontsize = 0; + fe->laststatus = NULL; + { int i, ncolours; float *colours;