diff options
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/component-factory.c | 23 |
2 files changed, 17 insertions, 13 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 9bdd6d60da..ba676018c7 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2001-07-24 Not Zed <NotZed@Ximian.com> + + * component-factory.c (create_folder): Dont call notifyResult here + if we've just launched a thread to do the work, it calls it + itself. This apparently breaks the importers, but thats a + different issue. + 2001-07-23 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msgport_replied): Go back to calling diff --git a/mail/component-factory.c b/mail/component-factory.c index b005863c3a..37e004a2d7 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -177,10 +177,10 @@ do_create_folder (char *uri, CamelFolder *folder, void *data) else result = GNOME_Evolution_ShellComponentListener_INVALID_URI; - CORBA_exception_init (&ev); - GNOME_Evolution_ShellComponentListener_notifyResult (listener, result, &ev); - CORBA_Object_release (listener, &ev); - CORBA_exception_free (&ev); + CORBA_exception_init(&ev); + GNOME_Evolution_ShellComponentListener_notifyResult(listener, result, &ev); + CORBA_Object_release(listener, &ev); + CORBA_exception_free(&ev); } static void @@ -193,21 +193,18 @@ create_folder (EvolutionShellComponent *shell_component, char *uri; CORBA_Environment ev; - CORBA_exception_init (&ev); - if (!strcmp (type, "mail")) { + CORBA_exception_init(&ev); + if (!strcmp(type, "mail")) { /* This makes the uri start with mbox://file://, which looks silly but turns into a CamelURL that has url->provider of "mbox" */ - uri = g_strdup_printf ("mbox://%s", physical_uri); - mail_create_folder (uri, do_create_folder, CORBA_Object_duplicate (listener, &ev)); - GNOME_Evolution_ShellComponentListener_notifyResult (listener, - GNOME_Evolution_ShellComponentListener_OK, &ev); - + uri = g_strdup_printf("mbox://%s", physical_uri); + mail_create_folder(uri, do_create_folder, CORBA_Object_duplicate(listener, &ev)); } else { - GNOME_Evolution_ShellComponentListener_notifyResult ( + GNOME_Evolution_ShellComponentListener_notifyResult( listener, GNOME_Evolution_ShellComponentListener_UNSUPPORTED_TYPE, &ev); } - CORBA_exception_free (&ev); + CORBA_exception_free(&ev); } static void |