diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-01-30 15:00:01 +0200 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-01-30 15:00:01 +0200 |
commit | 8e550853be4778d61f33bf6e4e791b69a7f40ca3 (patch) | |
tree | 384372c1cc2c8e1df9ef2b6ff4c6d69c85d6f6b9 | |
parent | 50b34111ff06a0ed5fc56f4f1d33d5d1cb4047b6 (diff) | |
parent | 1fcc5f1c92f486b712a9088624d45978c9f530a6 (diff) |
Merge tag 'v6.5.5-lts' into tqtc/lts-6.5-opensourcev6.5.5-lts-lgpl6.5
Qt 6.5.5-lts release
Conflicts solved:
dependencies.yaml
Change-Id: I52adaf27d5a9aae3ae3550b1f4757bcd8da18f28
-rw-r--r-- | .cmake.conf | 2 | ||||
-rw-r--r-- | dependencies.yaml | 4 | ||||
-rw-r--r-- | src/remoteobjects/qremoteobjectreplica.cpp | 6 | ||||
-rw-r--r-- | src/repparser/parser.g | 10 | ||||
-rw-r--r-- | tests/auto/repc/enums/enums.rep | 6 | ||||
-rw-r--r-- | tests/auto/repc/enums/tst_enums.cpp | 11 |
6 files changed, 31 insertions, 8 deletions
diff --git a/.cmake.conf b/.cmake.conf index 3414cde..a3856a4 100644 --- a/.cmake.conf +++ b/.cmake.conf @@ -1,3 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.5.4") +set(QT_REPO_MODULE_VERSION "6.5.5") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff --git a/dependencies.yaml b/dependencies.yaml index 3e718a6..7a34e83 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../tqtc-qtbase: - ref: 8ff0b254e4c3db81254782262d827f7831d15f6b + ref: fdf57f5df57e7d12cf871699d857a71acf272e0c required: true ../tqtc-qtdeclarative: - ref: 9edb471d3a35b3dc40def86c395789086edaa983 + ref: 7ac842cba18be081ac835bf40ac475ec4c47d30b required: false diff --git a/src/remoteobjects/qremoteobjectreplica.cpp b/src/remoteobjects/qremoteobjectreplica.cpp index 4e53d9f..7134abf 100644 --- a/src/remoteobjects/qremoteobjectreplica.cpp +++ b/src/remoteobjects/qremoteobjectreplica.cpp @@ -119,8 +119,10 @@ QConnectedReplicaImplementation::~QConnectedReplicaImplementation() sendCommand(); } for (auto prop : m_propertyStorage) { - if (prop.canConvert<QObject*>()) - prop.value<QObject *>()->deleteLater(); + if (prop.canConvert<QObject*>()) { + if (auto o = prop.value<QObject*>()) + o->deleteLater(); + } } } diff --git a/src/repparser/parser.g b/src/repparser/parser.g index 5b05222..a45a14c 100644 --- a/src/repparser/parser.g +++ b/src/repparser/parser.g @@ -890,9 +890,13 @@ Pod: pod; qWarning() << "[repc] - Ignoring POD with no data members. POD name: " << qPrintable(pod.name); return true; } - if (argString.contains(QLatin1String("ENUM"))) { - setErrorString(QLatin1String("ENUMs are only available in PODs using bracket syntax ('{'), not parentheses")); - return false; + for (const QStringView &token : argString.tokenize(u' ')) { + if (token.startsWith(QLatin1String("ENUM"))) { + if (token.size() == 4 || !(token[4].isLetterOrNumber() || token[4] == u'_')) { + setErrorString(QLatin1String("ENUMs are only available in PODs using bracket syntax ('{'), not parentheses")); + return false; + } + } } RepParser::TypeParser parseType; diff --git a/tests/auto/repc/enums/enums.rep b/tests/auto/repc/enums/enums.rep index 190c2fe..3bd26b5 100644 --- a/tests/auto/repc/enums/enums.rep +++ b/tests/auto/repc/enums/enums.rep @@ -4,3 +4,9 @@ USE_ENUM(Qt::DayOfWeek) class TestInterface { }; + +// This needs to generate properly and compile: +ENUM XENUMx {Foo, Bar}; +POD Mode(XENUMxEnum::XENUMx foo); +ENUM ENUM_ {Foo, Bar}; +POD Mode2(ENUM_Enum::ENUM_ foo); diff --git a/tests/auto/repc/enums/tst_enums.cpp b/tests/auto/repc/enums/tst_enums.cpp index 9ba0a41..60ee870 100644 --- a/tests/auto/repc/enums/tst_enums.cpp +++ b/tests/auto/repc/enums/tst_enums.cpp @@ -13,6 +13,7 @@ class tst_Enums : public QObject { private Q_SLOTS: void testMarshalling(); + void testEnumContainingENUM(); }; void tst_Enums::testMarshalling() @@ -50,6 +51,16 @@ void tst_Enums::testMarshalling() } } +void tst_Enums::testEnumContainingENUM() +{ + // We mostly just want to make sure the generation for this doesn't change, + // so test using the type name and the value of the first entry: + XENUMxEnum::XENUMx xenum = XENUMxEnum::Foo; + QCOMPARE(int(xenum), 0); + ENUM_Enum::ENUM_ enum_ = ENUM_Enum::Foo; + QCOMPARE(int(enum_), 0); +} + QTEST_APPLESS_MAIN(tst_Enums) #include "tst_enums.moc" |