From 879aa21063d1742fef76ec8e29acbb04be09ebe3 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 19 Dec 2016 13:38:11 +0100 Subject: [PATCH] SessionManager: Make session node a unique_ptr Change-Id: Ic11679c409305a5f117316114e9ffa3d82475ceb Reviewed-by: Tim Jenssen --- src/plugins/projectexplorer/session.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 9fae7160fba..22f44508316 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -92,7 +92,7 @@ public: public: static QString windowTitleAddition(const QString &filePath); - SessionNode *m_sessionNode = nullptr; + std::unique_ptr m_sessionNode; QString m_sessionName = QLatin1String("default"); bool m_virginSession = true; bool m_loadingSession = false; @@ -120,7 +120,7 @@ SessionManager::SessionManager(QObject *parent) : QObject(parent) m_instance = this; d = new SessionManagerPrivate; - d->m_sessionNode = new SessionNode; + d->m_sessionNode.reset(new SessionNode); connect(ModeManager::instance(), &ModeManager::currentModeChanged, this, &SessionManager::saveActiveMode); @@ -145,7 +145,6 @@ SessionManager::~SessionManager() { emit m_instance->aboutToUnloadSession(d->m_sessionName); delete d->m_writer; - delete d->m_sessionNode; delete d; } @@ -625,7 +624,7 @@ Project *SessionManager::projectForNode(Node *node) if (!rootProjectNode) rootProjectNode = node->parentFolderNode(); - while (rootProjectNode && rootProjectNode->parentFolderNode() != d->m_sessionNode) + while (rootProjectNode && rootProjectNode->parentFolderNode() != d->m_sessionNode.get()) rootProjectNode = rootProjectNode->parentFolderNode(); Q_ASSERT(rootProjectNode); @@ -1070,7 +1069,7 @@ QString SessionManager::lastSession() SessionNode *SessionManager::sessionNode() { - return d->m_sessionNode; + return d->m_sessionNode.get(); } void SessionManager::reportProjectLoadingProgress()