X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/550efd7f6e5c9c14af3560fc9231510e43a4fb33..4e1f57ba31665f1d681ecd245bdc74b8c6942cf4:/gtk.c diff --git a/gtk.c b/gtk.c index 2cbbde4..9b95d48 100644 --- a/gtk.c +++ b/gtk.c @@ -25,6 +25,35 @@ #define USE_PANGO #endif +#ifdef DEBUGGING +static FILE *debug_fp = NULL; + +void dputs(char *buf) +{ + if (!debug_fp) { + debug_fp = fopen("debug.log", "w"); + } + + fputs(buf, stderr); + + if (debug_fp) { + fputs(buf, debug_fp); + fflush(debug_fp); + } +} + +void debug_printf(char *fmt, ...) +{ + char buf[4096]; + va_list ap; + + va_start(ap, fmt); + vsprintf(buf, fmt, ap); + dputs(buf); + va_end(ap); +} +#endif + /* ---------------------------------------------------------------------- * Error reporting functions used elsewhere. */ @@ -969,7 +998,11 @@ static void menu_preset_event(GtkMenuItem *menuitem, gpointer data) fe->w = x; fe->h = y; gtk_drawing_area_size(GTK_DRAWING_AREA(fe->area), x, y); - gtk_window_resize(GTK_WINDOW(fe->window), 1, 1); + { + GtkRequisition req; + gtk_widget_size_request(GTK_WIDGET(fe->window), &req); + gtk_window_resize(GTK_WIDGET(fe->window), req.width, req.height); + } } GdkAtom compound_text_atom, utf8_string_atom; @@ -1114,7 +1147,11 @@ static void menu_config_event(GtkMenuItem *menuitem, gpointer data) fe->w = x; fe->h = y; gtk_drawing_area_size(GTK_DRAWING_AREA(fe->area), x, y); - gtk_window_resize(GTK_WINDOW(fe->window), 1, 1); + { + GtkRequisition req; + gtk_widget_size_request(GTK_WIDGET(fe->window), &req); + gtk_window_resize(GTK_WIDGET(fe->window), req.width, req.height); + } } static void menu_about_event(GtkMenuItem *menuitem, gpointer data)