aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog3
-rw-r--r--mail/mail-vfolder.c12
2 files changed, 10 insertions, 5 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3256eb2f13..4b92768251 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,8 @@
2004-02-20 Not Zed <NotZed@Ximian.com>
+ * mail-vfolder.c (mail_vfolder_add_uri): fix for vfolder-rule api
+ changes.
+
* mail-folder-cache.c (unset_folder_info, setup_folder)
(rename_folders): switch the sense of the no select checks. TEST!
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index ed5f9dd031..d7ff1908dc 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -427,9 +427,9 @@ mail_vfolder_add_uri(CamelStore *store, const char *curi, int remove)
/* dont auto-add any sent/drafts folders etc, they must be explictly listed as a source */
if (rule->source
&& !is_ignore
- && ((!strcmp(rule->source, "local") && !remote)
- || (!strcmp(rule->source, "remote_active") && remote)
- || (!strcmp(rule->source, "local_remote_active"))))
+ && ((((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_LOCAL && !remote)
+ || (((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_REMOTE_ACTIVE && remote)
+ || (((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_LOCAL_REMOTE_ACTIVE)))
found = TRUE;
/* we check using the store uri_cmp since its more accurate */
@@ -660,9 +660,11 @@ rule_changed(FilterRule *rule, CamelFolder *folder)
if (rule->source) {
LOCK();
for (i=0;i<2;i++) {
- if (i==0 && (!strcmp(rule->source, "local") || !strcmp(rule->source, "local_remote_active")))
+ if (i==0 && (((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_LOCAL
+ || ((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_LOCAL_REMOTE_ACTIVE))
l = source_folders_local;
- else if (i==1 && (!strcmp(rule->source, "remote_active") || !strcmp(rule->source, "local_remote_active")))
+ else if (i==1 && (((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_REMOTE_ACTIVE
+ || ((VfolderRule *)rule)->with == VFOLDER_RULE_WITH_LOCAL_REMOTE_ACTIVE))
l = source_folders_remote;
else
l = NULL;