aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-07-01 02:07:46 +0800
committerPeter Williams <peterw@src.gnome.org>2000-07-01 02:07:46 +0800
commiteffe256583bbb6ad82e969070749a859429fd9ff (patch)
tree8c67b4f8a811ca54e424e440e8f8acbdfea5d006 /mail
parent263cc3a01f8afb748a5fb3b6689e6c4b87fc7bf5 (diff)
downloadgsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.tar.gz
gsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.tar.zst
gsoc2013-evolution-effe256583bbb6ad82e969070749a859429fd9ff.zip
Fix to work with new EvolutionShellClient
svn path=/trunk/; revision=3830
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/component-factory.c16
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++);