summaryrefslogtreecommitdiff
path: root/src/script/api/qscriptengine.cpp
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-12-19 15:00:26 +0100
committerIvan Komissarov <abbapoh@gmail.com>2021-02-07 22:49:47 +0100
commitc76ff8526929091e20c89a4ad8af7f89237fadba (patch)
tree1f6b2addcfe71306b293d25349845304c70cfb95 /src/script/api/qscriptengine.cpp
parent70bc5beca051939f81dbdec3a5082241102065fa (diff)
downloadqtscript-c76ff8526929091e20c89a4ad8af7f89237fadba.tar.gz
Fix QRegExp usages
Change-Id: Ibebe73c32ceacf5964455918e3e0a2c641b8096e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r--src/script/api/qscriptengine.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 7265254..1a81a7e 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -3149,11 +3149,6 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
case QMetaType::QDate:
result = newDate(exec, QDateTime(*reinterpret_cast<const QDate *>(ptr)));
break;
-#ifndef QT_NO_REGEXP
- case QMetaType::QRegExp:
- result = newRegExp(exec, *reinterpret_cast<const QRegExp *>(ptr));
- break;
-#endif
#ifndef QT_NO_QOBJECT
case QMetaType::QObjectStar:
result = eng->newQObject(*reinterpret_cast<QObject* const *>(ptr));
@@ -3163,6 +3158,12 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
result = eng->newVariant(*reinterpret_cast<const QVariant*>(ptr));
break;
default:
+#ifndef QT_NO_REGEXP
+ if (type == qMetaTypeId<QRegExp>()) {
+ result = newRegExp(exec, *reinterpret_cast<const QRegExp *>(ptr));
+ break;
+ }
+#endif
if (QMetaType::typeFlags(type) & QMetaType::PointerToQObject) {
result = eng->newQObject(*reinterpret_cast<QObject* const *>(ptr));
break;
@@ -3279,13 +3280,6 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
*reinterpret_cast<QDate *>(ptr) = toDateTime(exec, value).date();
return true;
} break;
-#ifndef QT_NO_REGEXP
- case QMetaType::QRegExp:
- if (isRegExp(value)) {
- *reinterpret_cast<QRegExp *>(ptr) = toRegExp(exec, value);
- return true;
- } break;
-#endif
#ifndef QT_NO_QOBJECT
case QMetaType::QObjectStar:
if (isQObject(value) || value.isNull()) {
@@ -3312,7 +3306,16 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
*reinterpret_cast<QVariant*>(ptr) = toVariant(exec, value);
return true;
default:
- ;
+#ifndef QT_NO_REGEXP
+ if (type == qMetaTypeId<QRegExp>()) {
+ if (isRegExp(value)) {
+ *reinterpret_cast<QRegExp *>(ptr) = toRegExp(exec, value);
+ return true;
+ }
+ break;
+ }
+#endif
+ break;
}
QByteArray name = QMetaType::typeName(type);