summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptengine.cpp
diff options
context:
space:
mode:
authorMorten Engvoldsen <morten.engvoldsen@nokia.com>2010-10-06 11:12:30 (GMT)
committerMorten Engvoldsen <morten.engvoldsen@nokia.com>2010-10-06 11:12:30 (GMT)
commiteaef6f8b4a7ad637a59b4fe2ec623d26a7cae96f (patch)
tree4868b097a6e1d5814ae557c464f70c879ffd8e9d /src/script/api/qscriptengine.cpp
parentfe0319a84082cb97a2007ca82af153a785a0938e (diff)
parent24c89f6d1c090ab670d4f883d06cd0413c2ecc65 (diff)
downloadQt-eaef6f8b4a7ad637a59b4fe2ec623d26a7cae96f.zip
Qt-eaef6f8b4a7ad637a59b4fe2ec623d26a7cae96f.tar.gz
Qt-eaef6f8b4a7ad637a59b4fe2ec623d26a7cae96f.tar.bz2
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r--src/script/api/qscriptengine.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 07aced4..128e9c3 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -46,6 +46,7 @@
#include "Error.h"
#include "Interpreter.h"
+#include "ExceptionHelpers.h"
#include "PrototypeFunction.h"
#include "InitializeThreading.h"
#include "ObjectPrototype.h"
@@ -4116,9 +4117,11 @@ bool QScriptEngine::isEvaluating() const
void QScriptEngine::abortEvaluation(const QScriptValue &result)
{
Q_D(QScriptEngine);
-
- d->timeoutChecker()->setShouldAbort(true);
+ if (!isEvaluating())
+ return;
d->abortResult = result;
+ d->timeoutChecker()->setShouldAbort(true);
+ JSC::throwError(d->currentFrame, JSC::createInterruptedExecutionException(&d->currentFrame->globalData()).toObject(d->currentFrame));
}
#ifndef QT_NO_QOBJECT