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

View file

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