diff options
author | Fabian Kosmale <[email protected]> | 2025-06-18 08:59:36 +0200 |
---|---|---|
committer | Fabian Kosmale <[email protected]> | 2025-06-18 16:58:51 +0200 |
commit | 41bbe3cbf091406cdd8f8ac4fcb1d0e19b7b4548 (patch) | |
tree | e29268e5ba417e6b87373d42b80280f18842758a /tests | |
parent | f036aabf5e3f5f307ba6cacb3f0d332a707531aa (diff) |
moc: Fix invalid codegen for qualified properties
We must not add an enum qualifie if it is already emitted because
it was part of the property signature.
Amends dea21545b32cf04337ca470483991dc7da39ba5b
Fixes: QTBUG-137850
Pick-to: 6.10 6.9
Change-Id: I07a27014023a60f07a97e323a7d7e5b9d233d555
Reviewed-by: Joerg Bornemann <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/tools/moc/allmocs_baseline_in.json | 16 | ||||
-rw-r--r-- | tests/auto/tools/moc/name_collision.h | 7 |
2 files changed, 22 insertions, 1 deletions
diff --git a/tests/auto/tools/moc/allmocs_baseline_in.json b/tests/auto/tools/moc/allmocs_baseline_in.json index 4ad1d2b53c5..28feba8dba9 100644 --- a/tests/auto/tools/moc/allmocs_baseline_in.json +++ b/tests/auto/tools/moc/allmocs_baseline_in.json @@ -1397,7 +1397,21 @@ "type": "Status", "user": false, "write": "setStatus" - } + }, + { + "constant": false, + "designable": true, + "final": false, + "index": 1, + "member": "m_decorationMode", + "name": "decorationMode", + "required": false, + "scriptable": true, + "stored": true, + "type": "DecorationMode", + "user": false + } + ], "qualifiedClassName": "myns::NameCollision", "slots": [ diff --git a/tests/auto/tools/moc/name_collision.h b/tests/auto/tools/moc/name_collision.h index ad67a3cba71..7124de6bf7b 100644 --- a/tests/auto/tools/moc/name_collision.h +++ b/tests/auto/tools/moc/name_collision.h @@ -15,12 +15,19 @@ class NameCollision : public QObject // intentionally not fully qualified Q_PROPERTY(Status Status READ Status WRITE setStatus) + Q_PROPERTY(enum DecorationMode decorationMode MEMBER m_decorationMode) + int m_status = 0; public: enum Status {}; + enum DecorationMode { + ClientSideDecoration = 1, + ServerSideDecoration = 2, + }; void statusChanged(Status status); + enum DecorationMode m_decorationMode; public Q_SLOTS: void setStatus(Status ) {} |