diff options
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/folder-browser.c | 59 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 2 |
3 files changed, 35 insertions, 31 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index b45018c94c..2af99139da 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2001-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (expunge_folder): Set the message-display + message to NULL if we can't get an info too. + 2001-08-06 Jason Leach <jleach@ximian.com> * mail-callbacks.c (create_folders): Make vtrash folders on other diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 05acbb3268..68c759cc43 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -1686,12 +1686,11 @@ static gint do_mark_seen (gpointer data) { FolderBrowser *fb = data; - - if (fb->new_uid && fb->loaded_uid - && strcmp (fb->new_uid, fb->loaded_uid) == 0) { + + if (fb->new_uid && fb->loaded_uid && !strcmp (fb->new_uid, fb->loaded_uid)) { camel_folder_set_message_flags (fb->folder, fb->new_uid, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); } - + return FALSE; } @@ -1703,7 +1702,7 @@ done_message_selected (CamelFolder *folder, char *uid, CamelMimeMessage *msg, vo { FolderBrowser *fb = data; int timeout = mail_config_get_mark_as_seen_timeout (); - + if (folder != fb->folder) return; @@ -1712,28 +1711,28 @@ done_message_selected (CamelFolder *folder, char *uid, CamelMimeMessage *msg, vo gtk_signal_emit (GTK_OBJECT (fb), folder_browser_signals [MESSAGE_LOADED], uid); /* pain, if we have pending stuff, re-run */ - if (fb->pending_uid) { - g_free(fb->loading_uid); + if (fb->pending_uid) { + g_free (fb->loading_uid); fb->loading_uid = fb->pending_uid; fb->pending_uid = NULL; - - mail_get_message(fb->folder, fb->loading_uid, done_message_selected, fb, mail_thread_new); + + mail_get_message (fb->folder, fb->loading_uid, done_message_selected, fb, mail_thread_new); return; } - - g_free(fb->loaded_uid); + + g_free (fb->loaded_uid); fb->loaded_uid = fb->loading_uid; fb->loading_uid = NULL; - + /* if we are still on the same message, do the 'idle read' thing */ if (fb->seen_id) - gtk_timeout_remove(fb->seen_id); - - if (mail_config_get_do_seen_timeout() && msg) { + gtk_timeout_remove (fb->seen_id); + + if (mail_config_get_do_seen_timeout () && msg) { if (timeout > 0) - fb->seen_id = gtk_timeout_add(timeout, do_mark_seen, fb); + fb->seen_id = gtk_timeout_add (timeout, do_mark_seen, fb); else - do_mark_seen(fb); + do_mark_seen (fb); } } @@ -1746,7 +1745,7 @@ do_message_selected (FolderBrowser *fb) /* keep polling if we are busy */ if (fb->reconfigure) { if (fb->new_uid == NULL) { - mail_display_set_message(fb->mail_display, NULL); + mail_display_set_message (fb->mail_display, NULL); return FALSE; } return TRUE; @@ -1756,14 +1755,14 @@ do_message_selected (FolderBrowser *fb) /* if we are loading, then set a pending, but leave the loading, coudl cancel here (?) */ if (fb->loading_uid) { - g_free(fb->pending_uid); - fb->pending_uid = g_strdup(fb->new_uid); + g_free (fb->pending_uid); + fb->pending_uid = g_strdup (fb->new_uid); } else { if (fb->new_uid) { - fb->loading_uid = g_strdup(fb->new_uid); - mail_get_message(fb->folder, fb->loading_uid, done_message_selected, fb, mail_thread_new); + fb->loading_uid = g_strdup (fb->new_uid); + mail_get_message (fb->folder, fb->loading_uid, done_message_selected, fb, mail_thread_new); } else { - mail_display_set_message(fb->mail_display, NULL); + mail_display_set_message (fb->mail_display, NULL); } } @@ -1775,15 +1774,15 @@ static void on_message_selected (MessageList *ml, const char *uid, FolderBrowser *fb) { d(printf ("selecting uid %s (direct)\n", uid ? uid : "NONE")); - + if (fb->loading_id != 0) - gtk_timeout_remove(fb->loading_id); - - g_free(fb->new_uid); - fb->new_uid = g_strdup(uid); - + gtk_timeout_remove (fb->loading_id); + + g_free (fb->new_uid); + fb->new_uid = g_strdup (uid); + if (fb->preview_shown) - fb->loading_id = gtk_timeout_add(100, (GtkFunction)do_message_selected, fb); + fb->loading_id = gtk_timeout_add (100, (GtkFunction)do_message_selected, fb); } static void diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 56c5516d87..e5ac76bc56 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -1701,7 +1701,7 @@ expunge_folder (BonoboUIComponent *uih, void *user_data, const char *path) if (fb->loaded_uid) { info = camel_folder_get_message_info (fb->folder, fb->loaded_uid); - if (info && info->flags & CAMEL_MESSAGE_DELETED) + if (!info || info->flags & CAMEL_MESSAGE_DELETED) mail_display_set_message (fb->mail_display, NULL); } |