aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/folder-browser-factory.c')
-rw-r--r--mail/folder-browser-factory.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 8e2b7ec8f7..a6075f7858 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -39,7 +39,7 @@ folder_browser_set_shell (EvolutionServiceRepository *sr,
CORBA_exception_init (&ev);
folder_browser = FOLDER_BROWSER (closure);
- /* FIXME : ref the shell here */
+
folder_browser->shell = shell;
/* test the component->shell registration */
@@ -225,7 +225,14 @@ control_activate_cb (BonoboControl *control,
control_deactivate (control, uih);
}
+static void
+control_destroy_cb (BonoboControl *control,
+ gpointer user_data)
+{
+ GtkWidget *folder_browser = user_data;
+ gtk_object_destroy (GTK_OBJECT (folder_browser));
+}
/*
* Creates the Folder Browser, wraps it in a Bonobo Control, and
@@ -264,6 +271,8 @@ folder_browser_factory (BonoboGenericFactory *factory, void *closure)
gtk_signal_connect (GTK_OBJECT (control), "activate",
control_activate_cb, NULL);
+ gtk_signal_connect (GTK_OBJECT (control), "destroy",
+ control_destroy_cb, folder_browser);
bonobo_control_set_property_bag (control,
FOLDER_BROWSER (folder_browser)->properties);