diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp index bc15e88e5cc..40582aa06ba 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp @@ -274,10 +274,13 @@ void NodeInstanceServer::completeComponent(const CompleteComponentCommand &comma } } + m_completedComponentList.append(instanceList); + nodeInstanceClient()->valuesChanged(createValuesChangedCommand(instanceList)); nodeInstanceClient()->informationChanged(createAllInformationChangedCommand(instanceList, true)); nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(instanceList)); - nodeInstanceClient()->componentCompleted(createComponentCompletedCommand(instanceList)); + + startRenderTimer(); } void NodeInstanceServer::addImports(const QVector &containerVector) @@ -881,6 +884,11 @@ void NodeInstanceServer::findItemChangesAndSendChangeCommands() } } + if (!m_completedComponentList.isEmpty()) { + nodeInstanceClient()->componentCompleted(createComponentCompletedCommand(m_completedComponentList)); + m_completedComponentList.clear(); + } + slowDownRenderTimer(); nodeInstanceClient()->flush(); } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h index 1a1420eec36..fb7af10d5f6 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h @@ -138,6 +138,7 @@ private: QVector m_changedPropertyList; QStringList m_importList; QSet m_dirtyInstanceSet; + QList m_completedComponentList; }; }