diff --git a/src/plugins/debugger/debuggercore.h b/src/plugins/debugger/debuggercore.h index 63da7f1294bf7a7704fdce195dc20eb7dcbb3b79..a8acfe0f0dd0cc2ee332bae5bfdf455d894c13cb 100644 --- a/src/plugins/debugger/debuggercore.h +++ b/src/plugins/debugger/debuggercore.h @@ -92,6 +92,8 @@ public: bool setMarker = false) = 0; virtual void resetLocation() = 0; + virtual void removeLocationMark() = 0; + virtual void readSettings() = 0; virtual void writeSettings() const = 0; diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 926326dce2fbd432f0733c6cadf0e9e1dab3ae78..57902453cffb9cfd793208ac9d1f372092f7f1bd 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -516,7 +516,7 @@ void DebuggerEngine::resetLocation() { d->m_disassemblerViewAgent.resetLocation(); d->m_stackHandler.setCurrentIndex(-1); - debuggerCore()->resetLocation(); + debuggerCore()->removeLocationMark(); } void DebuggerEngine::gotoLocation(const QString &fileName, int lineNumber, bool setMarker) @@ -531,7 +531,7 @@ void DebuggerEngine::gotoLocation(const StackFrame &frame, bool setMarker) { if (theDebuggerBoolSetting(OperateByInstruction) || !frame.isUsable()) { if (setMarker) - debuggerCore()->resetLocation(); + resetLocation(); d->m_disassemblerViewAgent.setFrame(frame); } else { debuggerCore()->gotoLocation(frame.file, frame.line, setMarker); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 2a314b12ea3dccc093a942873cdbadea38f63c52..b1523dc438b31b2aa5c0bc6d256bf7b441a09c50 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1201,6 +1201,7 @@ public slots: } void resetLocation(); + void removeLocationMark(); QVariant sessionValue(const QString &name); void setSessionValue(const QString &name, const QVariant &value); QIcon locationMarkIcon() const { return m_locationMarkIcon; } @@ -2910,9 +2911,10 @@ const CPlusPlus::Snapshot &DebuggerPluginPrivate::cppCodeModelSnapshot() const void DebuggerPluginPrivate::resetLocation() { currentEngine()->resetLocation(); - // FIXME: code should be moved here from the engine implementation. - //d->m_disassemblerViewAgent.resetLocation(); - //d->m_stackHandler.setCurrentIndex(-1); +} + +void DebuggerPluginPrivate::removeLocationMark() +{ m_locationMark.reset(); }