[evolution-patches] shell, camel, addressbook, calendar leaks



(Actually, the addressbook patch has a non-leak bugfix in it too)

Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/shell/ChangeLog,v
retrieving revision 1.1286
diff -u -r1.1286 ChangeLog
--- ChangeLog	25 Jun 2003 16:52:18 -0000	1.1286
+++ ChangeLog	30 Jun 2003 16:52:19 -0000
@@ -1,3 +1,11 @@
+2003-06-30  Dan Winship  <danw ximian com>
+
+	* e-splash.c (e_splash_new): Unref the pixbuf.
+
+	* evolution-shell-component.c (impl_finalize): Add some missing
+	frees.
+	(user_creatable_item_type_free): free the tooltip
+
 2003-06-25  Chris Toshok  <toshok ximian com>
 
 	* e-config-upgrade.c: add general_map and a reference to it in
Index: e-splash.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/e-splash.c,v
retrieving revision 1.32
diff -u -r1.32 e-splash.c
--- e-splash.c	2 Apr 2003 03:41:57 -0000	1.32
+++ e-splash.c	30 Jun 2003 16:52:20 -0000
@@ -379,7 +379,7 @@
 	new = g_object_new (e_splash_get_type (), NULL);
 	e_splash_construct (new, splash_image_pixbuf);
 
-	/* g_object_unref (splash_image_pixbuf); */
+	g_object_unref (splash_image_pixbuf);
 
 	return GTK_WIDGET (new);
 }
Index: evolution-shell-component.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/evolution-shell-component.c,v
retrieving revision 1.87
diff -u -r1.87 evolution-shell-component.c
--- evolution-shell-component.c	25 Apr 2003 17:33:20 -0000	1.87
+++ evolution-shell-component.c	30 Jun 2003 16:52:21 -0000
@@ -136,6 +136,7 @@
 	g_free (type->id);
 	g_free (type->description);
 	g_free (type->menu_description);
+	g_free (type->tooltip);
 	g_free (type->folder_type);
 
 	if (type->icon != NULL)
@@ -820,6 +821,8 @@
 
 		g_free (folder_type->name);
 		g_free (folder_type->icon_name);
+		g_free (folder_type->display_name);
+		g_free (folder_type->description);
 		g_strfreev (folder_type->exported_dnd_types);
 		g_strfreev (folder_type->accepted_dnd_types);
 
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.1836
diff -u -r1.1836 ChangeLog
--- ChangeLog	25 Jun 2003 15:43:46 -0000	1.1836
+++ ChangeLog	30 Jun 2003 16:19:59 -0000
@@ -1,3 +1,8 @@
+2003-06-30  Dan Winship  <danw ximian com>
+
+	* camel-folder-search.c (camel_folder_search_finalize): free the
+	summary hash
+
 2003-06-25  Jeffrey Stedfast  <fejj ximian com>
 
 	* camel-folder-summary.h: Added prototype for
Index: camel-folder-search.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/camel-folder-search.c,v
retrieving revision 1.54
diff -u -r1.54 camel-folder-search.c
--- camel-folder-search.c	16 May 2003 18:47:49 -0000	1.54
+++ camel-folder-search.c	30 Jun 2003 16:19:59 -0000
@@ -141,6 +141,8 @@
 
 	if (search->sexp)
 		e_sexp_unref(search->sexp);
+	if (search->summary_hash)
+		g_hash_table_destroy(search->summary_hash);
 
 	g_free(search->last_search);
 	g_hash_table_foreach(p->mempool_hash, free_mempool, obj);
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.1435
diff -u -r1.1435 ChangeLog
--- ChangeLog	25 Jun 2003 17:11:44 -0000	1.1435
+++ ChangeLog	30 Jun 2003 16:25:49 -0000
@@ -1,3 +1,41 @@
+2003-06-30  Dan Winship  <danw ximian com>
+
+	* gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose):
+	disconnect from model signals to prevent a race condition at
+	shutdown where the view gets destroyed and then the model notices
+	the backend dying before being destroyed itself.
+
+	* gui/widgets/e-addressbook-reflow-adapter.c
+	(addressbook_finalize): add, to free priv.
+	(e_addressbook_reflow_adapter_class_init): set it up
+
+	* gui/component/e-address-popup.c (e_address_popup_set_free_form):
+	Don't leak strings
+
+	* gui/component/addressbook-storage.c (load_source_data): don't
+	leak xml data.
+
+	* gui/component/addressbook-component.c (new_item_cb): don't leak
+	the new card.
+
 2003-06-25  Gilbert Fang <gilbert fang sun com>
 
 	* gui/widgets/e-minicard-view-widget.c 
Index: gui/component/addressbook-component.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/addressbook-component.c,v
retrieving revision 1.89
diff -u -r1.89 addressbook-component.c
--- gui/component/addressbook-component.c	19 May 2003 18:49:07 -0000	1.89
+++ gui/component/addressbook-component.c	30 Jun 2003 16:25:49 -0000
@@ -407,12 +407,17 @@
 new_item_cb (EBook *book, gpointer closure)
 {
 	gboolean is_list = GPOINTER_TO_INT (closure);
+	ECard *card;
+
 	if (book == NULL)
 		return;
+
+	card = e_card_new ("");
 	if (is_list)
-		e_addressbook_show_contact_list_editor (book, e_card_new(""), TRUE, TRUE);
+		e_addressbook_show_contact_list_editor (book, card, TRUE, TRUE);
 	else
-		e_addressbook_show_contact_editor (book, e_card_new(""), TRUE, TRUE);
+		e_addressbook_show_contact_editor (book, card, TRUE, TRUE);
+	g_object_unref (card);
 }
 
 static void
Index: gui/component/addressbook-storage.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/addressbook-storage.c,v
retrieving revision 1.50
diff -u -r1.50 addressbook-storage.c
--- gui/component/addressbook-storage.c	14 May 2003 18:44:27 -0000	1.50
+++ gui/component/addressbook-storage.c	30 Jun 2003 16:25:50 -0000
@@ -443,7 +443,7 @@
 	}
 
 	for (child = root->children; child; child = child->next) {
-		char *path;
+		char *path, *value;
 		AddressbookSource *source;
 
 		source = g_new0 (AddressbookSource, 1);
@@ -452,9 +452,15 @@
 			source->port   = get_string_value (child, "port");
 			source->host   = get_string_value (child, "host");
 			source->rootdn = get_string_value (child, "rootdn");
-			source->scope  = ldap_parse_scope (get_string_value (child, "scope"));
-			source->auth   = ldap_parse_auth (get_string_value (child, "authmethod"));
-			source->ssl    = ldap_parse_ssl (get_string_value (child, "ssl"));
+			value = get_string_value (child, "scope");
+			source->scope  = ldap_parse_scope (value);
+			g_free (value);
+			value = get_string_value (child, "authmethod");
+			source->auth   = ldap_parse_auth (value);
+			g_free (value);
+			value = get_string_value (child, "ssl");
+			source->ssl    = ldap_parse_ssl (value);
+			g_free (value);
 			source->email_addr = get_string_value (child, "emailaddr");
 			source->binddn = get_string_value (child, "binddn");
 			source->limit  = get_integer_value (child, "limit", 100);
Index: gui/component/e-address-popup.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/e-address-popup.c,v
retrieving revision 1.31
diff -u -r1.31 e-address-popup.c
--- gui/component/e-address-popup.c	29 Apr 2003 21:36:19 -0000	1.31
+++ gui/component/e-address-popup.c	30 Jun 2003 16:25:50 -0000
@@ -836,6 +836,9 @@
 		e_address_popup_set_name (pop, name);
 		e_address_popup_set_email (pop, email);
 
+		g_free (name);
+		g_free (email);
+
 		return TRUE;
 	}
 	
Index: gui/widgets/e-addressbook-reflow-adapter.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/widgets/e-addressbook-reflow-adapter.c,v
retrieving revision 1.27
diff -u -r1.27 e-addressbook-reflow-adapter.c
--- gui/widgets/e-addressbook-reflow-adapter.c	20 Feb 2003 03:31:12 -0000	1.27
+++ gui/widgets/e-addressbook-reflow-adapter.c	30 Jun 2003 16:25:51 -0000
@@ -107,6 +107,14 @@
 }
 
 static void
+addressbook_finalize(GObject *object)
+{
+	EAddressbookReflowAdapter *adapter = E_ADDRESSBOOK_REFLOW_ADAPTER(object);
+
+	g_free (adapter->priv);
+}
+
+static void
 addressbook_set_width (EReflowModel *erm, int width)
 {
 }
@@ -373,6 +381,7 @@
 	object_class->set_property = addressbook_set_property;
 	object_class->get_property = addressbook_get_property;
 	object_class->dispose = addressbook_dispose;
+	object_class->finalize = addressbook_finalize;
 
 	g_object_class_install_property (object_class, PROP_BOOK, 
 					 g_param_spec_object ("book",
Index: gui/widgets/e-addressbook-view.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/widgets/e-addressbook-view.c,v
retrieving revision 1.115
diff -u -r1.115 e-addressbook-view.c
--- gui/widgets/e-addressbook-view.c	14 Jun 2003 04:34:19 -0000	1.115
+++ gui/widgets/e-addressbook-view.c	30 Jun 2003 16:25:53 -0000
@@ -326,6 +326,10 @@
 	EAddressbookView *eav = E_ADDRESSBOOK_VIEW(object);
 
 	if (eav->model) {
+		g_signal_handlers_disconnect_matched (eav->model,
+						      G_SIGNAL_MATCH_DATA,
+						      0, 0, NULL, NULL,
+						      object);
 		g_object_unref (eav->model);
 		eav->model = NULL;
 	}
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.1807
diff -u -r1.1807 ChangeLog
--- ChangeLog	30 Jun 2003 14:36:45 -0000	1.1807
+++ ChangeLog	30 Jun 2003 16:21:36 -0000
@@ -1,3 +1,8 @@
+2003-06-30  Dan Winship  <danw ximian com>
+
+	* cal-client/cal-client.c (real_open_calendar): Don't leak
+	exceptions
+
 2003-06-30  Rodrigo Moya <rodrigo ximian com>
 
 	* cal-client/cal-client.c: removed usage of WombatClient.
Index: cal-client/cal-client.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/cal-client/cal-client.c,v
retrieving revision 1.120
diff -u -r1.120 cal-client.c
--- cal-client/cal-client.c	30 Jun 2003 14:36:47 -0000	1.120
+++ cal-client/cal-client.c	30 Jun 2003 16:21:37 -0000
@@ -843,6 +843,7 @@
 			break;
 		else if (BONOBO_USER_EX (&ev, ex_GNOME_Evolution_Calendar_CalFactory_UnsupportedMethod))
 			unsupported++;
+		CORBA_exception_free (&ev);
 	}
 
 	if (supported != NULL) {


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