2007-11-28 [colin] 3.1.0cvs42
[claws.git] / src / folderview.c
index f0733d8de8d3b7b387bfd3caa44d31a0ae642952..6e2d191bac1571d94d38799b88d594ab1edc940d 100644 (file)
@@ -856,15 +856,20 @@ static void mark_all_read_cb(FolderView *folderview, guint action,
                        prefs_common.ask_mark_all_read = FALSE;
        }
 
-       summary_lock(folderview->summaryview);
+       
        folder_item_update_freeze();
-       if (folderview->summaryview->folder_item == item)
+       if (folderview->summaryview->folder_item != item)
+               summary_lock(folderview->summaryview);
+       else
                summary_freeze(folderview->summaryview);
+               
        folderutils_mark_all_read(item);
-       if (folderview->summaryview->folder_item == item)
+       
+       if (folderview->summaryview->folder_item != item)
+               summary_unlock(folderview->summaryview);
+       else
                summary_thaw(folderview->summaryview);
        folder_item_update_thaw();
-       summary_unlock(folderview->summaryview);
 }
 
 static void folderview_select_node(FolderView *folderview, GtkCTreeNode *node)