--- evolution/mail/em-folder-tree.c 2007-03-01 18:45:00.000000000 +0530 +++ evolution/mail/em-folder-tree.c 2007-03-07 22:59:43.000000000 +0530 @@ -1093,7 +1093,7 @@ static gboolean is_special_local_folder (const char *name) { - return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent")); + return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent") || !strcmp (name, "Trash")); } static GdkAtom @@ -1141,14 +1141,28 @@ goto done; } #endif - + if (dstore == local && !strcmp (full_name, "Trash")) { + GdkAtom xfolder; + + xfolder=drop_atoms[DND_DROP_TYPE_FOLDER]; + while (targets != NULL) { + if (targets->data == xfolder) { + atom = xfolder; + goto done; + } + + targets = targets->next; + } + + goto done; + } /* don't allow copying/moving into the UNMATCHED vfolder */ if (!strncmp (uri, "vfolder:", 8) && !strcmp (full_name, CAMEL_UNMATCHED_NAME)) goto done; - /* don't allow copying/moving into a vTrash/vJunk folder */ - if (!strcmp (full_name, CAMEL_VTRASH_NAME) - || !strcmp (full_name, CAMEL_VJUNK_NAME)) + /* don't allow copying/moving into a vJunk folder */ + if (!strcmp (full_name, CAMEL_VJUNK_NAME)) + goto done; }