summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2010-10-29 13:03:38 (GMT)
committerKent Hansen <kent.hansen@nokia.com>2010-10-29 14:06:19 (GMT)
commitbf8a9dc1248083dfb0ce5599b11af1727d349631 (patch)
treeca22f7e5dd0fa88e6f0a6411f7170c28eda7a3a1 /src/script
parent0c643b179c5154c50b61dba421016b7b48794720 (diff)
downloadQt-bf8a9dc1248083dfb0ce5599b11af1727d349631.zip
Qt-bf8a9dc1248083dfb0ce5599b11af1727d349631.tar.gz
Qt-bf8a9dc1248083dfb0ce5599b11af1727d349631.tar.bz2
Don't crash when null-pointer is passed to qScriptValueFromValue()
qScriptValueFromValue_helper() (or rather, QScriptEnginePrivate::create()) will fall back to wrapping the value using newVariant(), so there is no reason for the QVariant specialization to check the return value. (In particular, if the return value was invalid, that's _because_ the engine was null, so we should definitely not call a function on the engine.) Task-number: QTBUG-14842 Reviewed-by: Jedrzej Nowacki
Diffstat (limited to 'src/script')
-rw-r--r--src/script/api/qscriptengine.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h
index 830d477..24c8c13 100644
--- a/src/script/api/qscriptengine.h
+++ b/src/script/api/qscriptengine.h
@@ -332,10 +332,7 @@ inline QScriptValue qScriptValueFromValue(QScriptEngine *engine, const T &t)
template <>
inline QScriptValue qScriptValueFromValue<QVariant>(QScriptEngine *engine, const QVariant &v)
{
- QScriptValue result = qScriptValueFromValue_helper(engine, v.userType(), v.data());
- if (!result.isValid())
- result = engine->newVariant(v);
- return result;
+ return qScriptValueFromValue_helper(engine, v.userType(), v.data());
}
inline bool qscriptvalue_cast_helper(const QScriptValue &value, int type, void *ptr)