diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-03-20 15:17:42 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-03-25 11:50:06 +0100 |
commit | 092374d1dcc9a75d69cbff2bc6a775058c3b325e (patch) | |
tree | 27cc090b7712fbcbd369a20c71f0fbbda0205c05 /sources/shiboken6 | |
parent | df6c43cd6f730c95ede52a674c2a41bf7f7683ec (diff) |
shiboken6: Ignore Q_PROPERTY specified with MEMBER
qtbase/9bbebb914422262b7b585b6d1dab9d21c4238c44 introduced support for
defining properties from member variables. These should be ignored as
Python properties are anyways generated for them.
Task-number: QTBUG-16852
Task-number: PYSIDE-2620
Change-Id: Ib05ad909c21416f13fefe53eae4cf706ba8557e0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/shiboken6')
-rw-r--r-- | sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp | 2 | ||||
-rw-r--r-- | sources/shiboken6/ApiExtractor/propertyspec.cpp | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp index 58a8901cb..0f6ddcc80 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp @@ -3421,7 +3421,7 @@ void AbstractMetaBuilderPrivate::parseQ_Properties(const AbstractMetaClassPtr &m if (spec.has_value()) { spec->setIndex(i); metaClass->addPropertySpec(spec.value()); - } else { + } else if (!errorMessage.isEmpty()) { QString message; QTextStream str(&message); str << metaClass->sourceLocation() << errorMessage; diff --git a/sources/shiboken6/ApiExtractor/propertyspec.cpp b/sources/shiboken6/ApiExtractor/propertyspec.cpp index 34cdd74a9..32b756fad 100644 --- a/sources/shiboken6/ApiExtractor/propertyspec.cpp +++ b/sources/shiboken6/ApiExtractor/propertyspec.cpp @@ -189,14 +189,15 @@ void QPropertySpec::setGenerateGetSetDef(bool generateGetSetDef) TypeSystemProperty QPropertySpec::typeSystemPropertyFromQ_Property(const QString &declarationIn, QString *errorMessage) { - enum class PropertyToken { None, Read, Write, Designable, Reset, Notify }; + enum class PropertyToken { None, Read, Write, Designable, Reset, Notify, Member }; static const QHash<QString, PropertyToken> tokenLookup = { {"READ"_L1, PropertyToken::Read}, {"WRITE"_L1, PropertyToken::Write}, {"DESIGNABLE"_L1, PropertyToken::Designable}, {"RESET"_L1, PropertyToken::Reset}, - {"NOTIFY"_L1, PropertyToken::Notify} + {"NOTIFY"_L1, PropertyToken::Notify}, + {"MEMBER"_L1, PropertyToken::Member} }; errorMessage->clear(); @@ -242,6 +243,10 @@ TypeSystemProperty QPropertySpec::typeSystemPropertyFromQ_Property(const QString case PropertyToken::Notify: result.notify = propertyTokens.at(pos + 1); break; + case PropertyToken::Member: + // Ignore MEMBER tokens introduced by QTBUG-16852 as Python + // properties are anyways generated for fields. + return {}; case PropertyToken::None: break; |