diff options
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r-- | mail/folder-browser.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 4707351f8c..8534378143 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -33,6 +33,14 @@ static GtkObjectClass *folder_browser_parent_class; +static void oc_destroy (gpointer obj, gpointer user) +{ + struct fb_ondemand_closure *oc = (struct fb_ondemand_closure *) obj; + + g_free (oc->path); + g_free (oc); +} + static void folder_browser_destroy (GtkObject *object) { @@ -60,6 +68,14 @@ folder_browser_destroy (GtkObject *object) if (folder_browser->mail_display) gtk_widget_destroy (GTK_WIDGET (folder_browser->mail_display)); + if (folder_browser->filter_context) + gtk_object_unref (GTK_OBJECT (folder_browser->filter_context)); + + if (folder_browser->filter_menu_paths) { + g_slist_foreach (folder_browser->filter_menu_paths, oc_destroy, NULL); + g_slist_free (folder_browser->filter_menu_paths); + } + folder_browser_parent_class->destroy (object); } @@ -402,6 +418,9 @@ my_folder_browser_init (GtkObject *object) gtk_signal_connect (GTK_OBJECT (fb->message_list->etable), "key_press", GTK_SIGNAL_FUNC (etable_key), fb); + fb->filter_menu_paths = NULL; + fb->filter_context = NULL; + folder_browser_gui_init (fb); } |