diff options
author | Peter Williams <peterw@src.gnome.org> | 2000-07-01 02:07:46 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2000-07-01 02:07:46 +0800 |
commit | effe256583bbb6ad82e969070749a859429fd9ff (patch) | |
tree | 8c67b4f8a811ca54e424e440e8f8acbdfea5d006 | |
parent | 263cc3a01f8afb748a5fb3b6689e6c4b87fc7bf5 (diff) | |
download | gsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.tar.gz gsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.tar.zst gsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.zip |
Fix to work with new EvolutionShellClient
svn path=/trunk/; revision=3830
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/component-factory.c | 16 |
2 files changed, 15 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 041c6d8c93..a6cb7ce46d 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2000-06-30 Peter Williams <peterw@curious-george.helixcode.com> + + * component-factory.c (create_news_storage, create_imap_storage): + Fixed to use new EvolutionShellClient proxy thingamajiggie. + 2000-06-30 Dan Winship <danw@helixcode.com> * message-list.c (on_row_selection): use the ETable row_selection diff --git a/mail/component-factory.c b/mail/component-factory.c index 19c02d8a80..643878c89d 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -290,6 +290,7 @@ struct create_info_s { static void create_imap_storage (EvolutionShellComponent *shell_component) { + EvolutionShellClient *shell_client; Evolution_Shell corba_shell; EvolutionStorage *storage; char *cpath, *source, *server, *p; @@ -302,13 +303,14 @@ create_imap_storage (EvolutionShellComponent *shell_component) if (!source || strncasecmp (source, "imap://", 7)) return; - corba_shell = evolution_shell_component_get_owner (shell_component); - if (corba_shell == CORBA_OBJECT_NIL) { + shell_client = evolution_shell_component_get_owner (shell_component); + if (shell_client == NULL) { g_warning ("We have no shell!?"); - g_free (source); return; } + corba_shell = bonobo_object_corba_objref (BONOBO_OBJECT (shell_client)); + if (!(server = strchr (source, '@'))) { g_free (source); return; @@ -415,6 +417,7 @@ real_create_imap_storage( gpointer user_data ) static void create_news_storage (EvolutionShellComponent *shell_component) { + EvolutionShellClient *shell_client; Evolution_Shell corba_shell; EvolutionStorage *storage; char *cpath, *source, *server, *p; @@ -427,13 +430,14 @@ create_news_storage (EvolutionShellComponent *shell_component) if (!source || strncasecmp (source, "news://", 7)) return; - corba_shell = evolution_shell_component_get_owner (shell_component); - if (corba_shell == CORBA_OBJECT_NIL) { + shell_client = evolution_shell_component_get_owner (shell_component); + if (shell_client == NULL) { g_warning ("We have no shell!?"); - g_free (source); return; } + corba_shell = bonobo_object_corba_objref (BONOBO_OBJECT (shell_client)); + server = source + 7; for (p = server; *p && *p != '/'; p++); |