aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/provider/MCAccountValidator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/provider/MCAccountValidator.cpp b/src/core/provider/MCAccountValidator.cpp
index 235c1704..8a290228 100644
--- a/src/core/provider/MCAccountValidator.cpp
+++ b/src/core/provider/MCAccountValidator.cpp
@@ -228,6 +228,7 @@ void AccountValidator::checkNextHost()
mImapSession->setConnectionType(mImapServer->connectionType());
mOperation = (IMAPOperation *)mImapSession->checkAccountOperation();
+ mOperation->retain();
mOperation->setCallback(this);
mOperation->start();
}
@@ -249,6 +250,7 @@ void AccountValidator::checkNextHost()
mPopSession->setConnectionType(mPopServer->connectionType());
mOperation = mPopSession->checkAccountOperation();
+ mOperation->retain();
mOperation->setCallback(this);
mOperation->start();
}
@@ -270,6 +272,7 @@ void AccountValidator::checkNextHost()
mSmtpSession->setConnectionType(mSmtpServer->connectionType());
mOperation = mSmtpSession->checkAccountOperation(Address::addressWithMailbox(mEmail));
+ mOperation->retain();
mOperation->setCallback(this);
mOperation->start();
}
@@ -304,6 +307,8 @@ void AccountValidator::checkNextHostDone()
MC_SAFE_RELEASE(mSmtpSession);
}
+ MC_SAFE_RELEASE(mOperation);
+
if (error == ErrorNone) {
mCurrentServiceTested ++;
}