diff options
author | Damien Caliste <[email protected]> | 2025-06-25 16:10:58 +0200 |
---|---|---|
committer | Damien Caliste <[email protected]> | 2025-07-04 00:02:20 +0200 |
commit | f73381b4cdafb04ac240e4141754578f2e08080c (patch) | |
tree | e2d8574ec44e50f4aeeed6af3eb517ce997b1b14 /src/plugins/messageservices | |
parent | 5404b167983e9b64b4da400bef8abdb9c7aa91c5 (diff) |
If the connection already breaks while waiting for
the credentials to be fetched, it should not report
error or proceed to login.
Change-Id: I68a6f95232bdde03cc6cd52a2e0bf3cdfc989772
Reviewed-by: Pekka Vuorela <[email protected]>
Diffstat (limited to 'src/plugins/messageservices')
-rw-r--r-- | src/plugins/messageservices/imap/imapclient.cpp | 22 | ||||
-rw-r--r-- | src/plugins/messageservices/pop/popclient.cpp | 3 | ||||
-rw-r--r-- | src/plugins/messageservices/smtp/smtpclient.cpp | 3 |
3 files changed, 15 insertions, 13 deletions
diff --git a/src/plugins/messageservices/imap/imapclient.cpp b/src/plugins/messageservices/imap/imapclient.cpp index d25ff467..638a05a2 100644 --- a/src/plugins/messageservices/imap/imapclient.cpp +++ b/src/plugins/messageservices/imap/imapclient.cpp @@ -1793,19 +1793,19 @@ void ImapClient::onCredentialsStatusChanged() disconnect(_credentials, &QMailCredentialsInterface::statusChanged, this, &ImapClient::onCredentialsStatusChanged); - switch (_credentials->status()) { - case (QMailCredentialsInterface::Ready): { - QMailAccountConfiguration config(_accountId); - _protocol.sendLogin(config, _credentials); - break; - } - case (QMailCredentialsInterface::Failed): - if (_protocol.inUse()) { + if (_protocol.inUse()) { + switch (_credentials->status()) { + case (QMailCredentialsInterface::Ready): { + QMailAccountConfiguration config(_accountId); + _protocol.sendLogin(config, _credentials); + break; + } + case (QMailCredentialsInterface::Failed): operationFailed(QMailServiceAction::Status::ErrLoginFailed, _credentials->lastError()); + break; + default: + break; } - break; - default: - break; } } diff --git a/src/plugins/messageservices/pop/popclient.cpp b/src/plugins/messageservices/pop/popclient.cpp index a31c5938..34079832 100644 --- a/src/plugins/messageservices/pop/popclient.cpp +++ b/src/plugins/messageservices/pop/popclient.cpp @@ -1360,5 +1360,6 @@ void PopClient::onCredentialsStatusChanged() qCDebug(lcPOP) << "Got credentials status changed:" << credentials->status(); disconnect(credentials, &QMailCredentialsInterface::statusChanged, this, &PopClient::onCredentialsStatusChanged); - nextAction(); + if (status == Connected) + nextAction(); } diff --git a/src/plugins/messageservices/smtp/smtpclient.cpp b/src/plugins/messageservices/smtp/smtpclient.cpp index 122fc3b9..e67a80e1 100644 --- a/src/plugins/messageservices/smtp/smtpclient.cpp +++ b/src/plugins/messageservices/smtp/smtpclient.cpp @@ -1119,5 +1119,6 @@ void SmtpClient::onCredentialsStatusChanged() qCDebug(lcSMTP) << "Got credentials status changed:" << credentials->status(); disconnect(credentials, &QMailCredentialsInterface::statusChanged, this, &SmtpClient::onCredentialsStatusChanged); - nextAction(QString()); + if (status == Authenticate) + nextAction(QString()); } |