aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-02-18 13:51:21 +0100
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-02-22 10:33:15 +0000
commit89d93c0154969990dae9c692efcd421821836152 (patch)
tree95f47fe9c620d1c9f87d8ac1bb23c5393a4d5845 /src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
parent8aaf3a0922bd140278565d223fb9b4dadc5231f9 (diff)
QmlDesigner: Do not collect the prototypes manually
The PrototypeIterator can handle cycles etc... Change-Id: Ied47bc6acbab32d782f6827cf849711aed660822 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
index a2c11af358..efb8ab9bec 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
@@ -454,13 +454,12 @@ PropertyNameList getSignals(const ObjectValue *objectValue, const ContextPtr &co
signalList.append(processor.signalList());
- if (!local) {
- const ObjectValue* prototype = objectValue->prototype(context);
+ PrototypeIterator prototypeIterator(objectValue, context);
+ QList<const ObjectValue *> objects = prototypeIterator.all();
- if (prototype == objectValue)
- return signalList;
-
- signalList.append(getSignals(prototype, context));
+ if (!local) {
+ foreach (const ObjectValue *prototype, objects)
+ signalList.append(getSignals(prototype, context, true));
}
return signalList;