diff options
author | Not Zed <NotZed@Ximian.com> | 2003-06-20 12:57:50 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2003-06-20 12:57:50 +0800 |
commit | 420b908f07c260cc727b7342a575e320a5627da7 (patch) | |
tree | 8748a2181c42c06637bbe7424ed7a2fb8932caad | |
parent | ff2a889221767f30f3fefd166a675ce8d33de77e (diff) | |
download | gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.gz gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.zst gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.zip |
** See bug #45063
2003-06-19 Not Zed <NotZed@Ximian.com>
** See bug #45063
* folder-browser.c (do_message_selected): dont re-load if the same
message gets selected again as one we've already shown. Etree
sends out selection changed events even when when it hasn't.
svn path=/trunk/; revision=21490
-rw-r--r-- | mail/ChangeLog | 8 | ||||
-rw-r--r-- | mail/folder-browser.c | 12 |
2 files changed, 16 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 3878a64aa2..467616f0f4 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2003-06-19 Not Zed <NotZed@Ximian.com> + + ** See bug #45063 + + * folder-browser.c (do_message_selected): dont re-load if the same + message gets selected again as one we've already shown. Etree + sends out selection changed events even when when it hasn't. + 2003-06-18 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (hide_save_state): Only save state if we have a diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 6ec4bf14e0..0f09f8b7fd 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -2473,12 +2473,16 @@ 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); + if (fb->new_uid == NULL || strcmp(fb->pending_uid, fb->new_uid) != 0) { + 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); + if (fb->loaded_uid == NULL || strcmp(fb->new_uid, fb->loaded_uid) != 0) { + 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, NULL, NULL); } |