aboutsummaryrefslogtreecommitdiff
path: root/src/summaryview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-03-29 02:39:50 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-03-29 02:39:50 +0000
commit3b609eba02de4d4ee93bd40013e03c1f324d54c7 (patch)
treeecf077cbf4f06f6e67e6aa172e8c8a74f80f38a5 /src/summaryview.c
parentcc0b5dec60a97e782747966e9c6a1b29283fc112 (diff)
when marking a message as junk and moving to junk folder, select proper junk folder instead of a default one.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3239 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/summaryview.c')
-rw-r--r--src/summaryview.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/summaryview.c b/src/summaryview.c
index 7e8675fc..d0f35735 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -5060,22 +5060,29 @@ static void summary_not_junk_func(GtkTreeModel *model, GtkTreePath *path,
void summary_junk(SummaryView *summaryview)
{
- FolderItem *junk;
+ FolderItem *junk = NULL;
if (!prefs_common.enable_junk)
return;
if (!prefs_common.junk_learncmd)
return;
- summary_lock(summaryview);
-
- debug_print("Set mail as junk\n");
+ debug_print("summary_junk: setting selected mails as junk\n");
if (prefs_common.junk_folder)
junk = folder_find_item_from_identifier
(prefs_common.junk_folder);
- else
+ if (!junk &&
+ summaryview->folder_item && summaryview->folder_item->folder)
+ junk = folder_get_junk(summaryview->folder_item->folder);
+ if (!junk)
junk = folder_get_default_junk();
+ if (!junk) {
+ g_warning("summary_junk: junk folder not found");
+ return;
+ }
+
+ summary_lock(summaryview);
summaryview->to_folder = junk;
gtk_tree_selection_selected_foreach(summaryview->selection,