diff options
author | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-11-04 22:04:07 -0800 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-11-04 22:04:19 -0800 |
commit | 4876c2aa95a58dd9dd17e94e7e725ceea5047d26 (patch) | |
tree | 845a407efe5df39d97805fd2f006f5c056ac336f /src | |
parent | 878b11e0a94e892c0377bca01b49706c150926ed (diff) | |
parent | 25b6fae1eb26645a30b3e7e254ce0b585757351c (diff) |
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
src/qml/jsruntime/qv4errorobject_p.h
Change-Id: I7fc1211295738a9fae32b783a9f001f1613785e4
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/compiler/qv4ssa.cpp | 10 | ||||
-rw-r--r-- | src/qml/doc/src/qmllanguageref/documents/topic.qdoc | 6 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4errorobject_p.h | 2 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4sequenceobject.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmllocale_p.h | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 18 |
6 files changed, 22 insertions, 18 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp index d67b88b718..31e3ed867e 100644 --- a/src/qml/compiler/qv4ssa.cpp +++ b/src/qml/compiler/qv4ssa.cpp @@ -2991,15 +2991,7 @@ void splitCriticalEdges(IR::Function *f, DominatorTree &df, StatementWorklist &w toBB->in[inIdx] = newBB; newBB->out.append(toBB); - BasicBlock *container = 0; - for (container = fromBB->containingGroup(); container; container = container->containingGroup()) { - if (container == toBB || container == toBB->containingGroup()) - break; - } - if (container == 0) - container = fromBB->containingGroup(); - - newBB->setContainingGroup(container); + newBB->setContainingGroup(toBB->containingGroup()); // patch the terminator Stmt *terminator = fromBB->terminator(); diff --git a/src/qml/doc/src/qmllanguageref/documents/topic.qdoc b/src/qml/doc/src/qmllanguageref/documents/topic.qdoc index aed89f6423..aa13229165 100644 --- a/src/qml/doc/src/qmllanguageref/documents/topic.qdoc +++ b/src/qml/doc/src/qmllanguageref/documents/topic.qdoc @@ -42,6 +42,12 @@ The ability to define re-usable QML object types in documents is an important enabler to allow clients to write modular, highly readable and maintainable code. +Since Qt 5.4, a document can also have the file extension \c ".ui.qml". The QML +engine handles these files like standard .qml files and ignores the \c .ui part +of the extension. Qt Creator handles those files as +\l{Qt Creator: Qt Quick UI Forms}{UI forms} for the Qt Quick Designer. The files +can contain only a subset of the QML language that is defined by Qt Creator. + \section1 Structure of a QML Document A QML document consists of two sections: the imports section, and the object diff --git a/src/qml/jsruntime/qv4errorobject_p.h b/src/qml/jsruntime/qv4errorobject_p.h index bb31b505e8..ffbdafcc43 100644 --- a/src/qml/jsruntime/qv4errorobject_p.h +++ b/src/qml/jsruntime/qv4errorobject_p.h @@ -71,7 +71,7 @@ struct ErrorObject: Object { static ReturnedValue method_get_stack(CallContext *ctx); static void markObjects(HeapObject *that, ExecutionEngine *e); - static void destroy(Managed *that) { static_cast<ErrorObject *>(that)->~ErrorObject(); } + static void destroy(Managed *that) { static_cast<ErrorObject *>(that)->d()->~Data(); } }; template<> diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp index 00b78b9954..c63e634025 100644 --- a/src/qml/jsruntime/qv4sequenceobject.cpp +++ b/src/qml/jsruntime/qv4sequenceobject.cpp @@ -508,7 +508,7 @@ private: static void destroy(Managed *that) { - static_cast<QQmlSequence<Container> *>(that)->~QQmlSequence<Container>(); + static_cast<QQmlSequence<Container> *>(that)->d()->~Data(); } }; diff --git a/src/qml/qml/qqmllocale_p.h b/src/qml/qml/qqmllocale_p.h index a3fc8e4ed4..233624453f 100644 --- a/src/qml/qml/qqmllocale_p.h +++ b/src/qml/qml/qqmllocale_p.h @@ -174,7 +174,7 @@ struct QQmlLocaleData : public QV4::Object private: static void destroy(Managed *that) { - static_cast<QQmlLocaleData *>(that)->~QQmlLocaleData(); + static_cast<QQmlLocaleData *>(that)->d()->~Data(); } }; diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index ca5b038efa..9675d6e48a 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -460,12 +460,18 @@ void Updater::visitGeometryNode(Node *n) if (e->root) { BatchRootInfo *info = renderer->batchRootInfo(e->root); - info->availableOrders--; - if (info->availableOrders < 0) { - renderer->m_rebuild |= Renderer::BuildRenderLists; - } else { - renderer->m_rebuild |= Renderer::BuildRenderListsForTaggedRoots; - renderer->m_taggedRoots << e->root; + while (info != 0) { + info->availableOrders--; + if (info->availableOrders < 0) { + renderer->m_rebuild |= Renderer::BuildRenderLists; + } else { + renderer->m_rebuild |= Renderer::BuildRenderListsForTaggedRoots; + renderer->m_taggedRoots << e->root; + } + if (info->parentRoot != 0) + info = renderer->batchRootInfo(info->parentRoot); + else + info = 0; } } else { renderer->m_rebuild |= Renderer::FullRebuild; |