aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2024-03-20 15:17:42 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2024-03-25 11:50:06 +0100
commit092374d1dcc9a75d69cbff2bc6a775058c3b325e (patch)
tree27cc090b7712fbcbd369a20c71f0fbbda0205c05 /sources/shiboken6
parentdf6c43cd6f730c95ede52a674c2a41bf7f7683ec (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.cpp2
-rw-r--r--sources/shiboken6/ApiExtractor/propertyspec.cpp9
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;