aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/imap/MCIMAPOperation.cpp')
-rw-r--r--src/async/imap/MCIMAPOperation.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPOperation.cpp b/src/async/imap/MCIMAPOperation.cpp
index 724c8215..e0dae173 100644
--- a/src/async/imap/MCIMAPOperation.cpp
+++ b/src/async/imap/MCIMAPOperation.cpp
@@ -178,8 +178,15 @@ void IMAPOperation::beforeMain()
void IMAPOperation::afterMain()
{
+ retain();
+ performMethodOnMainThread((Object::Method) &IMAPOperation::afterMainOnMainThread, NULL);
+}
+
+void IMAPOperation::afterMainOnMainThread()
+{
if (mSession->session()->isAutomaticConfigurationDone()) {
mSession->owner()->automaticConfigurationDone(mSession->session());
mSession->session()->resetAutomaticConfigurationDone();
}
+ release();
}