aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4debugging.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-09-10 12:24:37 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-10 15:49:24 +0200
commitac50d350a30c754eda7b70f4aef0badb11bfb7ef (patch)
tree22d523942a178c5307ff47dd38df261e0c3c19ac /src/qml/jsruntime/qv4debugging.cpp
parent59ed8c355b99df0b949003a438ab850274261aa0 (diff)
V4 debugger: change agent API to work on all debuggers.
From a client point of view, there is no way to know which engine is executing which script. So, instead of passing in a debugger for a specific engine, have the agent set breakpoints on all debuggers. Change-Id: I53b8cbc1bdc02c7705042f2ac3a99a041992c134 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4debugging.cpp')
-rw-r--r--src/qml/jsruntime/qv4debugging.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4debugging.cpp b/src/qml/jsruntime/qv4debugging.cpp
index 5534305068..10f22a11b8 100644
--- a/src/qml/jsruntime/qv4debugging.cpp
+++ b/src/qml/jsruntime/qv4debugging.cpp
@@ -298,19 +298,27 @@ void DebuggerAgent::removeDebugger(Debugger *debugger)
debugger->detachFromAgent();
}
-void DebuggerAgent::pause(Debugger *debugger)
+void DebuggerAgent::pause(Debugger *debugger) const
{
debugger->pause();
}
-void DebuggerAgent::addBreakPoint(Debugger *debugger, const QString &fileName, int lineNumber)
+void DebuggerAgent::pauseAll() const
{
- debugger->addBreakPoint(fileName, lineNumber);
+ foreach (Debugger *debugger, m_debuggers)
+ pause(debugger);
}
-void DebuggerAgent::removeBreakPoint(Debugger *debugger, const QString &fileName, int lineNumber)
+void DebuggerAgent::addBreakPoint(const QString &fileName, int lineNumber) const
{
- debugger->removeBreakPoint(fileName, lineNumber);
+ foreach (Debugger *debugger, m_debuggers)
+ debugger->addBreakPoint(fileName, lineNumber);
+}
+
+void DebuggerAgent::removeBreakPoint(const QString &fileName, int lineNumber) const
+{
+ foreach (Debugger *debugger, m_debuggers)
+ debugger->removeBreakPoint(fileName, lineNumber);
}
DebuggerAgent::~DebuggerAgent()