diff --git a/Linphone/core/App.cpp b/Linphone/core/App.cpp index 9bfd80428..11e0064c5 100644 --- a/Linphone/core/App.cpp +++ b/Linphone/core/App.cpp @@ -498,7 +498,7 @@ void App::initCore() { void App::initCppInterfaces() { qmlRegisterSingletonType( 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. diff --git a/Linphone/view/Page/Form/Login/SIPLoginPage.qml b/Linphone/view/Page/Form/Login/SIPLoginPage.qml index 4d2671e34..32f55ae02 100644 --- a/Linphone/view/Page/Form/Login/SIPLoginPage.qml +++ b/Linphone/view/Page/Form/Login/SIPLoginPage.qml @@ -226,7 +226,7 @@ LoginLayout { Connections { target: SettingsCpp function onAssistantThirdPartySipAccountDomainChanged() { - domain.resetText() + domainEdit.resetText() } } }