Merge pull request #1018 from Scrumplex/fix-infinite-auth-loop

This commit is contained in:
timoreo 2022-08-10 18:14:26 +02:00 committed by Sefa Eyeoglu
parent 97ce8a94e9
commit a725dc82a7
No known key found for this signature in database
GPG key ID: C10411294912A422
2 changed files with 18 additions and 5 deletions

View file

@ -145,16 +145,26 @@ void LaunchController::login() {
return;
}
// we try empty password first :)
QString password;
// we loop until the user succeeds in logging in or gives up
bool tryagain = true;
// the failure. the default failure.
const QString needLoginAgain = tr("Your account is currently not logged in. Please enter your password to log in again. <br /> <br /> This could be caused by a password change.");
QString failReason = needLoginAgain;
unsigned int tries = 0;
while (tryagain)
{
if (tries > 0 && tries % 3 == 0) {
auto result = QMessageBox::question(
m_parentWidget,
tr("Continue launch?"),
tr("It looks like we couldn't launch after %1 tries. Do you want to continue trying?")
.arg(tries)
);
if (result == QMessageBox::No) {
emitAborted();
return;
}
}
tries++;
m_session = std::make_shared<AuthSession>();
m_session->wants_online = m_online;
m_accountToUse->fillSession(m_session);