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 /mail/folder-browser.c | |
parent | ff2a889221767f30f3fefd166a675ce8d33de77e (diff) | |
download | gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.gz gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.bz2 gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.lz gsoc2013-evolution-420b908f07c260cc727b7342a575e320a5627da7.tar.xz 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
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r-- | mail/folder-browser.c | 12 |
1 files changed, 8 insertions, 4 deletions
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); } |