aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-06 09:45:13 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-06 09:45:13 +0000
commita67ab3bc7254c4b0c225cacdedfef70cdbcb75d9 (patch)
tree28dd0e6e754bfd8d7c74d739edc4bd4847a183bf
parentc317099847602843f5defd6ee8da3b883d549907 (diff)
fixed a bug that it took very long time to delete all selected messages.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@313 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.ja6
-rw-r--r--src/summaryview.c6
3 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 98390ca8..00b85b05 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2005-06-06
+ * src/summaryview.c: summary_remove_invalid_messages(): fixed a bug
+ that it took time at O(n^2) order if all messages were selected
+ and then they were removed.
+
+2005-06-06
+
* src/compose.c
src/messageview.c
src/prefs_common.c
diff --git a/ChangeLog.ja b/ChangeLog.ja
index cf6843cc..46f750af 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,11 @@
2005-06-06
+ * src/summaryview.c: summary_remove_invalid_messages(): 全メッセージ
+ を選択してそれを削除した場合に O(n^2) のオーダーで時間がかかって
+ いたバグを修正。
+
+2005-06-06
+
* src/compose.c
src/messageview.c
src/prefs_common.c
diff --git a/src/summaryview.c b/src/summaryview.c
index 46157cb6..e91d4a90 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -3029,10 +3029,8 @@ static void summary_remove_invalid_messages(SummaryView *summaryview)
FALSE);
}
}
- if (!valid) {
- gtk_tree_row_reference_free(summaryview->selected);
- summaryview->selected = NULL;
- }
+ if (!valid)
+ summary_unselect_all(summaryview);
for (valid = gtk_tree_model_get_iter_first(model, &iter);
valid == TRUE; iter = next) {