aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/summaryview.c11
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3eada8b8..4b6aa880 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-02-15
+
+ * src/summaryview.c: summary_show_queued_msgs(): clear selection list
+ because it can be invalid after appending messages.
+
2011-02-14
* src/addressbook.c
diff --git a/src/summaryview.c b/src/summaryview.c
index 478f287f..084448e5 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -1120,6 +1120,7 @@ void summary_show_queued_msgs(SummaryView *summaryview)
summaryview->all_mlist = g_slist_concat(summaryview->all_mlist, qlist);
item->cache_dirty = TRUE;
+ summary_selection_list_free(summaryview);
summary_status_show(summaryview);
@@ -2204,10 +2205,12 @@ static void summary_status_show(SummaryView *summaryview)
GtkTreeIter iter;
GtkTreePath *path = (GtkTreePath *)cur->data;
- gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, S_COL_MSG_INFO, &msginfo, -1);
- sel_size += msginfo->size;
- n_selected++;
+ if (gtk_tree_model_get_iter(model, &iter, path)) {
+ gtk_tree_model_get(model, &iter,
+ S_COL_MSG_INFO, &msginfo, -1);
+ sel_size += msginfo->size;
+ n_selected++;
+ }
}
if (FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS) {