X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/f0ee053c2a4a214a0e77b22462d0c42806d0462b..a174a940152f6a7e8e4a4d33ab6799a9bdd8ccb5:/gtk.c diff --git a/gtk.c b/gtk.c index 3fdfc87..742c18c 100644 --- a/gtk.c +++ b/gtk.c @@ -98,10 +98,14 @@ void frontend_default_colour(frontend *fe, float *output) void status_bar(frontend *fe, char *text) { + char *rewritten; + assert(fe->statusbar); + rewritten = midend_rewrite_statusbar(fe->me, text); gtk_statusbar_pop(GTK_STATUSBAR(fe->statusbar), fe->statusctx); - gtk_statusbar_push(GTK_STATUSBAR(fe->statusbar), fe->statusctx, text); + gtk_statusbar_push(GTK_STATUSBAR(fe->statusbar), fe->statusctx, rewritten); + sfree(rewritten); } void start_draw(frontend *fe) @@ -464,7 +468,7 @@ static gint configure_area(GtkWidget *widget, gdk_draw_rectangle(fe->pixmap, gc, 1, 0, 0, fe->w, fe->h); gdk_gc_unref(gc); - midend_redraw(fe->me); + midend_force_redraw(fe->me); return TRUE; } @@ -1007,7 +1011,11 @@ static frontend *new_window(char *game_id, char **error) fe = snew(frontend); + fe->timer_active = FALSE; + fe->timer_id = -1; + fe->me = midend_new(fe, &thegame); + if (game_id) { *error = midend_game_id(fe->me, game_id); if (*error) { @@ -1196,8 +1204,6 @@ static frontend *new_window(char *game_id, char **error) fe->fonts = NULL; fe->nfonts = fe->fontsize = 0; - fe->timer_active = FALSE; - fe->paste_data = NULL; fe->paste_data_len = 0; @@ -1303,7 +1309,7 @@ int main(int argc, char **argv) while (n-- > 0) { game_aux_info *aux = NULL; - char *desc = thegame.new_desc(par, rs, &aux); + char *desc = thegame.new_desc(par, rs, &aux, FALSE); printf("%s:%s\n", parstr, desc); sfree(desc); if (aux)