summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2019-05-16 09:20:43 +0200
committerMarc Mutz <marc.mutz@kdab.com>2019-05-23 14:41:15 +0200
commitd38db1a6b5027cd69777946e5a2d24e2a404dfa0 (patch)
treed2c1deeee140623fc483df98d3415d65e2e673e0
parent0570d73b615983b861eedcfced755d20114d1bc0 (diff)
Eradicate Java-style iterators and mark the module clean
Change-Id: I81ef72c1cdd589ccedfd7141116df50a49bb1622 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--.qmake.conf1
-rw-r--r--src/render/geometry/buffermanager.cpp8
2 files changed, 5 insertions, 4 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 2d0105a62..0b1ebe807 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -4,5 +4,6 @@ QT3D_BUILD_ROOT = $$shadowed($$PWD)
load(qt_build_config)
DEFINES += QT_NO_FOREACH
+DEFINES += QT_NO_JAVA_STYLE_ITERATORS
MODULE_VERSION = 5.14.0
diff --git a/src/render/geometry/buffermanager.cpp b/src/render/geometry/buffermanager.cpp
index 14b552879..92f87ab13 100644
--- a/src/render/geometry/buffermanager.cpp
+++ b/src/render/geometry/buffermanager.cpp
@@ -83,12 +83,12 @@ QVector<Qt3DCore::QNodeId> BufferManager::takeBuffersToRelease()
{
QMutexLocker lock(&m_mutex);
QVector<Qt3DCore::QNodeId> buffersToRelease;
- QMutableHashIterator<Qt3DCore::QNodeId, int> it(m_bufferReferences);
- while (it.hasNext()) {
- it.next();
+ for (auto it = m_bufferReferences.begin(), end = m_bufferReferences.end(); it != end; /*erasing*/) {
if (it.value() == 0) {
buffersToRelease.append(it.key());
- it.remove();
+ it = m_bufferReferences.erase(it);
+ } else {
+ ++it;
}
}
return buffersToRelease;