diff options
author | Not Zed <NotZed@HelixCode.com> | 2000-11-21 22:28:06 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2000-11-21 22:28:06 +0800 |
commit | 8d9d1e00dd89221488084e51b4940469e8db4f4e (patch) | |
tree | a1a7ad3abf0c916f4cd0a828a324126b27b9d4eb /mail/mail-vfolder.c | |
parent | a34a4b15b8e5ab5f0a145c17ef0969da9666d8d0 (diff) | |
download | gsoc2013-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.c | 4 |
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 */ |