diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2020-12-19 15:00:26 +0100 |
---|---|---|
committer | Ivan Komissarov <abbapoh@gmail.com> | 2021-02-07 22:49:47 +0100 |
commit | c76ff8526929091e20c89a4ad8af7f89237fadba (patch) | |
tree | 1f6b2addcfe71306b293d25349845304c70cfb95 /src/script/api/qscriptengine.cpp | |
parent | 70bc5beca051939f81dbdec3a5082241102065fa (diff) | |
download | qtscript-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.cpp | 29 |
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); |