From 43e79837f1e45b519bdfc05efe2cca084720bf9a Mon Sep 17 00:00:00 2001 From: Dino Date: Tue, 15 Apr 2025 16:59:45 -0400 Subject: [PATCH] #1289, fix gtk5 to save and restore the city dlog size --- client/gui-gtk-5.0/citydlg.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/client/gui-gtk-5.0/citydlg.c b/client/gui-gtk-5.0/citydlg.c index b740de9de2..e1fdd53477 100644 --- a/client/gui-gtk-5.0/citydlg.c +++ b/client/gui-gtk-5.0/citydlg.c @@ -3839,7 +3839,7 @@ static void set_cityopt_values(struct city_dialog *pdialog) /******************** Callbacks for: Close, Prev, Next. *******************/ /***********************************************************************//** - User has clicked rename city-button + User has closed city dialog ***************************************************************************/ static void close_callback(GtkWidget *w, gpointer data) { @@ -3847,14 +3847,16 @@ static void close_callback(GtkWidget *w, gpointer data) } /***********************************************************************//** - User has closed rename city dialog + User has closed city dialog ***************************************************************************/ static void city_destroy_callback(GtkWidget *w, gpointer data) { struct city_dialog *pdialog; + int width, height; - pdialog = (struct city_dialog *) data; + gtk_window_get_default_size (GTK_WINDOW(w), &width, &height); + pdialog = (struct city_dialog *) data; gtk_widget_set_visible(pdialog->shell, FALSE); if (game.info.citizen_nationality) { @@ -3866,12 +3868,12 @@ static void city_destroy_callback(GtkWidget *w, gpointer data) /* Save size of the city dialog. */ GUI_GTK_OPTION(citydlg_xsize) = CLIP(GUI_GTK5_CITYDLG_MIN_XSIZE, - gtk_widget_get_allocated_width(pdialog->shell), + width, GUI_GTK5_CITYDLG_MAX_XSIZE); GUI_GTK_OPTION(citydlg_ysize) - = CLIP(GUI_GTK5_CITYDLG_MIN_XSIZE, - gtk_widget_get_allocated_height(pdialog->shell), - GUI_GTK5_CITYDLG_MAX_XSIZE); + = CLIP(GUI_GTK5_CITYDLG_MIN_YSIZE, + height, + GUI_GTK5_CITYDLG_MAX_YSIZE); last_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(pdialog->notebook)); -- 2.31.0