From d2d3c6dd15fc89531730c139d37d1bdd4ebcc376 Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Wed, 12 Oct 2011 17:26:18 +0200 Subject: [PATCH] QmlCppEngine: Make sure that breakpoint markers get removed resetLocation() called by DebuggerPlugin::handle* should automatically reset the locations for stepping etc. Change-Id: I3e20f93ade7f40e1e1f33b1b48b11522b59771f8 Task-number: QTCREATORBUG-6291 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com> --- src/plugins/debugger/debuggerengine.h | 2 +- src/plugins/debugger/qml/qmlcppengine.cpp | 8 ++++++++ src/plugins/debugger/qml/qmlcppengine.h | 1 + src/plugins/debugger/qml/qmlengine.cpp | 4 ---- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index d20bb421bf3..4f43fb1ba46 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -263,7 +263,7 @@ public: int timeout = -1) const; Q_SLOT void showStatusMessage(const QString &msg, int timeout = -1) const; - void resetLocation(); + virtual void resetLocation(); virtual void gotoLocation(const Internal::Location &location); virtual void quitDebugger(); // called by DebuggerRunControl diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 38e150e2013..b327e747e9e 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -671,6 +671,14 @@ void QmlCppEngine::showMessage(const QString &msg, int channel, int timeout) con DebuggerEngine::showMessage(msg, channel, timeout); } +void QmlCppEngine::resetLocation() +{ + if (d->m_qmlEngine) + d->m_qmlEngine->resetLocation(); + if (d->m_cppEngine) + d->m_cppEngine->resetLocation(); +} + DebuggerEngine *QmlCppEngine::cppEngine() const { return d->m_cppEngine; diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h index d7f462305a2..6daaa629332 100644 --- a/src/plugins/debugger/qml/qmlcppengine.h +++ b/src/plugins/debugger/qml/qmlcppengine.h @@ -94,6 +94,7 @@ public: void showMessage(const QString &msg, int channel = LogDebug, int timeout = -1) const; + void resetLocation(); protected: void detachDebugger(); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index c64f77d6adf..914fbdab605 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -451,7 +451,6 @@ void QmlEngine::executeStep() logMessage(LogSend, "STEPINTO"); d->m_adapter.activeDebuggerClient()->executeStep(); } - resetLocation(); notifyInferiorRunRequested(); notifyInferiorRunOk(); } @@ -462,7 +461,6 @@ void QmlEngine::executeStepI() logMessage(LogSend, "STEPINTO"); d->m_adapter.activeDebuggerClient()->executeStepI(); } - resetLocation(); notifyInferiorRunRequested(); notifyInferiorRunOk(); } @@ -473,7 +471,6 @@ void QmlEngine::executeStepOut() logMessage(LogSend, "STEPOUT"); d->m_adapter.activeDebuggerClient()->executeStepOut(); } - resetLocation(); notifyInferiorRunRequested(); notifyInferiorRunOk(); } @@ -484,7 +481,6 @@ void QmlEngine::executeNext() logMessage(LogSend, "STEPOVER"); d->m_adapter.activeDebuggerClient()->executeNext(); } - resetLocation(); notifyInferiorRunRequested(); notifyInferiorRunOk(); } -- GitLab