debugger: hot fix for not activated editors while stepping

This commit is contained in:
hjk
2010-12-16 10:44:21 +01:00
parent 5ed710552c
commit 92e8524734
3 changed files with 15 additions and 0 deletions

View File

@@ -533,6 +533,11 @@ void DebuggerEngine::gotoLocation(const QString &file, int line, bool setMarker)
if (setMarker) if (setMarker)
d->m_locationMark.reset(new LocationMark(file, line)); 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) void DebuggerEngine::gotoLocation(const StackFrame &frame, bool setMarker)

View File

@@ -161,5 +161,14 @@ void MemoryAgent::updateContents()
QMetaObject::invokeMethod(editor->widget(), "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 Internal
} // namespace Debugger } // namespace Debugger

View File

@@ -52,6 +52,7 @@ public:
~MemoryAgent(); ~MemoryAgent();
enum { BinBlockSize = 1024 }; enum { BinBlockSize = 1024 };
bool hasVisibleEditor() const;
public slots: public slots:
// Called by engine to create a new view. // Called by engine to create a new view.