diff options
-rw-r--r-- | mail/ChangeLog | 10 | ||||
-rw-r--r-- | mail/em-folder-browser.c | 3 | ||||
-rw-r--r-- | mail/mail-component.c | 17 |
3 files changed, 23 insertions, 7 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 79b5f10b3d..5e2155daea 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,13 @@ +2003-12-10 Not Zed <NotZed@Ximian.com> + + * em-folder-browser.c (emfb_activate): separeate view_menu + unreffing from view_instance. fixes a runtime warning. + + ** See bug #51718. + + * mail-component.c (em_uri_to_camel): handle an e-uri which has an + account uid which isn't in user@host format. + 2003-12-09 Not Zed <NotZed@Ximian.com> ** See bug #51899. diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c index 313b2f61e4..0f1cfc6922 100644 --- a/mail/em-folder-browser.c +++ b/mail/em-folder-browser.c @@ -1006,6 +1006,9 @@ emfb_activate(EMFolderView *emfv, BonoboUIComponent *uic, int act) if (p->view_instance) { g_object_unref(p->view_instance); p->view_instance = NULL; + } + + if (p->view_menus) { g_object_unref(p->view_menus); p->view_menus = NULL; } diff --git a/mail/mail-component.c b/mail/mail-component.c index 3967ed8a1b..ea3d0e4c73 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -758,16 +758,19 @@ char *em_uri_to_camel(const char *euri) return g_strdup(euri); } - g_assert(eurl->user != NULL); g_assert(eurl->host != NULL); - if (strcmp(eurl->user, "local") == 0 && strcmp(eurl->host, "local") == 0) { - curi = g_strdup_printf("mbox:%s/.evolution/mail/local#%s", g_get_home_dir(), eurl->path[0]=='/'?eurl->path+1:eurl->path); - camel_url_free(eurl); - return curi; - } + if (eurl->user != NULL) { + if (strcmp(eurl->user, "local") == 0 && strcmp(eurl->host, "local") == 0) { + curi = g_strdup_printf("mbox:%s/.evolution/mail/local#%s", g_get_home_dir(), eurl->path[0]=='/'?eurl->path+1:eurl->path); + camel_url_free(eurl); + return curi; + } - uid = g_strdup_printf("%s@%s", eurl->user, eurl->host); + uid = g_strdup_printf("%s@%s", eurl->user, eurl->host); + } else { + uid = g_strdup(eurl->host); + } accounts = mail_config_get_accounts(); account = e_account_list_find(accounts, E_ACCOUNT_FIND_UID, uid); |