aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/e-convert-local-mail.c7
1 files changed, 7 insertions, 0 deletions
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;
}