aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorIain Holmes <iain@src.gnome.org>2001-08-28 04:19:49 +0800
committerIain Holmes <iain@src.gnome.org>2001-08-28 04:19:49 +0800
commita6d46c33f31037bd8eb678368e88653786484532 (patch)
tree7f1ddcf808f621f72690acc8614058e5197b834b /mail
parent4cf66ac5c7915a982c34faade300b0986a87f35a (diff)
downloadgsoc2013-evolution-a6d46c33f31037bd8eb678368e88653786484532.tar.gz
gsoc2013-evolution-a6d46c33f31037bd8eb678368e88653786484532.tar.zst
gsoc2013-evolution-a6d46c33f31037bd8eb678368e88653786484532.zip
Destroy lists and hashes when needed, so that old data isn't left behind.
svn path=/trunk/; revision=12488
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-config-druid.c22
2 files changed, 26 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 4d86ac1e1a..5aa43e2942 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-27 Iain Holmes <iain@ximian.com>
+
+ * mail-config-druid.c (druid_finish): Free the list and hash table.
+ (druid_cancel): Free the list and hash table.
+
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (mail_account_gui_new): Set the source and
diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c
index 02834761c5..4fe0a88b21 100644
--- a/mail/mail-config-druid.c
+++ b/mail/mail-config-druid.c
@@ -177,7 +177,17 @@ druid_cancel (GnomeDruid *druid, gpointer user_data)
GNOME_Evolution_Wizard_notifyAction (wiz, 0, GNOME_Evolution_Wizard_CANCEL, &ev);
CORBA_exception_free (&ev);
-
+
+ if (page_list != NULL) {
+ g_list_free (page_list);
+ page_list = NULL;
+ }
+
+ if (page_hash != NULL) {
+ g_hash_table_destroy (page_hash);
+ page_hash = NULL;
+ }
+
gtk_widget_destroy (GTK_WIDGET (config));
}
@@ -187,6 +197,16 @@ druid_finish (GnomeDruidPage *page, gpointer arg1, gpointer user_data)
MailConfigDruid *druid = user_data;
gtk_object_set_data (GTK_OBJECT (account_wizard), "account-data", NULL);
+ if (page_list != NULL) {
+ g_list_free (page_list);
+ page_list = NULL;
+ }
+
+ if (page_hash != NULL) {
+ g_hash_table_destroy (page_hash);
+ page_hash = NULL;
+ }
+
gtk_widget_destroy (GTK_WIDGET (druid));
}