diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-23 22:16:10 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-23 22:16:10 +0200 |
| commit | 6cc61508acd7b65477e006475f64dc3406af668f (patch) | |
| tree | 7355632654b206a2fab772721cfa72e72ecf3300 /sources/pyside2/libpyside | |
| parent | 54e7da4895cd5d9228cef3e4e3ebc61c5109ed12 (diff) | |
| parent | ff94459c809e2ccd13e6d669b053667d35b3e571 (diff) | |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I0685101058a4a814d97c56177030bf7a66483643
Diffstat (limited to 'sources/pyside2/libpyside')
| -rw-r--r-- | sources/pyside2/libpyside/pysideproperty.cpp | 5 | ||||
| -rw-r--r-- | sources/pyside2/libpyside/pysidesignal.cpp | 18 | ||||
| -rw-r--r-- | sources/pyside2/libpyside/signalmanager.cpp | 2 |
3 files changed, 17 insertions, 8 deletions
diff --git a/sources/pyside2/libpyside/pysideproperty.cpp b/sources/pyside2/libpyside/pysideproperty.cpp index e9548dc22..85db745ae 100644 --- a/sources/pyside2/libpyside/pysideproperty.cpp +++ b/sources/pyside2/libpyside/pysideproperty.cpp @@ -139,12 +139,17 @@ static void qpropertyMetaCall(PySideProperty *pp, PyObject *self, QMetaObject::C break; } +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + case QMetaObject::RegisterQPropertyObserver: + case QMetaObject::SetQPropertyBinding: +#else case QMetaObject::QueryPropertyDesignable: case QMetaObject::QueryPropertyScriptable: case QMetaObject::QueryPropertyStored: case QMetaObject::QueryPropertyEditable: case QMetaObject::QueryPropertyUser: // just to avoid gcc warnings +#endif case QMetaObject::InvokeMetaMethod: case QMetaObject::CreateInstance: case QMetaObject::IndexOfMethod: diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp index 32e1bb0c6..f11f5a12d 100644 --- a/sources/pyside2/libpyside/pysidesignal.cpp +++ b/sources/pyside2/libpyside/pysidesignal.cpp @@ -899,20 +899,22 @@ const char *getSignature(PySideSignalInstance *signal) QStringList getArgsFromSignature(const char *signature, bool *isShortCircuit) { - const QString qsignature = QLatin1String(signature); + QString qsignature = QString::fromLatin1(signature).trimmed(); QStringList result; - QRegExp splitRegex(QLatin1String("\\s*,\\s*")); if (isShortCircuit) *isShortCircuit = !qsignature.contains(QLatin1Char('(')); if (qsignature.contains(QLatin1String("()")) || qsignature.contains(QLatin1String("(void)"))) return result; - if (qsignature.contains(QLatin1Char('('))) { - static QRegExp regex(QLatin1String(".+\\((.*)\\)")); - //get args types - QString types = qsignature; - types.replace(regex, QLatin1String("\\1")); - result = types.split(splitRegex); + if (qsignature.endsWith(QLatin1Char(')'))) { + const int paren = qsignature.indexOf(QLatin1Char('(')); + if (paren >= 0) { + qsignature.chop(1); + qsignature.remove(0, paren + 1); + result = qsignature.split(QLatin1Char(',')); + for (QString &type : result) + type = type.trimmed(); + } } return result; } diff --git a/sources/pyside2/libpyside/signalmanager.cpp b/sources/pyside2/libpyside/signalmanager.cpp index 8e8cc9f02..93847e066 100644 --- a/sources/pyside2/libpyside/signalmanager.cpp +++ b/sources/pyside2/libpyside/signalmanager.cpp @@ -411,11 +411,13 @@ int SignalManager::qt_metacall(QObject *object, QMetaObject::Call call, int id, case QMetaObject::ReadProperty: case QMetaObject::WriteProperty: case QMetaObject::ResetProperty: +# if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) case QMetaObject::QueryPropertyDesignable: case QMetaObject::QueryPropertyScriptable: case QMetaObject::QueryPropertyStored: case QMetaObject::QueryPropertyEditable: case QMetaObject::QueryPropertyUser: +# endif // < Qt 6 pp->d->metaCallHandler(pp, pySelf, call, args); break; #endif |
