From 92e852473488ee02a0f727c7f08d467c52670d7c Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Thu, 16 Dec 2010 10:44:21 +0100 Subject: [PATCH] debugger: hot fix for not activated editors while stepping --- src/plugins/debugger/debuggerengine.cpp | 5 +++++ src/plugins/debugger/memoryagent.cpp | 9 +++++++++ src/plugins/debugger/memoryagent.h | 1 + 3 files changed, 15 insertions(+) diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 5978ed7df6a..f12052063f6 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -533,6 +533,11 @@ void DebuggerEngine::gotoLocation(const QString &file, int line, bool setMarker) if (setMarker) d->m_locationMark.reset(new LocationMark(file, line)); + + // FIXME: Breaks with split views. + if (!d->m_memoryAgent.hasVisibleEditor()) + editorManager->activateEditor(editors.back()); + //qDebug() << "MEMORY: " << d->m_memoryAgent.hasVisibleEditor(); } void DebuggerEngine::gotoLocation(const StackFrame &frame, bool setMarker) diff --git a/src/plugins/debugger/memoryagent.cpp b/src/plugins/debugger/memoryagent.cpp index 60de4861ba4..2b11f5615a0 100644 --- a/src/plugins/debugger/memoryagent.cpp +++ b/src/plugins/debugger/memoryagent.cpp @@ -161,5 +161,14 @@ void MemoryAgent::updateContents() QMetaObject::invokeMethod(editor->widget(), "updateContents"); } +bool MemoryAgent::hasVisibleEditor() const +{ + QList<IEditor *> visible = EditorManager::instance()->visibleEditors(); + foreach (QPointer<IEditor> editor, m_editors) + if (visible.contains(editor.data())) + return true; + return false; +} + } // namespace Internal } // namespace Debugger diff --git a/src/plugins/debugger/memoryagent.h b/src/plugins/debugger/memoryagent.h index 23917793c9f..51b41175aba 100644 --- a/src/plugins/debugger/memoryagent.h +++ b/src/plugins/debugger/memoryagent.h @@ -52,6 +52,7 @@ public: ~MemoryAgent(); enum { BinBlockSize = 1024 }; + bool hasVisibleEditor() const; public slots: // Called by engine to create a new view. -- GitLab