aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog4
-rw-r--r--mail/message-list.c21
2 files changed, 17 insertions, 8 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 8b99e3b128..1759861c49 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,9 @@
2000-06-09 Dan Winship <danw@helixcode.com>
+ * message-list.c (select_row): install an idle function to
+ select the row rather than doing it directly. Ugh. What a
+ kludge, but at least it works now.
+
* session.c (evolution_auth_callback): Update for
CamelAuthCallback changes. (Uncache passwords when asked to.)
diff --git a/mail/message-list.c b/mail/message-list.c
index 957d320fba..1bb9586c55 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -854,7 +854,6 @@ void
message_list_set_folder (MessageList *message_list, CamelFolder *camel_folder)
{
CamelException ex;
- gboolean folder_exists;
g_return_if_fail (message_list != NULL);
g_return_if_fail (camel_folder != NULL);
@@ -931,13 +930,19 @@ on_cursor_change_cmd (ETable *table,
}
+/* FIXME: this is all a kludge. */
+
+static gint
+idle_select_row (gpointer user_data)
+{
+ e_table_select_row (user_data, 0);
+ return FALSE;
+}
+
static void
-select_row (ETable *table,
- gpointer user_data)
+select_row (ETable *table, gpointer user_data)
{
- MessageList *message_list;
-
- message_list = MESSAGE_LIST (user_data);
-
- e_table_select_row(E_TABLE(message_list->etable), 0);
+ MessageList *message_list = user_data;
+
+ gtk_idle_add (idle_select_row, message_list->etable);
}