aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog8
-rw-r--r--shell/e-shell-shared-folder-picker-dialog.c11
2 files changed, 16 insertions, 3 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 8ccdddbaac..68b6bed3e6 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,11 @@
+2002-12-13 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #35394 ]
+
+ * e-shell-shared-folder-picker-dialog.c (setup_name_selector):
+ return the SelectNames corba interface too.
+ (show_dialog): unref the corba interface when closing the dialog.
+
2002-12-05 Chris Toshok <toshok@ximian.com>
* e-shell-config-default-folders.c: use "contacts",
diff --git a/shell/e-shell-shared-folder-picker-dialog.c b/shell/e-shell-shared-folder-picker-dialog.c
index 18ec980678..1b63b495da 100644
--- a/shell/e-shell-shared-folder-picker-dialog.c
+++ b/shell/e-shell-shared-folder-picker-dialog.c
@@ -98,7 +98,8 @@ user_clicked (GtkWidget *button, GNOME_Evolution_Addressbook_SelectNames corba_i
}
static GtkWidget *
-setup_name_selector (GladeXML *glade_xml)
+setup_name_selector (GladeXML *glade_xml,
+ GNOME_Evolution_Addressbook_SelectNames *iface_ret)
{
GNOME_Evolution_Addressbook_SelectNames corba_iface;
Bonobo_Control control;
@@ -140,10 +141,11 @@ setup_name_selector (GladeXML *glade_xml)
g_signal_connect (button, "clicked", G_CALLBACK (user_clicked), corba_iface);
CORBA_exception_free (&ev);
+ *iface_ret = corba_iface;
return control_widget;
err:
- Bonobo_Unknown_unref (corba_iface, &ev);
+ bonobo_object_release_unref (corba_iface, NULL);
CORBA_exception_free (&ev);
return NULL;
}
@@ -213,6 +215,7 @@ show_dialog (EShell *shell,
char **storage_name_return,
char **folder_name_return)
{
+ GNOME_Evolution_Addressbook_SelectNames corba_iface;
GladeXML *glade_xml;
GtkWidget *dialog;
GtkWidget *name_selector_widget;
@@ -223,7 +226,7 @@ show_dialog (EShell *shell,
NULL, NULL);
g_assert (glade_xml != NULL);
- name_selector_widget = setup_name_selector (glade_xml);
+ name_selector_widget = setup_name_selector (glade_xml, &corba_iface);
if (name_selector_widget == NULL)
return FALSE;
@@ -240,6 +243,7 @@ show_dialog (EShell *shell,
g_free (*storage_name_return);
*storage_name_return = NULL;
gtk_widget_destroy (dialog);
+ bonobo_object_release_unref (corba_iface, NULL);
return FALSE;
}
@@ -251,6 +255,7 @@ show_dialog (EShell *shell,
*folder_name_return = g_strdup (gtk_entry_get_text (GTK_ENTRY (folder_name_entry)));
gtk_widget_destroy (dialog);
+ bonobo_object_release_unref (corba_iface, NULL);
return TRUE;
}