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/quick/scenegraph/coreapi | |
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/quick/scenegraph/coreapi')
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
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; |