Debugger: Prevent crash on destroyed perspective

Change-Id: Id000f1c74c2e614f24df1f50f710e51041fa9c38
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-04-09 10:49:20 +02:00
parent 712e87c041
commit 810a39c706

View File

@@ -444,7 +444,10 @@ void DebuggerMainWindow::restorePersistentSettings()
qCDebug(perspectivesLog) << "LOADED DOCKS:" << theMainWindow->d->m_persistentChangedDocks; qCDebug(perspectivesLog) << "LOADED DOCKS:" << theMainWindow->d->m_persistentChangedDocks;
QTC_ASSERT(theMainWindow, return);
QTC_ASSERT(theMainWindow->d, return);
for (Perspective *perspective : theMainWindow->d->m_perspectives) { for (Perspective *perspective : theMainWindow->d->m_perspectives) {
QTC_ASSERT(perspective, continue);
qCDebug(perspectivesLog) << "RESTORING PERSPECTIVE" << perspective->d->m_id; qCDebug(perspectivesLog) << "RESTORING PERSPECTIVE" << perspective->d->m_id;
for (DockOperation &op : perspective->d->m_dockOperations) { for (DockOperation &op : perspective->d->m_dockOperations) {
if (op.operationType != Perspective::Raise) { if (op.operationType != Perspective::Raise) {
@@ -477,6 +480,7 @@ void DebuggerMainWindow::savePersistentSettings()
QSet<QString> changedDocks = theMainWindow->d->m_persistentChangedDocks; QSet<QString> changedDocks = theMainWindow->d->m_persistentChangedDocks;
for (Perspective *perspective : theMainWindow->d->m_perspectives) { for (Perspective *perspective : theMainWindow->d->m_perspectives) {
QTC_ASSERT(perspective, continue);
qCDebug(perspectivesLog) << "SAVE PERSPECTIVE" << perspective->d->m_id; qCDebug(perspectivesLog) << "SAVE PERSPECTIVE" << perspective->d->m_id;
for (const DockOperation &op : perspective->d->m_dockOperations) { for (const DockOperation &op : perspective->d->m_dockOperations) {
if (op.operationType != Perspective::Raise) { if (op.operationType != Perspective::Raise) {