summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/script/scriptengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/script/scriptengine.cpp')
-rw-r--r--src/plugins/debugger/script/scriptengine.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index 0ef2fc01ca..0765fa3afa 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -188,10 +188,9 @@ ScriptEngine::ScriptEngine(DebuggerManager *parent)
{
q = parent;
qq = parent->engineInterface();
- m_scriptEngine = new QScriptEngine(this);
- m_scriptAgent = new ScriptAgent(this, m_scriptEngine);
- m_scriptEngine->setAgent(m_scriptAgent);
- m_scriptEngine->setProcessEventsInterval(1 /*ms*/);
+ // created in startDebugger()
+ m_scriptEngine = 0;
+ m_scriptAgent = 0;
}
ScriptEngine::~ScriptEngine()
@@ -220,6 +219,13 @@ void ScriptEngine::exitDebugger()
bool ScriptEngine::startDebugger(const QSharedPointer<DebuggerStartParameters> &sp)
{
+ if (!m_scriptEngine)
+ m_scriptEngine = new QScriptEngine(this);
+ if (!m_scriptAgent)
+ m_scriptAgent = new ScriptAgent(this, m_scriptEngine);
+ m_scriptEngine->setAgent(m_scriptAgent);
+ m_scriptEngine->setProcessEventsInterval(1 /*ms*/);
+
m_stopped = false;
m_stopOnNextLine = false;
m_scriptEngine->abortEvaluation();