aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlvme.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqmlvme.cpp')
-rw-r--r--src/qml/qml/qqmlvme.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp
index 8198eeca66..c34b922ab7 100644
--- a/src/qml/qml/qqmlvme.cpp
+++ b/src/qml/qml/qqmlvme.cpp
@@ -91,6 +91,8 @@ using namespace QQmlVMETypes;
goto exceptionExit; \
}
+bool QQmlVME::s_enableComponentComplete = true;
+
void QQmlVME::init(QQmlContextData *ctxt, QQmlCompiledData *comp, int start,
QQmlContextData *creation)
{
@@ -1326,7 +1328,7 @@ QQmlContextData *QQmlVME::complete(const Interrupt &interrupt)
bindValues.deallocate();
}
- if (!QQmlEnginePrivate::designerMode()) { // the qml designer does the component complete later
+ if (componentCompleteEnabled()) { // the qml designer does the component complete later
QQmlTrace trace("VME Component Complete");
while (!parserStatus.isEmpty()) {
QQmlParserStatus *status = parserStatus.pop();
@@ -1390,6 +1392,21 @@ QQmlContextData *QQmlVME::complete(const Interrupt &interrupt)
return rv;
}
+void QQmlVME::enableComponentComplete()
+{
+ s_enableComponentComplete = true;
+}
+
+void QQmlVME::disableComponentComplete()
+{
+ s_enableComponentComplete = false;
+}
+
+bool QQmlVME::componentCompleteEnabled()
+{
+ return s_enableComponentComplete;
+}
+
void QQmlVME::blank(QFiniteStack<QQmlAbstractBinding *> &bs)
{
for (int ii = 0; ii < bs.count(); ++ii) {