diff options
author | Iain Holmes <iain@src.gnome.org> | 2001-08-28 04:19:49 +0800 |
---|---|---|
committer | Iain Holmes <iain@src.gnome.org> | 2001-08-28 04:19:49 +0800 |
commit | a6d46c33f31037bd8eb678368e88653786484532 (patch) | |
tree | 7f1ddcf808f621f72690acc8614058e5197b834b /mail | |
parent | 4cf66ac5c7915a982c34faade300b0986a87f35a (diff) | |
download | gsoc2013-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/ChangeLog | 5 | ||||
-rw-r--r-- | mail/mail-config-druid.c | 22 |
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)); } |