aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/em-folder-browser.c3
-rw-r--r--mail/mail-component.c17
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);