From 6093cf098260b390980b2a8da34477d1874e5b9c Mon Sep 17 00:00:00 2001 From: Not Zed Date: Fri, 11 Jun 2004 08:30:16 +0000 Subject: handle a null path or fragment. 2004-06-11 Not Zed * em-utils.c (em_uri_from_camel): handle a null path or fragment. * em-folder-tree-model.c (em_folder_tree_model_add_store): set the full name of the store to "". Fixes #59925 and probably other issues. Related to the removal of folderinfo->path. svn path=/trunk/; revision=26305 --- mail/ChangeLog | 8 ++++++++ mail/em-folder-selector.c | 2 +- mail/em-folder-tree-model.c | 2 +- mail/em-utils.c | 14 +++++++++----- 4 files changed, 19 insertions(+), 7 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index c207619a65..7dbcc81cba 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2004-06-11 Not Zed + + * em-utils.c (em_uri_from_camel): handle a null path or fragment. + + * em-folder-tree-model.c (em_folder_tree_model_add_store): set the + full name of the store to "". Fixes #59925 and probably other + issues. Related to the removal of folderinfo->path. + 2004-06-10 Jeffrey Stedfast Fixes bug #58825. Ugh. Really Gross Hack (tm). diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 3ec8c4824c..f31e06c78c 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -196,7 +196,7 @@ emfs_create_name_changed (GtkEntry *entry, EMFolderSelector *emfs) text = gtk_entry_get_text (emfs->name_entry); path = em_folder_tree_get_selected_path (emfs->emft); - + active = text && path && !strchr (text, '/'); gtk_dialog_set_response_sensitive ((GtkDialog *) emfs, GTK_RESPONSE_OK, active); diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c index aa32044b6f..b3d64c2154 100644 --- a/mail/em-folder-tree-model.c +++ b/mail/em-folder-tree-model.c @@ -748,7 +748,7 @@ em_folder_tree_model_add_store (EMFolderTreeModel *model, CamelStore *store, con gtk_tree_store_set ((GtkTreeStore *) model, &iter, COL_STRING_DISPLAY_NAME, display_name, COL_POINTER_CAMEL_STORE, store, - COL_STRING_FULL_NAME, NULL, + COL_STRING_FULL_NAME, "", COL_BOOL_LOAD_SUBDIRS, TRUE, COL_BOOL_IS_STORE, TRUE, COL_STRING_URI, uri, -1); diff --git a/mail/em-utils.c b/mail/em-utils.c index c82d2c9636..6cc735e981 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -1556,12 +1556,16 @@ char *em_uri_from_camel(const char *curi) else uid = account->uid; path = (provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH)?curl->fragment:curl->path; - if (path[0] == '/') - path++; + if (path) { + if (path[0] == '/') + path++; - tmp = camel_url_encode(path, ";?"); - euri = g_strdup_printf("email://%s/%s", uid, tmp); - g_free(tmp); + tmp = camel_url_encode(path, ";?"); + euri = g_strdup_printf("email://%s/%s", uid, tmp); + g_free(tmp); + } else { + euri = g_strdup_printf("email://%s/", uid); + } d(printf("em uri from camel '%s' -> '%s'\n", curi, euri)); -- cgit v1.2.3