summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-02-29 01:01:50 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-05-14 16:02:22 +0000
commit85a9e258e961569e9b8bdd1d13d46fc80aed7dbd (patch)
tree199f94e9163ed52ec0da9d39974e55baad34eddf /src
parentd03cfcec1448b8df7ff5084df21f427c58466cdc (diff)
render: eradicate Q_FOREACH loops [remaining low-risk, take 2]
... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(), where needed. This is the batch with low-risk changes. They operate on local containers or the loop body clearly does not cause the container to change. Change-Id: I5a9e5fd1d64863da15b982558ae1aded045deb33 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/frontend/qrenderaspect.cpp4
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp4
-rw-r--r--src/render/materialsystem/qshaderdata.cpp6
-rw-r--r--src/render/materialsystem/shaderdata.cpp5
-rw-r--r--src/render/texture/texture.cpp2
5 files changed, 12 insertions, 9 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index 35d866bd4..54db848d7 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -472,8 +472,8 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspectPrivate::createGeometryRendererJob
void QRenderAspectPrivate::loadSceneParsers()
{
- QStringList keys = QSceneIOFactory::keys();
- Q_FOREACH (QString key, keys) {
+ const QStringList keys = QSceneIOFactory::keys();
+ for (const QString &key : keys) {
QSceneIOHandler *sceneIOHandler = QSceneIOFactory::create(key, QStringList());
if (sceneIOHandler != nullptr)
m_sceneIOHandler.append(sceneIOHandler);
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index 3760fd8ee..911412804 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -363,7 +363,7 @@ void PickBoundingVolumeJob::run()
m_hoveredPickersToClear = m_hoveredPickers;
ObjectPicker *lastCurrentPicker = m_manager->objectPickerManager()->data(m_currentPicker);
- Q_FOREACH (const ViewportCameraAreaTriplet &vca, vcaTriplets) {
+ for (const ViewportCameraAreaTriplet &vca : vcaTriplets) {
typedef AbstractCollisionGathererFunctor::result_type HitList;
HitList sphereHits;
QRay3D ray = rayForViewportAndCamera(vca.area, event.pos(), vca.viewport, vca.cameraId);
@@ -542,7 +542,7 @@ QRay3D PickBoundingVolumeJob::rayForViewportAndCamera(const QSize &area,
void PickBoundingVolumeJob::clearPreviouslyHoveredPickers()
{
- Q_FOREACH (const HObjectPicker &pickHandle, m_hoveredPickersToClear) {
+ for (const HObjectPicker pickHandle : qAsConst(m_hoveredPickersToClear)) {
ObjectPicker *pick = m_manager->objectPickerManager()->data(pickHandle);
if (pick)
pick->onExited();
diff --git a/src/render/materialsystem/qshaderdata.cpp b/src/render/materialsystem/qshaderdata.cpp
index 8db52fcf8..331401b45 100644
--- a/src/render/materialsystem/qshaderdata.cpp
+++ b/src/render/materialsystem/qshaderdata.cpp
@@ -122,7 +122,9 @@ Qt3DCore::QNodeCreatedChangeBasePtr QShaderData::createNodeCreationChange() cons
const int propertyOffset = QShaderData::staticMetaObject.propertyOffset();
const int propertyCount = metaObj->propertyCount();
- data.properties.reserve(propertyCount - propertyOffset);
+ const auto propertyNames = dynamicPropertyNames();
+ data.properties.reserve(propertyCount - propertyOffset + propertyNames.size());
+
for (int i = propertyOffset; i < propertyCount; ++i) {
const QMetaProperty pro = metaObj->property(i);
if (pro.isWritable()) {
@@ -131,7 +133,7 @@ Qt3DCore::QNodeCreatedChangeBasePtr QShaderData::createNodeCreationChange() cons
}
}
- foreach (const QByteArray &propertyName, dynamicPropertyNames()) {
+ for (const QByteArray &propertyName : propertyNames) {
data.properties.push_back(qMakePair(propertyName,
propertyReader()->readProperty(property(propertyName))));
}
diff --git a/src/render/materialsystem/shaderdata.cpp b/src/render/materialsystem/shaderdata.cpp
index 27802bb93..0ac462e8d 100644
--- a/src/render/materialsystem/shaderdata.cpp
+++ b/src/render/materialsystem/shaderdata.cpp
@@ -147,7 +147,7 @@ void ShaderData::clearUpdatedProperties()
void ShaderData::cleanup(NodeManagers *managers)
{
- Q_FOREACH (Qt3DCore::QNodeId id, m_updatedShaderData) {
+ for (Qt3DCore::QNodeId id : qAsConst(m_updatedShaderData)) {
ShaderData *shaderData = ShaderData::lookupResource(managers, id);
if (shaderData)
shaderData->clearUpdatedProperties();
@@ -285,7 +285,8 @@ void ShaderData::readPeerProperties(QShaderData *shaderData)
}
// Also check the dynamic properties
- foreach (const QByteArray &propertyName , shaderData->dynamicPropertyNames()) {
+ const auto propertyNames = shaderData->dynamicPropertyNames();
+ for (const QByteArray &propertyName : propertyNames) {
if (propertyName == "data" || propertyName == "childNodes") // We don't handle default Node properties
continue;
diff --git a/src/render/texture/texture.cpp b/src/render/texture/texture.cpp
index 63b5b1abf..7d01e8080 100644
--- a/src/render/texture/texture.cpp
+++ b/src/render/texture/texture.cpp
@@ -641,7 +641,7 @@ void Texture::updateAndLoadTextureImage()
}
QVector<TextureImageDNA> dnas;
- Q_FOREACH (HTextureImage t, m_textureImages) {
+ for (HTextureImage t : qAsConst(m_textureImages)) {
TextureImage *img = m_textureImageManager->data(t);
if (img != nullptr && img->isDirty()) {
if (dnas.contains(img->dna())) {