diff options
Diffstat (limited to 'mail/component-factory.c')
-rw-r--r-- | mail/component-factory.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mail/component-factory.c b/mail/component-factory.c index adc8380754..0452efb846 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -59,14 +59,19 @@ static GList *browsers; /* EvolutionShellComponent methods and signals. */ -static BonoboControl * +static EvolutionShellComponentResult create_view (EvolutionShellComponent *shell_component, const char *physical_uri, + const char *folder_type, + BonoboControl **control_return, void *closure) { BonoboControl *control; GtkWidget *folder_browser_widget; + if (g_strcasecmp (folder_type, "mail") != 0) + return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE; + control = folder_browser_factory_new_control (); folder_browser_widget = bonobo_control_get_widget (control); @@ -83,7 +88,9 @@ create_view (EvolutionShellComponent *shell_component, /* FIXME: This never fails. :-/ */ folder_browser_set_uri (FOLDER_BROWSER (folder_browser_widget), physical_uri); - return control; + *control_return = control; + + return EVOLUTION_SHELL_COMPONENT_OK; } static void @@ -123,7 +130,7 @@ factory_fn (BonoboGenericFactory *factory, { EvolutionShellComponent *shell_component; - shell_component = evolution_shell_component_new (folder_types, create_view, NULL); + shell_component = evolution_shell_component_new (folder_types, create_view, NULL, NULL, NULL); gtk_signal_connect (GTK_OBJECT (shell_component), "owner_set", GTK_SIGNAL_FUNC (owner_set_cb), NULL); |