From 64edbb3ab51255308d549ce3802915713b7c5a35 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Tue, 26 Jan 2016 17:34:47 +0200 Subject: [PATCH] add default conversion for types long and ulong upstream commits: https://github.com/qtproject/qtscript/commit/b0c4e816e6da2c09593cf8de2f563093947ebdaf Signed-off-by: Ivailo Monev --- src/script/api/qscriptengine.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 02dad2029..53c93aefd 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -3089,6 +3089,10 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const return JSC::jsNumber(exec, *reinterpret_cast(ptr)); case QMetaType::UInt: return JSC::jsNumber(exec, *reinterpret_cast(ptr)); + case QMetaType::Long: + return JSC::jsNumber(exec, *reinterpret_cast(ptr)); + case QMetaType::ULong: + return JSC::jsNumber(exec, *reinterpret_cast(ptr)); case QMetaType::LongLong: return JSC::jsNumber(exec, qsreal(*reinterpret_cast(ptr))); case QMetaType::ULongLong: @@ -3196,6 +3200,12 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value case QMetaType::UInt: *reinterpret_cast(ptr) = toUInt32(exec, value); return true; + case QMetaType::Long: + *reinterpret_cast(ptr) = long(toInteger(exec, value)); + return true; + case QMetaType::ULong: + *reinterpret_cast(ptr) = ulong(toInteger(exec, value)); + return true; case QMetaType::LongLong: *reinterpret_cast(ptr) = qlonglong(toInteger(exec, value)); return true; @@ -3373,6 +3383,12 @@ bool QScriptEnginePrivate::convertNumber(qsreal value, int type, void *ptr) case QMetaType::UInt: *reinterpret_cast(ptr) = QScript::ToUInt32(value); return true; + case QMetaType::Long: + *reinterpret_cast(ptr) = long(QScript::ToInteger(value)); + return true; + case QMetaType::ULong: + *reinterpret_cast(ptr) = ulong(QScript::ToInteger(value)); + return true; case QMetaType::LongLong: *reinterpret_cast(ptr) = qlonglong(QScript::ToInteger(value)); return true; @@ -3421,6 +3437,12 @@ bool QScriptEnginePrivate::convertString(const QString &value, int type, void *p case QMetaType::UInt: *reinterpret_cast(ptr) = QScript::ToUInt32(value); return true; + case QMetaType::Long: + *reinterpret_cast(ptr) = long(QScript::ToInteger(value)); + return true; + case QMetaType::ULong: + *reinterpret_cast(ptr) = ulong(QScript::ToInteger(value)); + return true; case QMetaType::LongLong: *reinterpret_cast(ptr) = qlonglong(QScript::ToInteger(value)); return true;