aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlpropertycache.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-06-06 20:18:01 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2017-06-06 20:18:01 +0000
commit5624e82d068ebab254239121810fc097af7fcb40 (patch)
tree27d4a45faaa7cf948a6700bc680c2684893f4e2e /src/qml/qml/qqmlpropertycache.cpp
parentd7b45f7dc1d5f28ecdb022c5a4c7673bc55257c8 (diff)
parentc254cec22a2352a3fcab60244a6ab74f95d45ace (diff)
Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/dev
Diffstat (limited to 'src/qml/qml/qqmlpropertycache.cpp')
-rw-r--r--src/qml/qml/qqmlpropertycache.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlpropertycache.cpp b/src/qml/qml/qqmlpropertycache.cpp
index 88ce2fa1b9..d18159841c 100644
--- a/src/qml/qml/qqmlpropertycache.cpp
+++ b/src/qml/qml/qqmlpropertycache.cpp
@@ -970,8 +970,11 @@ int QQmlPropertyCache::originalClone(QObject *object, int index)
QQmlData *data = QQmlData::get(object, false);
if (data && data->propertyCache) {
QQmlPropertyCache *cache = data->propertyCache;
- while (cache->signal(index)->isCloned())
+ QQmlPropertyData *sig = cache->signal(index);
+ while (sig && sig->isCloned()) {
--index;
+ sig = cache->signal(index);
+ }
} else {
while (QMetaObjectPrivate::signal(object->metaObject(), index).attributes() & QMetaMethod::Cloned)
--index;