From 0caf52f6d485998e8264232d2e821fa7d130546b Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Wed, 10 Nov 2010 12:38:29 +0100
Subject: [PATCH] debugger: remove recently introduced endless loop in
 resetLocation()

---
 src/plugins/debugger/debuggercore.h     | 2 ++
 src/plugins/debugger/debuggerengine.cpp | 4 ++--
 src/plugins/debugger/debuggerplugin.cpp | 8 +++++---
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/plugins/debugger/debuggercore.h b/src/plugins/debugger/debuggercore.h
index 63da7f1294b..a8acfe0f0dd 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 926326dce2f..57902453cff 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 2a314b12ea3..b1523dc438b 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();
 }
 
-- 
GitLab