Author: cazfi Date: Thu Feb 5 03:05:05 2015 New Revision: 27989 URL: http://svn.gna.org/viewcvs/freeciv?rev=27989&view=rev Log: Initialize the variable telling if the citydlg system has been initialized itself.
See patch #5780 Modified: branches/S2_5/client/gui-gtk-2.0/citydlg.c branches/S2_5/client/gui-gtk-3.0/citydlg.c Modified: branches/S2_5/client/gui-gtk-2.0/citydlg.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-gtk-2.0/citydlg.c?rev=27989&r1=27988&r2=27989&view=diff ============================================================================== --- branches/S2_5/client/gui-gtk-2.0/citydlg.c (original) +++ branches/S2_5/client/gui-gtk-2.0/citydlg.c Thu Feb 5 03:05:05 2015 @@ -195,7 +195,7 @@ static GtkRcStyle *info_label_style[NUM_INFO_STYLES] = { NULL, NULL, NULL }; static struct dialog_list *dialog_list; -static bool city_dialogs_have_been_initialised; +static bool city_dialogs_have_been_initialised = FALSE; static int canvas_width, canvas_height; static int new_dialog_def_page = OVERVIEW_PAGE; static int last_page = OVERVIEW_PAGE; @@ -356,8 +356,9 @@ *****************************************************************/ static struct city_dialog *get_city_dialog(struct city *pcity) { - if (!city_dialogs_have_been_initialised) + if (!city_dialogs_have_been_initialised) { initialize_city_dialogs(); + } dialog_list_iterate(dialog_list, pdialog) { if (pdialog->pcity == pcity) @@ -547,6 +548,7 @@ close_city_dialog(dialog_list_get(dialog_list, 0)); } dialog_list_destroy(dialog_list); + city_dialogs_have_been_initialised = FALSE; } Modified: branches/S2_5/client/gui-gtk-3.0/citydlg.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-gtk-3.0/citydlg.c?rev=27989&r1=27988&r2=27989&view=diff ============================================================================== --- branches/S2_5/client/gui-gtk-3.0/citydlg.c (original) +++ branches/S2_5/client/gui-gtk-3.0/citydlg.c Thu Feb 5 03:05:05 2015 @@ -192,7 +192,7 @@ }; static struct dialog_list *dialog_list; -static bool city_dialogs_have_been_initialised; +static bool city_dialogs_have_been_initialised = FALSE; static int canvas_width, canvas_height; static int new_dialog_def_page = OVERVIEW_PAGE; static int last_page = OVERVIEW_PAGE; @@ -340,8 +340,9 @@ *****************************************************************/ static struct city_dialog *get_city_dialog(struct city *pcity) { - if (!city_dialogs_have_been_initialised) + if (!city_dialogs_have_been_initialised) { initialize_city_dialogs(); + } dialog_list_iterate(dialog_list, pdialog) { if (pdialog->pcity == pcity) @@ -553,10 +554,12 @@ if (!city_dialogs_have_been_initialised) { return; } + while (dialog_list_size(dialog_list)) { close_city_dialog(dialog_list_get(dialog_list, 0)); } dialog_list_destroy(dialog_list); + city_dialogs_have_been_initialised = FALSE; } _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits