Author: cazfi
Date: Wed Oct 14 18:00:12 2015
New Revision: 30080

URL: http://svn.gna.org/viewcvs/freeciv?rev=30080&view=rev
Log:
Fixed duoble unref of gtk-clients' messagebuffer.

See bug #23895

Modified:
    branches/S2_5/client/gui-gtk-2.0/gui_main.c
    branches/S2_5/client/gui-gtk-3.0/gui_main.c

Modified: branches/S2_5/client/gui-gtk-2.0/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-gtk-2.0/gui_main.c?rev=30080&r1=30079&r2=30080&view=diff
==============================================================================
--- branches/S2_5/client/gui-gtk-2.0/gui_main.c (original)
+++ branches/S2_5/client/gui-gtk-2.0/gui_main.c Wed Oct 14 18:00:12 2015
@@ -1738,6 +1738,7 @@
   cma_fe_done();
   free_unit_table();
   gtk_widget_destroy(toplevel_tabs);
+  message_buffer = NULL; /* Result of destruction of everything */
   tileset_free_tiles(tileset);
 }
 
@@ -1754,8 +1755,10 @@
 **************************************************************************/
 void ui_exit(void)
 {
-  g_object_unref(message_buffer);
-  message_buffer = NULL;
+  if (message_buffer != NULL) {
+    g_object_unref(message_buffer);
+    message_buffer = NULL;
+  }
 }
 
 /**************************************************************************

Modified: branches/S2_5/client/gui-gtk-3.0/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-gtk-3.0/gui_main.c?rev=30080&r1=30079&r2=30080&view=diff
==============================================================================
--- branches/S2_5/client/gui-gtk-3.0/gui_main.c (original)
+++ branches/S2_5/client/gui-gtk-3.0/gui_main.c Wed Oct 14 18:00:12 2015
@@ -1763,6 +1763,7 @@
   cma_fe_done();
   free_unit_table();
   gtk_widget_destroy(toplevel_tabs);
+  message_buffer = NULL; /* Result of destruction of everything */
   tileset_free_tiles(tileset);
 }
 
@@ -1779,8 +1780,10 @@
 **************************************************************************/
 void ui_exit(void)
 {
-  g_object_unref(message_buffer);
-  message_buffer = NULL;
+  if (message_buffer != NULL) {
+    g_object_unref(message_buffer);
+    message_buffer = NULL;
+  }
 }
 
 /**************************************************************************


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to