aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-12-23 12:59:30 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-12-23 12:59:30 +0800
commit9a38889305241f6831feda75d175c34b1c743646 (patch)
tree9669e3fa8661c45da0239faa250fe476ac1a058c
parent2d99a4a0375d2ecc3481e60f323cef40f9a9e8fc (diff)
downloadgsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.tar.gz
gsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.tar.zst
gsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.zip
Bug 666706 - MailFolderCache: Crash on visiting a renamed folder
-rw-r--r--mail/mail-folder-cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index eb046c5406..722016c51b 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -670,8 +670,10 @@ rename_folders (MailFolderCache *cache,
if (mfi) {
up->oldfull = mfi->full_name;
+ /* Be careful not to invoke the destroy function. */
+ g_hash_table_steal (si->folders, mfi->full_name);
+
/* Its a rename op */
- g_hash_table_remove (si->folders, mfi->full_name);
mfi->full_name = g_strdup (fi->full_name);
mfi->flags = fi->flags;
mfi->has_children = fi->child != NULL;