summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDamien Caliste <[email protected]>2025-06-25 16:10:58 +0200
committerDamien Caliste <[email protected]>2025-07-04 00:02:20 +0200
commitf73381b4cdafb04ac240e4141754578f2e08080c (patch)
treee2d8574ec44e50f4aeeed6af3eb517ce997b1b14 /src
parent5404b167983e9b64b4da400bef8abdb9c7aa91c5 (diff)
Don't report credentials error after a connection being closedHEADmaster
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')
-rw-r--r--src/plugins/messageservices/imap/imapclient.cpp22
-rw-r--r--src/plugins/messageservices/pop/popclient.cpp3
-rw-r--r--src/plugins/messageservices/smtp/smtpclient.cpp3
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());
}