aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-vfolder.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@HelixCode.com>2000-11-21 22:28:06 +0800
committerMichael Zucci <zucchi@src.gnome.org>2000-11-21 22:28:06 +0800
commit8d9d1e00dd89221488084e51b4940469e8db4f4e (patch)
treea1a7ad3abf0c916f4cd0a828a324126b27b9d4eb /mail/mail-vfolder.c
parenta34a4b15b8e5ab5f0a145c17ef0969da9666d8d0 (diff)
downloadgsoc2013-evolution-8d9d1e00dd89221488084e51b4940469e8db4f4e.tar.gz
gsoc2013-evolution-8d9d1e00dd89221488084e51b4940469e8db4f4e.tar.zst
gsoc2013-evolution-8d9d1e00dd89221488084e51b4940469e8db4f4e.zip
IF we dont find a source, clear the exception and ignore it silently. for
2000-11-21 Not Zed <NotZed@HelixCode.com> * mail-vfolder.c (vfolder_uri_to_folder): IF we dont find a source, clear the exception and ignore it silently. for e.g. if the user reconfigured their mailboxes and one of them no longer exists. * message-list.c: (message_list_set_folder): If we get set a new folder, unhook any events before unrefing the folder too (the folder is never reset currently, but this would cause problems). (subtree_unread): Check for uid null, wont crash, but its a bug. (ml_tree_value_at): If the uid is null, then fake an obviously bad line. (build_subtree): Yeah well, we can't like freeze/thaw here, because this is called recursive, and freeze/thaw isn't recursive, like pre model and post model change was. (build_tree): Maybe we can try it here, although i dont think it'll help much. (build_flat): And this is also a tree. yes a tree. (build_tree): Added changes arg. If set, then try the 'diff' approach, unless the tree is already empty. (message_list_set_threaded): Dont clear the tree here. (message_list_set_search): Or here. svn path=/trunk/; revision=6629
Diffstat (limited to 'mail/mail-vfolder.c')
-rw-r--r--mail/mail-vfolder.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index d97e907d0f..a9ad3ff561 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -202,11 +202,15 @@ vfolder_uri_to_folder(const char *uri, CamelException *ex)
while ( (sourceuri = vfolder_rule_next_source(rule, sourceuri)) ) {
d(printf("adding vfolder source: %s\n", sourceuri));
sourcefolder = mail_tool_uri_to_folder (sourceuri, ex);
+ printf("source folder = %p\n", sourcefolder);
if (sourcefolder) {
sources++;
mail_tool_camel_lock_up ();
camel_vee_folder_add_folder(folder, sourcefolder);
mail_tool_camel_lock_down ();
+ } else {
+ /* we'll just silently ignore now-missing sources */
+ camel_exception_clear(ex);
}
}
/* if we didn't have any sources, just use Inbox as the default */