aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog4
-rw-r--r--mail/message-list.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 100aeda7fe..83333215fe 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,9 @@
2004-06-10 Not Zed <NotZed@Ximian.com>
+ * message-list.c (message_list_set_selected): use new
+ etreeselectionmodel api to select paths in one call. Fixes
+ #59546.
+
* em-folder-view.c (emfv_message_reply): check that we have
content selected, not just a selection, before trying to reply to
that content. #59146.
diff --git a/mail/message-list.c b/mail/message-list.c
index d621281433..c332b23f1b 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -2981,14 +2981,17 @@ message_list_set_selected(MessageList *ml, GPtrArray *uids)
int i;
ETreeSelectionModel *etsm;
ETreePath node;
+ GPtrArray *paths = g_ptr_array_new();
etsm = (ETreeSelectionModel *)e_tree_get_selection_model(ml->tree);
-
for (i=0; i<uids->len; i++) {
node = g_hash_table_lookup(ml->uid_nodemap, uids->pdata[i]);
if (node)
- e_tree_selection_model_add_to_selection(etsm, node);
+ g_ptr_array_add(paths, node);
}
+
+ e_tree_selection_model_select_paths(etsm, paths);
+ g_ptr_array_free(paths, TRUE);
}
void