goto exceptionExit; \
}
+bool QQmlVME::s_enableComponentComplete = true;
+
void QQmlVME::init(QQmlContextData *ctxt, QQmlCompiledData *comp, int start,
QQmlContextData *creation)
{
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();
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) {
QObject *execute(QList<QQmlError> *errors, const Interrupt & = Interrupt());
QQmlContextData *complete(const Interrupt & = Interrupt());
+ static void enableComponentComplete();
+ static void disableComponentComplete();
+ static bool componentCompleteEnabled();
+
private:
friend class QQmlVMEGuard;
static void blank(QFiniteStack<QQmlParserStatus *> &);
static void blank(QFiniteStack<QQmlAbstractBinding *> &);
+
+ static bool s_enableComponentComplete;
};
// Used to check that a QQmlVME that is interrupted mid-execution
QQmlEnginePrivate::activateDesignerMode();
}
+void DesignerSupport::disableComponentComplete()
+{
+ QQmlVME::disableComponentComplete();
+}
+
+void DesignerSupport::enableComponentComplete()
+{
+ QQmlVME::enableComponentComplete();
+}
+
void DesignerSupport::createOpenGLContext(QQuickWindow *window)
{
DesignerWindowManager::createOpenGLContext(window);
static void activateDesignerWindowManager();
static void activateDesignerMode();
+ static void disableComponentComplete();
+ static void enableComponentComplete();
+
static void createOpenGLContext(QQuickWindow *window);
static void polishItems(QQuickWindow *window);