summaryrefslogtreecommitdiffstats
diff options
authorTarja Sundqvist <tarja.sundqvist@qt.io>2025-01-30 15:00:01 +0200
committerTarja Sundqvist <tarja.sundqvist@qt.io>2025-01-30 15:00:01 +0200
commit8e550853be4778d61f33bf6e4e791b69a7f40ca3 (patch)
tree384372c1cc2c8e1df9ef2b6ff4c6d69c85d6f6b9
parent50b34111ff06a0ed5fc56f4f1d33d5d1cb4047b6 (diff)
parent1fcc5f1c92f486b712a9088624d45978c9f530a6 (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.conf2
-rw-r--r--dependencies.yaml4
-rw-r--r--src/remoteobjects/qremoteobjectreplica.cpp6
-rw-r--r--src/repparser/parser.g10
-rw-r--r--tests/auto/repc/enums/enums.rep6
-rw-r--r--tests/auto/repc/enums/tst_enums.cpp11
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"