From c019d3237ad6e57872ec216ed0477151f8485e97 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 22 Oct 2018 17:06:03 +0200 Subject: [PATCH] fix(app): use createPrimaryContactParsed to avoid memory leak --- src/app/cli/Cli.cpp | 2 +- .../settings/AccountSettingsModel.cpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/app/cli/Cli.cpp b/src/app/cli/Cli.cpp index 9d1a9506a..2cdd79d5e 100644 --- a/src/app/cli/Cli.cpp +++ b/src/app/cli/Cli.cpp @@ -59,7 +59,7 @@ static void cliJoinConference (QHash &args) { const shared_ptr core = coreManager->getCore(); { - shared_ptr address = core->getPrimaryContactParsed(); + shared_ptr address = core->createPrimaryContactParsed(); address->setDisplayName(Utils::appStringToCoreString(args.take("display-name"))); core->setPrimaryContact(address->asString()); } diff --git a/src/components/settings/AccountSettingsModel.cpp b/src/components/settings/AccountSettingsModel.cpp index f89ef3ca8..4843b83f2 100644 --- a/src/components/settings/AccountSettingsModel.cpp +++ b/src/components/settings/AccountSettingsModel.cpp @@ -68,7 +68,7 @@ shared_ptr AccountSettingsModel::getUsedSipAddress () c shared_ptr core = CoreManager::getInstance()->getCore(); shared_ptr proxyConfig = core->getDefaultProxyConfig(); - return proxyConfig ? proxyConfig->getIdentityAddress() : core->getPrimaryContactParsed(); + return proxyConfig ? proxyConfig->getIdentityAddress() : core->createPrimaryContactParsed(); } void AccountSettingsModel::setUsedSipAddress (const shared_ptr &address) { @@ -163,7 +163,7 @@ void AccountSettingsModel::setDefaultProxyConfig (const shared_ptr core = CoreManager::getInstance()->getCore(); - if (Utils::coreStringToAppString(core->getPrimaryContactParsed()->asStringUriOnly()) == sipAddress) { + if (Utils::coreStringToAppString(core->createPrimaryContactParsed()->asStringUriOnly()) == sipAddress) { setDefaultProxyConfig(nullptr); return; } @@ -330,13 +330,13 @@ AccountSettingsModel::RegistrationState AccountSettingsModel::getRegistrationSta QString AccountSettingsModel::getPrimaryUsername () const { return Utils::coreStringToAppString( - CoreManager::getInstance()->getCore()->getPrimaryContactParsed()->getUsername() + CoreManager::getInstance()->getCore()->createPrimaryContactParsed()->getUsername() ); } void AccountSettingsModel::setPrimaryUsername (const QString &username) { shared_ptr core = CoreManager::getInstance()->getCore(); - shared_ptr primary = core->getPrimaryContactParsed(); + shared_ptr primary = core->createPrimaryContactParsed(); primary->setUsername(Utils::appStringToCoreString( username.isEmpty() ? APPLICATION_NAME : username @@ -348,13 +348,13 @@ void AccountSettingsModel::setPrimaryUsername (const QString &username) { QString AccountSettingsModel::getPrimaryDisplayName () const { return Utils::coreStringToAppString( - CoreManager::getInstance()->getCore()->getPrimaryContactParsed()->getDisplayName() + CoreManager::getInstance()->getCore()->createPrimaryContactParsed()->getDisplayName() ); } void AccountSettingsModel::setPrimaryDisplayName (const QString &displayName) { shared_ptr core = CoreManager::getInstance()->getCore(); - shared_ptr primary = core->getPrimaryContactParsed(); + shared_ptr primary = core->createPrimaryContactParsed(); primary->setDisplayName(Utils::appStringToCoreString(displayName)); core->setPrimaryContact(primary->asString()); @@ -364,7 +364,7 @@ void AccountSettingsModel::setPrimaryDisplayName (const QString &displayName) { QString AccountSettingsModel::getPrimarySipAddress () const { return Utils::coreStringToAppString( - CoreManager::getInstance()->getCore()->getPrimaryContactParsed()->asString() + CoreManager::getInstance()->getCore()->createPrimaryContactParsed()->asString() ); } @@ -376,8 +376,8 @@ QVariantList AccountSettingsModel::getAccounts () const { { QVariantMap account; - account["sipAddress"] = Utils::coreStringToAppString(core->getPrimaryContactParsed()->asStringUriOnly()); - account["unreadMessageCount"] = core->getUnreadChatMessageCountFromLocal(core->getPrimaryContactParsed()); + account["sipAddress"] = Utils::coreStringToAppString(core->createPrimaryContactParsed()->asStringUriOnly()); + account["unreadMessageCount"] = core->getUnreadChatMessageCountFromLocal(core->createPrimaryContactParsed()); accounts << account; }