summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptengine.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-04 10:37:11 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-04 10:37:11 (GMT)
commit8bc0456491e5a7e1fc677fce6e76932ab0d923e8 (patch)
tree2e0634859448e83372cb9e381ac38e4bfbbe3a41 /src/script/api/qscriptengine.cpp
parentb3ccc9b30c3a176021b6205193b8baa416e9e813 (diff)
parent24c56ac5309150cf7ba42cd974df4e98d97ebb81 (diff)
downloadQt-8bc0456491e5a7e1fc677fce6e76932ab0d923e8.zip
Qt-8bc0456491e5a7e1fc677fce6e76932ab0d923e8.tar.gz
Qt-8bc0456491e5a7e1fc677fce6e76932ab0d923e8.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Build fix for Sun Studio Finish to resolve merge conflict. Fixes QMenu to only have static POD members QScript: Test against QMetaType::QVariant instead of against the string Fixes tst_QScriptExtQObject::connectAndDisconnect Fix source compatibility of qRegisterMetaType Fix warnings on MSVC Updating documentation for how to build QWS with tslib sizeHint of checkbox/radiobutton without text is not correct Some cleanup of outdated src/3rdparty stuff Revert "Fixes crash when destroying a QGraphicsItem." Add config.test for multimedia/qml Fix QVariant autotest Fix compilation of Q_DECLARE_METATYPE(QVariant) by introducing QMetaType::QVariant fixed a memory leak when restoring a state in QMainWindow Make the sub-menu accessible via its shortcut even if it is the current remove a warning on windows and simplify a bit the code Add and use QGLContextPrivate::eglSurfaceForDevice() QMetaType: Now we can register typedefs.
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r--src/script/api/qscriptengine.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 9cd5c63..47c5262 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -2901,6 +2901,9 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
result = eng->newQObject(*reinterpret_cast<QObject* const *>(ptr));
break;
#endif
+ case QMetaType::QVariant:
+ result = jscValueFromVariant(exec, *reinterpret_cast<const QVariant*>(ptr));
+ break;
default:
if (type == qMetaTypeId<QScriptValue>()) {
result = eng->scriptValueToJSCValue(*reinterpret_cast<const QScriptValue*>(ptr));
@@ -2922,8 +2925,6 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
else {
QByteArray typeName = QMetaType::typeName(type);
- if (typeName == "QVariant")
- result = jscValueFromVariant(exec, *reinterpret_cast<const QVariant*>(ptr));
if (typeName.endsWith('*') && !*reinterpret_cast<void* const *>(ptr))
return JSC::jsNull();
else
@@ -3046,6 +3047,9 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
*reinterpret_cast<QVariantMap *>(ptr) = variantMapFromObject(exec, value);
return true;
} break;
+ case QMetaType::QVariant:
+ *reinterpret_cast<QVariant*>(ptr) = toVariant(exec, value);
+ return true;
default:
;
}
@@ -3096,9 +3100,6 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
return false;
*reinterpret_cast<QScriptValue*>(ptr) = eng->scriptValueFromJSCValue(value);
return true;
- } else if (name == "QVariant") {
- *reinterpret_cast<QVariant*>(ptr) = toVariant(exec, value);
- return true;
}
// lazy registration of some common list types