From 2c3485e613914c1f65d96da9f87525b240fb890c Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 10 Jun 2014 15:19:51 +0200 Subject: Fix possible crash after migrate of mbox to maildir Folders can leave notifications in the main loop which would be delivered on idle, but these can be left in the main loop longer than the temporary CamelSession object is alive, which leads to a crash, because of the CamelStore's descendant being freed too early. --- shell/e-convert-local-mail.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'shell') diff --git a/shell/e-convert-local-mail.c b/shell/e-convert-local-mail.c index 4f6b4c4fcb..cd6ec91ef2 100644 --- a/shell/e-convert-local-mail.c +++ b/shell/e-convert-local-mail.c @@ -274,6 +274,13 @@ migrate_mbox_to_maildir (EShell *shell, g_object_unref (maildir_service); g_thread_unref (thread); + /* Folders can leave notifications in the main loop which would be delivered + on idle, but these can be left in the main loop longer than the temporary + CamelSession object is alive, which leads to a crash, because of + the CamelStore's descendant being freed too early. */ + while (g_main_context_pending (NULL)) + g_main_context_iteration (NULL, TRUE); + return TRUE; } -- cgit v1.2.3