aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/em-folder-browser.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 5e1bd36507..4c86ba61c4 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2008-05-14 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes bug #463040, Patch by Milan Crha
+
+ * em-folder-browser.c (emfb_list_message_selectedi), (emfb_set_folder):
+ Forget former selected uid as soon as we know we moved to other.
+
2008-05-09 Sankar P <psankar@novell.com>
** Fix for bug #531519
diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c
index b2c4eb4c08..5444fd0e32 100644
--- a/mail/em-folder-browser.c
+++ b/mail/em-folder-browser.c
@@ -1356,6 +1356,8 @@ emfb_list_message_selected (MessageList *ml, const char *uid, EMFolderBrowser *e
camel_object_meta_set (emfv->folder, "evolution:selected_uid", uid);
camel_object_state_write (emfv->folder);
+ g_free (emfb->priv->select_uid);
+ emfb->priv->select_uid = NULL;
}
/* ********************************************************************** */
@@ -2017,6 +2019,8 @@ emfb_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri)
if (camel_object_meta_set(emfv->folder, "evolution:show_preview", "0") &&
camel_object_meta_set(emfv->folder, "evolution:selected_uid", NULL)) {
camel_object_state_write(emfv->folder);
+ g_free (emfb->priv->select_uid);
+ emfb->priv->select_uid = NULL;
}
gconf_client_set_bool (gconf, "/apps/evolution/mail/display/safe_list", FALSE, NULL);
}
@@ -2085,6 +2089,7 @@ emfb_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri)
/* set the query manually, so we dont pop up advanced or saved search stuff */
if ((sstate = camel_object_meta_get (folder, "evolution:selected_uid"))) {
+ g_free (emfb->priv->select_uid);
emfb->priv->select_uid = sstate;
} else {
g_free(p->select_uid);