diff options
author | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2010-10-06 11:12:30 (GMT) |
---|---|---|
committer | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2010-10-06 11:12:30 (GMT) |
commit | eaef6f8b4a7ad637a59b4fe2ec623d26a7cae96f (patch) | |
tree | 4868b097a6e1d5814ae557c464f70c879ffd8e9d /src/script/api/qscriptengine.cpp | |
parent | fe0319a84082cb97a2007ca82af153a785a0938e (diff) | |
parent | 24c89f6d1c090ab670d4f883d06cd0413c2ecc65 (diff) | |
download | Qt-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.cpp | 7 |
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 |