From: Maciej Skrzypkowski Date: Wed, 12 Oct 2016 07:25:17 +0000 (+0200) Subject: fixup! Prevent memory leaks in settings and view manager X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a8ad27a38fa1730aa699c77e3f4497a32da3c7c9;p=profile%2Fcommon%2Fapps%2Fweb%2Fbrowser.git fixup! Prevent memory leaks in settings and view manager Change-Id: I1b45f15e922f464641f80a9641858fc13efdd309 --- diff --git a/services/SimpleUI/SimpleUI.cpp b/services/SimpleUI/SimpleUI.cpp index a0ab262e..acd90731 100755 --- a/services/SimpleUI/SimpleUI.cpp +++ b/services/SimpleUI/SimpleUI.cpp @@ -459,16 +459,16 @@ void SimpleUI::connectTabsSignals() &m_storageService->getSettingsStorage(), _1, "")); m_tabUI->showPasswordUI.connect(boost::bind(&SimpleUI::showPasswordUI, this)); m_tabUI->showNoPasswordWarning.connect(boost::bind(&SimpleUI::onFirstSecretMode, this)); - m_tabUI->getPasswordUI().closeUI.connect(boost::bind(&SimpleUI::popTheStack, this)); - m_tabUI->getPasswordUI().setDBStringParamValue.connect(boost::bind(&storage::SettingsStorage::setSettingsString, + m_tabUI->getPasswordUI()->closeUI.connect(boost::bind(&SimpleUI::popTheStack, this)); + m_tabUI->getPasswordUI()->setDBStringParamValue.connect(boost::bind(&storage::SettingsStorage::setSettingsString, &m_storageService->getSettingsStorage(), _1, _2)); - m_tabUI->getPasswordUI().setDBBoolParamValue.connect(boost::bind(&storage::SettingsStorage::setSettingsBool, + m_tabUI->getPasswordUI()->setDBBoolParamValue.connect(boost::bind(&storage::SettingsStorage::setSettingsBool, &m_storageService->getSettingsStorage(), _1, _2)); - m_tabUI->getPasswordUI().getDBStringParamValue.connect(boost::bind(&storage::SettingsStorage::getSettingsText, + m_tabUI->getPasswordUI()->getDBStringParamValue.connect(boost::bind(&storage::SettingsStorage::getSettingsText, &m_storageService->getSettingsStorage(), _1, "")); - m_tabUI->getPasswordUI().getDBBoolParamValue.connect(boost::bind(&storage::SettingsStorage::getSettingsBool, + m_tabUI->getPasswordUI()->getDBBoolParamValue.connect(boost::bind(&storage::SettingsStorage::getSettingsBool, &m_storageService->getSettingsStorage(), _1, false)); - m_tabUI->getPasswordUI().changeEngineState.connect(boost::bind(&SimpleUI::changeEngineState, this)); + m_tabUI->getPasswordUI()->changeEngineState.connect(boost::bind(&SimpleUI::changeEngineState, this)); } void SimpleUI::connectHistorySignals() @@ -1951,7 +1951,7 @@ void SimpleUI::searchWebPage(std::string &text, int flags) void SimpleUI::showPasswordUI() { BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); - pushViewToStack(sAUI(&m_tabUI->getPasswordUI())); + pushViewToStack(m_tabUI->getPasswordUI()); } void SimpleUI::onFirstSecretMode() diff --git a/services/TabUI/TabUI.cpp b/services/TabUI/TabUI.cpp index 57067d8a..c46efe78 100644 --- a/services/TabUI/TabUI.cpp +++ b/services/TabUI/TabUI.cpp @@ -40,6 +40,7 @@ TabUI::TabUI() , m_last_pressed_gengrid_item(nullptr) , m_item_class(nullptr) , m_state(State::NORMAL) + , m_passwordUI(std::make_shared()) { m_edjFilePath = EDJE_DIR; m_edjFilePath.append("TabUI/TabUI.edj"); @@ -96,7 +97,7 @@ void TabUI::init(Evas_Object* parent) BROWSER_LOGE("[%s:%d] unknow checkIfParamExistsInDB value!", __PRETTY_FUNCTION__, __LINE__); } - m_passwordUI.init(parent); + m_passwordUI->init(parent); } Evas_Object* TabUI::getContent() @@ -269,7 +270,7 @@ void TabUI::_cm_secret_clicked(void* data, Evas_Object*, void*) if (data) { TabUI* tabUI = static_cast(data); _cm_dismissed(nullptr, tabUI->m_ctxpopup, nullptr); - tabUI->m_passwordUI.setState(PasswordState::SecretModeData); + tabUI->m_passwordUI->setState(PasswordState::SecretModeData); tabUI->showPasswordUI(); } else { BROWSER_LOGW("[%s] data = nullptr", __PRETTY_FUNCTION__); @@ -330,8 +331,8 @@ void TabUI::_right_button_clicked(void * data, Evas_Object*, void*) self->newTabClicked(); break; case State::PASSWORD_DECISION: - self->m_passwordUI.setState(PasswordState::CreatePassword); - self->m_passwordUI.setAction(PasswordAction::CreatePasswordFirstTime); + self->m_passwordUI->setState(PasswordState::CreatePassword); + self->m_passwordUI->setAction(PasswordAction::CreatePasswordFirstTime); self->showPasswordUI(); break; default: @@ -359,8 +360,8 @@ void TabUI::_left_button_clicked(void* data, Evas_Object*, void*) self->changeEngineState(); self->refetchTabUIData(); } else { // check password validity - self->m_passwordUI.setState(PasswordState::ConfirmPassword); - self->m_passwordUI.setAction(PasswordAction::ConfirmPasswordEnterSecret); + self->m_passwordUI->setState(PasswordState::ConfirmPassword); + self->m_passwordUI->setAction(PasswordAction::ConfirmPasswordEnterSecret); self->showPasswordUI(); } } else { diff --git a/services/TabUI/TabUI.h b/services/TabUI/TabUI.h index 26e27bc6..aa88bdcd 100644 --- a/services/TabUI/TabUI.h +++ b/services/TabUI/TabUI.h @@ -56,7 +56,7 @@ public: //AbstractContextMenu interface implementation virtual void showContextMenu() override; - PasswordUI& getPasswordUI() { return m_passwordUI; }; + std::shared_ptr getPasswordUI() { return m_passwordUI; }; void switchToSecretFirstTime(); boost::signals2::signal tabClicked; @@ -126,7 +126,7 @@ private: std::string m_edjFilePath; State m_state; - PasswordUI m_passwordUI; + std::shared_ptr m_passwordUI; const unsigned int GENGRID_ITEM_WIDTH = 700; const unsigned int GENGRID_ITEM_HEIGHT = 312;