aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@theqtcompany.com>2014-11-04 22:04:07 -0800
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2014-11-04 22:04:19 -0800
commit4876c2aa95a58dd9dd17e94e7e725ceea5047d26 (patch)
tree845a407efe5df39d97805fd2f006f5c056ac336f /src
parent878b11e0a94e892c0377bca01b49706c150926ed (diff)
parent25b6fae1eb26645a30b3e7e254ce0b585757351c (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.cpp10
-rw-r--r--src/qml/doc/src/qmllanguageref/documents/topic.qdoc6
-rw-r--r--src/qml/jsruntime/qv4errorobject_p.h2
-rw-r--r--src/qml/jsruntime/qv4sequenceobject.cpp2
-rw-r--r--src/qml/qml/qqmllocale_p.h2
-rw-r--r--src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp18
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;