forked from qt-creator/qt-creator
SessionManager: Make session node a unique_ptr
Change-Id: Ic11679c409305a5f117316114e9ffa3d82475ceb Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -92,7 +92,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
static QString windowTitleAddition(const QString &filePath);
|
static QString windowTitleAddition(const QString &filePath);
|
||||||
|
|
||||||
SessionNode *m_sessionNode = nullptr;
|
std::unique_ptr<SessionNode> m_sessionNode;
|
||||||
QString m_sessionName = QLatin1String("default");
|
QString m_sessionName = QLatin1String("default");
|
||||||
bool m_virginSession = true;
|
bool m_virginSession = true;
|
||||||
bool m_loadingSession = false;
|
bool m_loadingSession = false;
|
||||||
@@ -120,7 +120,7 @@ SessionManager::SessionManager(QObject *parent) : QObject(parent)
|
|||||||
m_instance = this;
|
m_instance = this;
|
||||||
d = new SessionManagerPrivate;
|
d = new SessionManagerPrivate;
|
||||||
|
|
||||||
d->m_sessionNode = new SessionNode;
|
d->m_sessionNode.reset(new SessionNode);
|
||||||
|
|
||||||
connect(ModeManager::instance(), &ModeManager::currentModeChanged,
|
connect(ModeManager::instance(), &ModeManager::currentModeChanged,
|
||||||
this, &SessionManager::saveActiveMode);
|
this, &SessionManager::saveActiveMode);
|
||||||
@@ -145,7 +145,6 @@ SessionManager::~SessionManager()
|
|||||||
{
|
{
|
||||||
emit m_instance->aboutToUnloadSession(d->m_sessionName);
|
emit m_instance->aboutToUnloadSession(d->m_sessionName);
|
||||||
delete d->m_writer;
|
delete d->m_writer;
|
||||||
delete d->m_sessionNode;
|
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -625,7 +624,7 @@ Project *SessionManager::projectForNode(Node *node)
|
|||||||
if (!rootProjectNode)
|
if (!rootProjectNode)
|
||||||
rootProjectNode = node->parentFolderNode();
|
rootProjectNode = node->parentFolderNode();
|
||||||
|
|
||||||
while (rootProjectNode && rootProjectNode->parentFolderNode() != d->m_sessionNode)
|
while (rootProjectNode && rootProjectNode->parentFolderNode() != d->m_sessionNode.get())
|
||||||
rootProjectNode = rootProjectNode->parentFolderNode();
|
rootProjectNode = rootProjectNode->parentFolderNode();
|
||||||
|
|
||||||
Q_ASSERT(rootProjectNode);
|
Q_ASSERT(rootProjectNode);
|
||||||
@@ -1070,7 +1069,7 @@ QString SessionManager::lastSession()
|
|||||||
|
|
||||||
SessionNode *SessionManager::sessionNode()
|
SessionNode *SessionManager::sessionNode()
|
||||||
{
|
{
|
||||||
return d->m_sessionNode;
|
return d->m_sessionNode.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SessionManager::reportProjectLoadingProgress()
|
void SessionManager::reportProjectLoadingProgress()
|
||||||
|
|||||||
Reference in New Issue
Block a user