From 971e7a72010431ea6e0805f7d9d87877f22887fb Mon Sep 17 00:00:00 2001 From: Gaelle Braud Date: Wed, 27 Aug 2025 11:02:09 +0200 Subject: [PATCH] fix wrong thread for configuringStaus connect --- Linphone/core/App.cpp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Linphone/core/App.cpp b/Linphone/core/App.cpp index 44d860a48..1a1ae7783 100644 --- a/Linphone/core/App.cpp +++ b/Linphone/core/App.cpp @@ -390,6 +390,23 @@ void App::setSelf(QSharedPointer(me)) { mCoreModelConnection->invokeToCore([this, n] { mEventCountNotifier->notifyEventCount(n); }); }); + // Config error message + mCoreModelConnection->makeConnectToModel( + &CoreModel::configuringStatus, [this](const std::shared_ptr &core, + linphone::ConfiguringState status, const std::string &message) { + mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); + if (status == linphone::ConfiguringState::Failed) { + mCoreModelConnection->invokeToCore([this, message]() { + mustBeInMainThread(log().arg(Q_FUNC_INFO)); + //: Error + Utils::showInformationPopup( + tr("info_popup_error_title"), + tr("info_popup_configuration_failed_message").arg(Utils::coreStringToAppString(message)), + false); + }); + } + }); + //--------------------------------------------------------------------------------------------- mCliModelConnection = SafeConnection::create(me, CliModel::getInstance()); mCliModelConnection->makeConnectToCore(&App::receivedMessage, [this](int, const QByteArray &byteArray) { @@ -471,22 +488,6 @@ void App::initCore() { if (mParser->isSet("verbose")) QtLogger::enableVerbose(true); if (mParser->isSet("qt-logs-only")) QtLogger::enableQtOnly(true); - // Config error message - connect(CoreModel::getInstance().get(), &CoreModel::configuringStatus, this, - [this](const std::shared_ptr &core, linphone::ConfiguringState status, - const std::string &message) { - mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); - if (CoreModel::getInstance()->mConfigStatus == linphone::ConfiguringState::Failed) { - QMetaObject::invokeMethod(thread(), [this, message]() { - mustBeInMainThread(log().arg(Q_FUNC_INFO)); - //: Error - Utils::showInformationPopup( - tr("info_popup_error_title"), - tr("info_popup_configuration_failed_message").arg(Utils::coreStringToAppString(message)), - false); - }); - } - }); QMetaObject::invokeMethod( mLinphoneThread->getThreadId(), [this, settings = mSettings]() mutable {