aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlpropertycache.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-08-16 11:24:35 +0200
committerLiang Qi <liang.qi@qt.io>2018-08-16 10:47:31 +0000
commitc9d1fd90612485ae296fbefc36969f2bbcea84fa (patch)
treed5d9676f8f9fd08b31c9ee85d1489443729e6e2f /src/qml/qml/qqmlpropertycache.cpp
parentfa1de81a089d4bd1ffa72bd6745df75c20a0cdf0 (diff)
Handle changes in MOC internals - part 2
Needed with newer qtbase. This amends 218fb96808f9ca4470427f68141eac64d1ad96f6. Task-number: QTBUG-69971 Change-Id: I970e65d8e0a977c52c6f187f955987811e774348 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlpropertycache.cpp')
-rw-r--r--src/qml/qml/qqmlpropertycache.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlpropertycache.cpp b/src/qml/qml/qqmlpropertycache.cpp
index 2bdc5cccb1..0388215630 100644
--- a/src/qml/qml/qqmlpropertycache.cpp
+++ b/src/qml/qml/qqmlpropertycache.cpp
@@ -1367,12 +1367,14 @@ int visitEnumerations(const QMetaObject &mo, StringVisitor visitString)
for (int i = 0; i < priv->enumeratorCount; ++i) {
const uint *enumeratorData = mo.d.data + priv->enumeratorData + i * intsPerEnumerator;
- const uint keyCount = enumeratorData[2];
+ const uint keyCount = enumeratorData[intsPerEnumerator == 5 ? 3 : 2];
fieldCount += keyCount * 2;
visitString(enumeratorData[0]); // name
+ if (intsPerEnumerator == 5)
+ visitString(enumeratorData[1]); // enum name
- const uint keyOffset = enumeratorData[3];
+ const uint keyOffset = enumeratorData[intsPerEnumerator == 5 ? 4 : 3];
for (uint j = 0; j < keyCount; ++j) {
visitString(mo.d.data[keyOffset + 2 * j]);