aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/types/qquickworkerscript.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-05-20 23:51:45 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-05-21 10:11:43 +0200
commit7fe54ee6d6eb44c630038229eb9a4bb1780eec77 (patch)
tree20e0278387688936a060eaed33273ca7bb5e89c5 /src/qml/types/qquickworkerscript.cpp
parente1a6612d3a4528fee8854c274232fc4966d65237 (diff)
Convert the remaining TryCatch statements to use QV4::Exception
v8::Script::Run doesn't catch the exception anymore. Instead we handle this on the calling side, removing all needs for v8::TryCatch. Change-Id: I946269a6734f50c728c4f153c00cd19db48f1a6a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/types/qquickworkerscript.cpp')
-rw-r--r--src/qml/types/qquickworkerscript.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/types/qquickworkerscript.cpp b/src/qml/types/qquickworkerscript.cpp
index 5f072d16cd..9f31b711d0 100644
--- a/src/qml/types/qquickworkerscript.cpp
+++ b/src/qml/types/qquickworkerscript.cpp
@@ -384,15 +384,15 @@ void QQuickWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url)
// XXX ???
// workerEngine->baseUrl = url;
- v8::TryCatch tc;
v8::Handle<v8::Script> program = workerEngine->qmlModeCompile(sourceCode, url.toString());
- if (!tc.HasCaught())
+ QV4::ExecutionContext *ctx = QV8Engine::getV4(workerEngine)->current;
+ try {
program->Run(activation);
-
- if (tc.HasCaught()) {
+ } catch (QV4::Exception &e) {
+ e.accept(ctx);
QQmlError error;
- QQmlExpressionPrivate::exceptionToError(tc.Message(), error);
+ QQmlExpressionPrivate::exceptionToError(e, error);
reportScriptException(script, error);
}
} else {