diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-12-23 12:59:30 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-12-23 12:59:30 +0800 |
commit | 9a38889305241f6831feda75d175c34b1c743646 (patch) | |
tree | 9669e3fa8661c45da0239faa250fe476ac1a058c /mail | |
parent | 2d99a4a0375d2ecc3481e60f323cef40f9a9e8fc (diff) | |
download | gsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.tar.gz gsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.tar.zst gsoc2013-evolution-9a38889305241f6831feda75d175c34b1c743646.zip |
Bug 666706 - MailFolderCache: Crash on visiting a renamed folder
Diffstat (limited to 'mail')
-rw-r--r-- | mail/mail-folder-cache.c | 4 |
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; |