fix client crash when server goes down during registration (#5787)

This commit is contained in:
ebbit1q 2025-04-12 05:01:14 +02:00
parent aa3c8c0625
commit feb8191904
2 changed files with 8 additions and 0 deletions

View file

@ -574,6 +574,9 @@ void MainWindow::registerError(Response::ResponseCode r, QString reasonStr, quin
case Response::RespRegistrationFailed:
QMessageBox::critical(this, tr("Error"), tr("Registration failed for a technical problem on the server."));
break;
case Response::RespNotConnected:
QMessageBox::critical(this, tr("Error"), tr("The connection to the server has been lost."));
break;
default:
QMessageBox::critical(this, tr("Error"),
tr("Unknown registration error: %1").arg(static_cast<int>(r)) +

View file

@ -339,6 +339,11 @@ void RemoteClient::registerResponse(const Response &response)
emit registerAcceptedNeedsActivate();
doLogin();
break;
case Response::RespNotConnected:
// this response is created by the client from doDisconnectFromServer, do not call it again!
emit registerError(response.response_code(), QString::fromStdString(resp.denied_reason_str()),
static_cast<quint32>(resp.denied_end_time()));
break;
default:
emit registerError(response.response_code(), QString::fromStdString(resp.denied_reason_str()),
static_cast<quint32>(resp.denied_end_time()));