aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog3
-rw-r--r--mail/mail-vfolder.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 0d02914947..b4aca31119 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,8 @@
2001-09-20 <NotZed@Ximian.com>
+ * mail-vfolder.c (check_source): Dont let drafts/outbox/sent be
+ added via a generic 'all local folders' rule.
+
* component-factory.c (got_folder): trigger a folder changed
event, so the folderinfocache stuff has a chance to see if this is
the outbox_folder or not.
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index 5967280ef1..48943eea26 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -75,6 +75,11 @@ extern CamelSession *session;
static int
check_source(FilterRule *rule, CamelFolder *folder)
{
+ extern CamelFolder *drafts_folder, *outbox_folder, *sent_folder;
+
+ if (folder == drafts_folder || folder == outbox_folder || folder == sent_folder)
+ return FALSE;
+
if (rule->source) {
int remote = (((CamelService *)folder->parent_store)->provider->flags & CAMEL_PROVIDER_IS_REMOTE) != 0;