summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFabian Kosmale <[email protected]>2025-06-18 08:59:36 +0200
committerFabian Kosmale <[email protected]>2025-06-18 16:58:51 +0200
commit41bbe3cbf091406cdd8f8ac4fcb1d0e19b7b4548 (patch)
treee29268e5ba417e6b87373d42b80280f18842758a /tests
parentf036aabf5e3f5f307ba6cacb3f0d332a707531aa (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.json16
-rw-r--r--tests/auto/tools/moc/name_collision.h7
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 ) {}