diff --git a/mix/ApplicationCtx.cpp b/mix/ApplicationCtx.cpp index 99d9bee4c..0130f2dfb 100644 --- a/mix/ApplicationCtx.cpp +++ b/mix/ApplicationCtx.cpp @@ -37,19 +37,14 @@ ApplicationCtx* ApplicationCtx::Instance = nullptr; ApplicationCtx::ApplicationCtx(QQmlApplicationEngine* _engine) { - m_applicationEngine = _engine; + m_applicationEngine = std::unique_ptr(_engine); m_keyEventManager = std::unique_ptr(new KeyEventManager()); m_webThree = std::unique_ptr(new WebThreeDirect(std::string("Mix/v") + dev::Version + "/" DEV_QUOTED(ETH_BUILD_TYPE) "/" DEV_QUOTED(ETH_BUILD_PLATFORM), getDataDir() + "/Mix", false, {"eth", "shh"})); } -ApplicationCtx::~ApplicationCtx() -{ - delete m_applicationEngine; -} - QQmlApplicationEngine* ApplicationCtx::appEngine() { - return m_applicationEngine; + return m_applicationEngine.get(); } dev::eth::Client* ApplicationCtx::getEthereumClient() @@ -81,7 +76,7 @@ void ApplicationCtx::setApplicationContext(QQmlApplicationEngine* _engine) void ApplicationCtx::displayMessageDialog(QString _title, QString _message) { - QQmlComponent component(m_applicationEngine, QUrl("qrc:/qml/BasicMessage.qml")); + QQmlComponent component(m_applicationEngine.get(), QUrl("qrc:/qml/BasicMessage.qml")); QObject* dialog = component.create(); dialog->findChild("messageContent", Qt::FindChildrenRecursively)->setProperty("text", _message); QObject* dialogWin = ApplicationCtx::getInstance()->appEngine()->rootObjects().at(0)->findChild("messageDialog", Qt::FindChildrenRecursively); diff --git a/mix/ApplicationCtx.h b/mix/ApplicationCtx.h index 05e4f3bb3..5680c860e 100644 --- a/mix/ApplicationCtx.h +++ b/mix/ApplicationCtx.h @@ -42,7 +42,7 @@ class ApplicationCtx: public QObject public: ApplicationCtx(QQmlApplicationEngine* _engine); - ~ApplicationCtx(); + ~ApplicationCtx() {} static ApplicationCtx* getInstance() { return Instance; } static void setApplicationContext(QQmlApplicationEngine* _engine); QQmlApplicationEngine* appEngine(); @@ -53,7 +53,7 @@ public: private: static ApplicationCtx* Instance; - QQmlApplicationEngine* m_applicationEngine; + std::unique_ptr m_applicationEngine; std::unique_ptr m_webThree; std::unique_ptr m_keyEventManager;