gnumeric r16997 - in trunk: . src



Author: mortenw
Date: Wed Dec 10 20:56:37 2008
New Revision: 16997
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16997&view=rev

Log:
2008-12-09  Morten Welinder  <terra gnome org>

	* src/wbc-gtk.c (wbcg_sheet_remove_all): Kill the current scg
	last.
	(wbc_gtk_setup_icons): Shut down the icon factory on exit.
	(add_icon): Plug leaks.



Modified:
   trunk/ChangeLog
   trunk/src/wbc-gtk.c

Modified: trunk/src/wbc-gtk.c
==============================================================================
--- trunk/src/wbc-gtk.c	(original)
+++ trunk/src/wbc-gtk.c	Wed Dec 10 20:56:37 2008
@@ -1294,6 +1294,7 @@
 	if (wbcg->snotebook != NULL) {
 		GtkNotebook *tmp = wbcg->snotebook;
 		GList *l, *all = get_all_scgs (wbcg);
+		SheetControlGUI *current = wbcg_cur_scg (wbcg);
 
 		/* Clear notebook to disable updates as focus changes for pages
 		 * during destruction */
@@ -1305,13 +1306,20 @@
 		for (l = all; l; l = l->next) {
 			SheetControlGUI *scg = l->data;
 			disconnect_sheet_signals (scg);
-
-			gtk_widget_destroy (GTK_WIDGET (scg->label));
-			gtk_widget_destroy (GTK_WIDGET (scg->table));
+			if (scg != current) {
+				gtk_widget_destroy (GTK_WIDGET (scg->label));
+				gtk_widget_destroy (GTK_WIDGET (scg->table));
+			}
 		}
 
 		g_list_free (all);
 
+		/* Do current scg last.  */
+		if (current) {
+			gtk_widget_destroy (GTK_WIDGET (current->label));
+			gtk_widget_destroy (GTK_WIDGET (current->table));
+		}
+
 		wbcg->snotebook = tmp;
 	}
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]