From 8b952b387041341f556edcf0bb34576a2fc88568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 6 Nov 2016 21:58:54 +0100 Subject: NOISSUE Refactor and sanitize MultiMC startup/shutdown * Always create main window. * Properly handle netowrk manager - it was created twice, leading to potential crashes. --- api/logic/Env.h | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'api/logic/Env.h') diff --git a/api/logic/Env.h b/api/logic/Env.h index dcf1947f..989b4f3c 100644 --- a/api/logic/Env.h +++ b/api/logic/Env.h @@ -7,6 +7,8 @@ #include "multimc_logic_export.h" +#include "QObjectPtr.h" + class QNetworkAccessManager; class HttpMetaCache; class BaseVersionList; @@ -22,16 +24,15 @@ class MULTIMC_LOGIC_EXPORT Env { friend class MultiMC; private: + class Private; Env(); + ~Env(); public: static Env& getInstance(); - // call when Qt stuff is being torn down - void destroy(); - - std::shared_ptr qnam(); + QNetworkAccessManager &qnam() const; - std::shared_ptr metacache(); + shared_qobject_ptr metacache(); std::shared_ptr icons(); @@ -51,16 +52,11 @@ public: void registerIconList(std::shared_ptr iconlist); - std::shared_ptr wonkoIndex(); + shared_qobject_ptr wonkoIndex(); - QString wonkoRootUrl() const { return m_wonkoRootUrl; } - void setWonkoRootUrl(const QString &url) { m_wonkoRootUrl = url; } + QString wonkoRootUrl() const; + void setWonkoRootUrl(const QString &url); protected: - std::shared_ptr m_qnam; - std::shared_ptr m_metacache; - std::shared_ptr m_iconlist; - QMap> m_versionLists; - std::shared_ptr m_wonkoIndex; - QString m_wonkoRootUrl; + Private * d; }; -- cgit v1.2.3