Fix QJSEngine::evaluate
authorLars Knoll <lars.knoll@digia.com>
Sat, 4 May 2013 21:33:23 +0000 (23:33 +0200)
committerSimon Hausmann <simon.hausmann@digia.com>
Sun, 5 May 2013 12:15:14 +0000 (14:15 +0200)
if EvalFunction::parseSource returns 0, it means there wasn't
anything to parse, not that the input was invalid, so simply
return undefined in this case.

Change-Id: I13aafaba40723d4aa7c0f2e7f3eddfac86239cd0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/qml/v8/qjsengine.cpp

index 7288519..b5dc1d1 100644 (file)
@@ -258,7 +258,7 @@ QJSValue QJSEngine::evaluate(const QString& program, const QString& fileName, in
         QV4::Function *f = QV4::EvalFunction::parseSource(d->m_v4Engine->current, fileName, program, QQmlJS::Codegen::EvalCode,
                                                                         d->m_v4Engine->current->strictMode, true);
         if (!f)
-            return new QJSValuePrivate(d->m_v4Engine, d->m_v4Engine->newSyntaxErrorObject(QString()));
+            return QJSValue();
 
         QV4::Value result = d->m_v4Engine->run(f);
         return new QJSValuePrivate(d->m_v4Engine, result);