aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index 9cd9bf5980..cda78f9e31 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -3528,6 +3528,7 @@ is_node_selectable (MessageList *message_list,
static gchar *
find_next_selectable (MessageList *message_list)
{
+ ETreeTableAdapter *adapter;
GNode *node;
gint last;
gint vrow_orig;
@@ -3535,6 +3536,8 @@ find_next_selectable (MessageList *message_list)
ETree *et = E_TREE (message_list);
CamelMessageInfo *info;
+ adapter = e_tree_get_table_adapter (E_TREE (message_list));
+
node = g_hash_table_lookup (
message_list->uid_nodemap, message_list->cursor_uid);
if (node == NULL)
@@ -3553,7 +3556,7 @@ find_next_selectable (MessageList *message_list)
vrow = vrow_orig + 1;
while (vrow < last) {
- node = e_tree_node_at_row (et, vrow);
+ node = e_tree_table_adapter_node_at_row (adapter, vrow);
info = get_message_info (message_list, node);
if (info && is_node_selectable (message_list, info))
return g_strdup (camel_message_info_uid (info));
@@ -3565,7 +3568,7 @@ find_next_selectable (MessageList *message_list)
vrow = vrow_orig - 1;
while (vrow >= 0) {
- node = e_tree_node_at_row (et, vrow);
+ node = e_tree_table_adapter_node_at_row (adapter, vrow);
info = get_message_info (message_list, node);
if (info && is_node_selectable (message_list, info))
return g_strdup (camel_message_info_uid (info));