aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-display.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 7015b4f4ea..b6638c3e51 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2003-04-01 Not Zed <NotZed@Ximian.com>
+
+ * mail-display.c (mail_display_redisplay): if we're called and the
+ idle handler is set, remove it, so we dont go and redisplay it
+ again. Fixes #40522.
+
2003-03-31 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c: Properly init message_list. Fixed a type-o that
diff --git a/mail/mail-display.c b/mail/mail-display.c
index 99ba6895df..657275df98 100644
--- a/mail/mail-display.c
+++ b/mail/mail-display.c
@@ -1925,6 +1925,12 @@ mail_display_redisplay (MailDisplay *md, gboolean reset_scroll)
{
if (md->destroyed)
return;
+
+ /* we're in effect stealing the queued redisplay */
+ if (md->idle_id) {
+ g_source_remove(md->idle_id);
+ md->idle_id = 0;
+ }
fetch_cancel(md);
@@ -2000,7 +2006,7 @@ mail_display_set_charset (MailDisplay *mail_display, const char *charset)
{
g_free (mail_display->charset);
mail_display->charset = g_strdup (charset);
-
+
mail_display_queue_redisplay (mail_display);
}