diff options
Diffstat (limited to 'src/libs/installer/scriptengine.cpp')
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index 6178f467f..9ff8ae75e 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -209,6 +209,8 @@ ScriptEngine::ScriptEngine(PackageManagerCore *core) globalObject().property(QLatin1String("installer")) .setProperty(QLatin1String("components"), scriptComponentsObject); + + connect(this, SIGNAL(signalHandlerException(QScriptValue)), SLOT(handleException(QScriptValue))); } ScriptEngine::~ScriptEngine() @@ -279,6 +281,12 @@ QScriptValue ScriptEngine::loadInConext(const QString &context, const QString &f return scriptContext; } +void ScriptEngine::handleException(const QScriptValue &value) +{ + if (!value.engine()) + return; + throw Error(uncaughtExceptionString(this, tr("Fatal error while evaluating a script."))); +} /*! Tries to call the method with \a name within the script and returns the result. If the method |