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>
This commit is contained in:
Kai Koehne
2011-10-12 17:26:18 +02:00
parent a15e3a3e90
commit d2d3c6dd15
4 changed files with 10 additions and 5 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -94,6 +94,7 @@ public:
void showMessage(const QString &msg, int channel = LogDebug,
int timeout = -1) const;
void resetLocation();
protected:
void detachDebugger();

View File

@@ -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();
}