diff options
| -rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 6 | ||||
| -rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index c0a0c0e534..f28c5ef163 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -2457,6 +2457,12 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, QMetaType metaType, voi case QMetaType::UInt: *reinterpret_cast<uint*>(data) = value.toUInt32(); return true; + case QMetaType::Long: + *reinterpret_cast<long*>(data) = long(value.toInteger()); + return true; + case QMetaType::ULong: + *reinterpret_cast<ulong*>(data) = ulong(value.toInteger()); + return true; case QMetaType::LongLong: *reinterpret_cast<qlonglong*>(data) = qlonglong(value.toInteger()); return true; diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 09eaa0edc4..8caa1f215b 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -1673,6 +1673,8 @@ void tst_QJSEngine::valueConversion_basic() QCOMPARE(eng.fromScriptValue<unsigned short>(num), (unsigned short)(123)); QCOMPARE(eng.fromScriptValue<float>(num), float(123)); QCOMPARE(eng.fromScriptValue<double>(num), double(123)); + QCOMPARE(eng.fromScriptValue<long>(num), long(123)); + QCOMPARE(eng.fromScriptValue<ulong>(num), ulong(123)); QCOMPARE(eng.fromScriptValue<qlonglong>(num), qlonglong(123)); QCOMPARE(eng.fromScriptValue<qulonglong>(num), qulonglong(123)); } @@ -1684,6 +1686,8 @@ void tst_QJSEngine::valueConversion_basic() QCOMPARE(eng.fromScriptValue<unsigned short>(num), (unsigned short)(123)); QCOMPARE(eng.fromScriptValue<float>(num), float(123)); QCOMPARE(eng.fromScriptValue<double>(num), double(123)); + QCOMPARE(eng.fromScriptValue<long>(num), long(123)); + QCOMPARE(eng.fromScriptValue<ulong>(num), ulong(123)); QCOMPARE(eng.fromScriptValue<qlonglong>(num), qlonglong(123)); QCOMPARE(eng.fromScriptValue<qulonglong>(num), qulonglong(123)); } |
