Crashfix on remote provisionning (restart of application)

This commit is contained in:
Julien Wadel 2024-10-01 18:29:23 +02:00
parent 010ff96b3e
commit b9417f5a72
2 changed files with 8 additions and 3 deletions

View file

@ -498,7 +498,7 @@ void App::initCore() {
void App::initCppInterfaces() {
qmlRegisterSingletonType<LoginPage>(
Constants::MainQmlUri, 1, 0, "LoginPageCpp", [](QQmlEngine *engine, QJSEngine *) -> QObject * {
static auto loginPage = new LoginPage(engine);
static auto loginPage = new LoginPage();
App::getInstance()->mEngine->setObjectOwnership(loginPage, QQmlEngine::CppOwnership);
return loginPage;
});
@ -585,6 +585,8 @@ void App::initCppInterfaces() {
//------------------------------------------------------------
void App::clean() {
mEngine->clearComponentCache();
mEngine->clearSingletons();
delete mEngine;
mEngine = nullptr;
// Wait 500ms to let time for log te be stored.
@ -600,7 +602,10 @@ void App::restart() {
mCoreModelConnection->invokeToModel([this]() {
CoreModel::getInstance()->getCore()->stop();
mCoreModelConnection->invokeToCore([this]() {
mEngine->deleteLater();
mEngine->clearComponentCache();
mEngine->clearSingletons();
delete mEngine;
mEngine = nullptr;
if (mSettings) mSettings.reset();
initCore();
// Retrieve self from current Core/Model connection and reset Qt connections.

View file

@ -226,7 +226,7 @@ LoginLayout {
Connections {
target: SettingsCpp
function onAssistantThirdPartySipAccountDomainChanged() {
domain.resetText()
domainEdit.resetText()
}
}
}