aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-08-08 12:26:12 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-08-08 12:26:12 +0800
commitcea054cd54d84479352a43bbabc19c9ce9af5efb (patch)
treeba02763209ba0f22989024004f57689071603ec5 /mail/message-list.c
parent91a6b6899e5568ed34f913bedb538dd6c9e35b32 (diff)
downloadgsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.tar.gz
gsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.tar.zst
gsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.zip
Merge revisions 35747:35930 from trunk.
svn path=/branches/kill-bonobo/; revision=35931
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index 8fd0ea8092..9149fd673b 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -2589,7 +2589,7 @@ find_next_selectable (MessageList *ml)
return NULL;
info = get_message_info (ml, node);
- if (is_node_selectable (ml, info))
+ if (info && is_node_selectable (ml, info))
return NULL;
last = e_tree_row_count (ml->tree);
@@ -2603,7 +2603,7 @@ find_next_selectable (MessageList *ml)
while (vrow < last) {
node = e_tree_node_at_row (et, vrow);
info = get_message_info (ml, node);
- if (is_node_selectable (ml, info))
+ if (info && is_node_selectable (ml, info))
return g_strdup (camel_message_info_uid (info));
vrow ++;
}
@@ -2615,7 +2615,7 @@ find_next_selectable (MessageList *ml)
while (vrow >= 0) {
node = e_tree_node_at_row (et, vrow);
info = get_message_info (ml, node);
- if (is_node_selectable (ml, info))
+ if (info && is_node_selectable (ml, info))
return g_strdup (camel_message_info_uid (info));
vrow --;
}
@@ -3644,6 +3644,9 @@ glib_crapback(void *key, void *data, void *x)
struct _glibsuxcrap *y = x;
CamelMessageInfo *mi;
+ if(y->count)
+ return;
+
mi = camel_folder_get_message_info(y->folder, key);
if (mi) {
y->count++;
@@ -3651,7 +3654,7 @@ glib_crapback(void *key, void *data, void *x)
}
}
-/* returns number of hidden messages */
+/* returns 0 or 1 depending if there are hidden messages */
unsigned int
message_list_hidden(MessageList *ml)
{
@@ -4310,6 +4313,15 @@ mail_regen_list (MessageList *ml, const char *search, const char *hideexpr, Came
camel_folder_thread_messages_ref(m->tree);
}
+ if (message_list_length (ml) <= 0) {
+ /* there is some info why the message list is empty, let it be something useful */
+ char *txt = g_strconcat (_("Generating message list"), "..." , NULL);
+
+ e_tree_set_info_message (m->ml->tree, txt);
+
+ g_free (txt);
+ }
+
/* if we're busy already kick off timeout processing, so normal updates are immediate */
if (ml->regen == NULL)
ml_regen_timeout(m);