clean up some of my dirty digging remnants
[claws.git] / src / summaryview.c
index 43d8b587ef6dce2a9ade8df9744a1464bed6df69..22fca83a0cea3f19709962273c30c14039fcdea2 100644 (file)
@@ -756,6 +756,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item,
        main_window_cursor_wait(summaryview->mainwin);
 
        mlist = item->folder->get_msg_list(item->folder, item, !update_cache);
+       debug_print("*** folder %s has %d messages\n", item->path, g_slist_length(mlist));
 
        summary_processing(summaryview, mlist);
 
@@ -3753,8 +3754,6 @@ void summary_filter(SummaryView *summaryview)
 
                g_hash_table_destroy(summaryview->folder_table);
                summaryview->folder_table = NULL;
-
-               summary_show(summaryview, summaryview->folder_item, FALSE);
        }
 
        debug_print(_("done.\n"));
@@ -3762,6 +3761,11 @@ void summary_filter(SummaryView *summaryview)
        main_window_cursor_normal(summaryview->mainwin);
 
        summary_unlock(summaryview);
+
+       /* CLAWS: summary_show() only valid after having a lock. ideally
+        * we want the lock to be context aware...  */
+       if (global_processing)
+               summary_show(summaryview, summaryview->folder_item, FALSE);
 }
 
 static void summary_filter_func(GtkCTree *ctree, GtkCTreeNode *node,
@@ -3782,7 +3786,7 @@ static void summary_filter_func(GtkCTree *ctree, GtkCTreeNode *node,
                    summaryview->folder_item != dest)
                        summary_move_row_to(summaryview, node, dest);
        }
-       else
+       else 
                filter_msginfo_move_or_delete(global_processing, msginfo,
                                              summaryview->folder_table);
 }