From 04ebf767eda4bd6c5fa7323e5644d844cf4c7d11 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Wed, 28 Nov 2007 08:00:57 +0000 Subject: [PATCH] 2007-11-28 [colin] 3.1.0cvs42 * src/folderview.c Fix mark all read from folder's contextual menu --- ChangeLog | 5 +++++ PATCHSETS | 1 + configure.ac | 2 +- src/folderview.c | 13 +++++++++---- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index df1331fb6..612e86abf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-28 [colin] 3.1.0cvs42 + + * src/folderview.c + Fix mark all read from folder's contextual menu + 2007-11-27 [colin] 3.1.0cvs41 * src/imap.c diff --git a/PATCHSETS b/PATCHSETS index 2b8c6a044..070ad9fd9 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -3099,3 +3099,4 @@ ( cvs diff -u -r 1.60.2.41 -r 1.60.2.42 src/filtering.c; ) > 3.1.0cvs39.patchset ( cvs diff -u -r 1.213.2.169 -r 1.213.2.170 src/folder.c; cvs diff -u -r 1.28.2.41 -r 1.28.2.42 src/mbox.c; cvs diff -u -r 1.395.2.341 -r 1.395.2.342 src/summaryview.c; ) > 3.1.0cvs40.patchset ( cvs diff -u -r 1.179.2.201 -r 1.179.2.202 src/imap.c; cvs diff -u -r 1.34.2.18 -r 1.34.2.19 src/imap.h; cvs diff -u -r 1.1.2.52 -r 1.1.2.53 src/imap_gtk.c; cvs diff -u -r 1.105.2.117 -r 1.105.2.118 src/prefs_account.c; cvs diff -u -r 1.1.4.89 -r 1.1.4.90 src/etpan/imap-thread.c; ) > 3.1.0cvs41.patchset +( cvs diff -u -r 1.207.2.188 -r 1.207.2.189 src/folderview.c; ) > 3.1.0cvs42.patchset diff --git a/configure.ac b/configure.ac index ab6591fd0..693ecdded 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=1 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=41 +EXTRA_VERSION=42 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/folderview.c b/src/folderview.c index f0733d8de..6e2d191ba 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -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)