diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-02-29 01:01:50 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-14 16:02:31 +0000 |
commit | 6cbe56dfec652d24678aeec069a22f95eb83aa2b (patch) | |
tree | c6d1d828ef858d050aa71d07366d450ebda85f9b | |
parent | afc5426d4a1b22df72e4cf5582c390d774768673 (diff) |
quick3d: eradicate Q_FOREACH loops [low-risk]
... by replacing them with C++11 range-for loops.
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.
Sprinkled in a reserve() or two.
Change-Id: I5a3da485213791ae58c82f4a81829cfba558a3d6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
23 files changed, 71 insertions, 44 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index b4d312574..f69c3e4a9 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -127,10 +127,10 @@ QT_BEGIN_NAMESPACE QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3DRender::Render::Quick::Quick3DShaderDataArray *array) { - QVector<Qt3DRender::QShaderData *> arrayValues = array->values(); + const QVector<Qt3DRender::QShaderData *> arrayValues = array->values(); QVariantList values; values.reserve(arrayValues.size()); - Q_FOREACH (Qt3DRender::QShaderData *data, arrayValues) + for (Qt3DRender::QShaderData *data : arrayValues) values.append(QVariant::fromValue(data)); return values; } diff --git a/src/quick3d/quick3d/items/quick3dentity.cpp b/src/quick3d/quick3d/items/quick3dentity.cpp index 2ea80b017..4eac4400e 100644 --- a/src/quick3d/quick3d/items/quick3dentity.cpp +++ b/src/quick3d/quick3d/items/quick3dentity.cpp @@ -93,8 +93,8 @@ int Quick3DEntity::qmlComponentsCount(QQmlListProperty<QComponent> *list) void Quick3DEntity::qmlClearComponents(QQmlListProperty<QComponent> *list) { Quick3DEntity *self = static_cast<Quick3DEntity *>(list->object); - QComponentVector components = self->parentEntity()->components(); - Q_FOREACH (QComponent *comp, components) { + const QComponentVector components = self->parentEntity()->components(); + for (QComponent *comp : components) { self->parentEntity()->removeComponent(comp); } } diff --git a/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp b/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp index e9b084a3d..b95290a3c 100644 --- a/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp +++ b/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp @@ -171,7 +171,8 @@ void Quick3DNodeInstantiatorPrivate::_q_modelUpdated(const QQmlChangeSet &change int difference = 0; QHash<int, QVector<QPointer<QObject> > > moved; - Q_FOREACH (const QQmlChangeSet::Change &remove, changeSet.removes()) { + const auto removes = changeSet.removes(); + for (const QQmlChangeSet::Change &remove : removes) { int index = qMin(remove.index, m_objects.count()); int count = qMin(remove.index + remove.count, m_objects.count()) - index; if (remove.isMove()) { @@ -192,7 +193,8 @@ void Quick3DNodeInstantiatorPrivate::_q_modelUpdated(const QQmlChangeSet &change difference -= remove.count; } - Q_FOREACH (const QQmlChangeSet::Change &insert, changeSet.inserts()) { + const auto inserts = changeSet.inserts(); + for (const QQmlChangeSet::Change &insert : inserts) { int index = qMin(insert.index, m_objects.count()); if (insert.isMove()) { QVector<QPointer<QObject> > movedObjects = moved.value(insert.moveId); diff --git a/src/quick3d/quick3d/qqmlaspectengine.cpp b/src/quick3d/quick3d/qqmlaspectengine.cpp index 786548390..4e00b77b5 100644 --- a/src/quick3d/quick3d/qqmlaspectengine.cpp +++ b/src/quick3d/quick3d/qqmlaspectengine.cpp @@ -167,8 +167,8 @@ void QQmlAspectEnginePrivate::_q_continueExecute() q, SLOT(_q_continueExecute())); if (m_component->isError()) { - QList<QQmlError> errorList = m_component->errors(); - Q_FOREACH ( const QQmlError& error, errorList ) { + const auto errors = m_component->errors(); + for (const QQmlError &error : errors) { QMessageLogger(error.url().toString().toLatin1().constData(), error.line(), 0).warning() << error; } @@ -179,8 +179,8 @@ void QQmlAspectEnginePrivate::_q_continueExecute() QObject* obj = m_component->create(); if (m_component->isError()) { - QList<QQmlError> errorList = m_component->errors(); - Q_FOREACH ( const QQmlError& error, errorList ) { + const auto errors = m_component->errors(); + for (const QQmlError &error : errors) { QMessageLogger(error.url().toString().toLatin1().constData(), error.line(), 0).warning() << error; } diff --git a/src/quick3d/quick3dinput/items/quick3daction.cpp b/src/quick3d/quick3dinput/items/quick3daction.cpp index 1b53949ca..b3b99e504 100644 --- a/src/quick3d/quick3dinput/items/quick3daction.cpp +++ b/src/quick3d/quick3dinput/items/quick3daction.cpp @@ -80,7 +80,8 @@ int Quick3DAction::actionInputCount(QQmlListProperty<QAbstractActionInput> *list void Quick3DAction::clearActionInputs(QQmlListProperty<QAbstractActionInput> *list) { Quick3DAction *action = qobject_cast<Quick3DAction *>(list->object); - Q_FOREACH (QAbstractActionInput *input, action->parentAction()->inputs()) + const auto inputs = action->parentAction()->inputs(); + for (QAbstractActionInput *input : inputs) action->parentAction()->removeInput(input); } diff --git a/src/quick3d/quick3dinput/items/quick3daxis.cpp b/src/quick3d/quick3dinput/items/quick3daxis.cpp index 06bc4747a..2857e4c48 100644 --- a/src/quick3d/quick3dinput/items/quick3daxis.cpp +++ b/src/quick3d/quick3dinput/items/quick3daxis.cpp @@ -80,7 +80,8 @@ int Quick3DAxis::axesInputCount(QQmlListProperty<QAbstractAxisInput> *list) void Quick3DAxis::clearAxisInputs(QQmlListProperty<QAbstractAxisInput> *list) { Quick3DAxis *axis = qobject_cast<Quick3DAxis *>(list->object); - Q_FOREACH (QAbstractAxisInput *input, axis->parentAxis()->inputs()) + const auto inputs = axis->parentAxis()->inputs(); + for (QAbstractAxisInput *input : inputs) axis->parentAxis()->removeInput(input); } diff --git a/src/quick3d/quick3dinput/items/quick3dinputchord.cpp b/src/quick3d/quick3dinput/items/quick3dinputchord.cpp index 9a192b422..0d214a5ec 100644 --- a/src/quick3d/quick3dinput/items/quick3dinputchord.cpp +++ b/src/quick3d/quick3dinput/items/quick3dinputchord.cpp @@ -80,7 +80,8 @@ int Quick3DInputChord::actionInputCount(QQmlListProperty<QAbstractActionInput> * void Quick3DInputChord::clearActionInputs(QQmlListProperty<QAbstractActionInput> *list) { Quick3DInputChord *action = qobject_cast<Quick3DInputChord *>(list->object); - Q_FOREACH (QAbstractActionInput *input, action->parentChord()->chords()) + const auto chords = action->parentChord()->chords(); + for (QAbstractActionInput *input : chords) action->parentChord()->removeChord(input); } diff --git a/src/quick3d/quick3dinput/items/quick3dinputsequence.cpp b/src/quick3d/quick3dinput/items/quick3dinputsequence.cpp index 5303289ac..02539443e 100644 --- a/src/quick3d/quick3dinput/items/quick3dinputsequence.cpp +++ b/src/quick3d/quick3dinput/items/quick3dinputsequence.cpp @@ -80,7 +80,8 @@ int Quick3DInputSequence::actionInputCount(QQmlListProperty<QAbstractActionInput void Quick3DInputSequence::clearActionInputs(QQmlListProperty<QAbstractActionInput> *list) { Quick3DInputSequence *action = qobject_cast<Quick3DInputSequence *>(list->object); - Q_FOREACH (QAbstractActionInput *input, action->parentSequence()->sequences()) + const auto sequences = action->parentSequence()->sequences(); + for (QAbstractActionInput *input : sequences) action->parentSequence()->removeSequence(input); } diff --git a/src/quick3d/quick3dinput/items/quick3dlogicaldevice.cpp b/src/quick3d/quick3dinput/items/quick3dlogicaldevice.cpp index 93310fd4d..72be7e7ac 100644 --- a/src/quick3d/quick3dinput/items/quick3dlogicaldevice.cpp +++ b/src/quick3d/quick3dinput/items/quick3dlogicaldevice.cpp @@ -89,7 +89,8 @@ int Quick3DLogicalDevice::axesCount(QQmlListProperty<QAxis> *list) void Quick3DLogicalDevice::clearAxes(QQmlListProperty<QAxis> *list) { Quick3DLogicalDevice *device = qobject_cast<Quick3DLogicalDevice *>(list->object); - Q_FOREACH (QAxis *axis, device->parentLogicalDevice()->axes()) + const auto axes = device->parentLogicalDevice()->axes(); + for (QAxis *axis : axes) device->parentLogicalDevice()->removeAxis(axis); } @@ -114,7 +115,8 @@ int Quick3DLogicalDevice::actionCount(QQmlListProperty<QAction> *list) void Quick3DLogicalDevice::clearActions(QQmlListProperty<QAction> *list) { Quick3DLogicalDevice *device = qobject_cast<Quick3DLogicalDevice *>(list->object); - Q_FOREACH (QAction *action, device->parentLogicalDevice()->actions()) + const auto actions = device->parentLogicalDevice()->actions(); + for (QAction *action : actions) device->parentLogicalDevice()->removeAction(action); } diff --git a/src/quick3d/quick3dinput/items/quick3dphysicaldevice.cpp b/src/quick3d/quick3dinput/items/quick3dphysicaldevice.cpp index 9615a5ce8..ead311135 100644 --- a/src/quick3d/quick3dinput/items/quick3dphysicaldevice.cpp +++ b/src/quick3d/quick3dinput/items/quick3dphysicaldevice.cpp @@ -80,7 +80,8 @@ int Quick3DPhysicalDevice::axisSettingsCount(QQmlListProperty<QAxisSetting> *lis void Quick3DPhysicalDevice::clearAxisSettings(QQmlListProperty<QAxisSetting> *list) { Quick3DPhysicalDevice *device = qobject_cast<Quick3DPhysicalDevice *>(list->object); - Q_FOREACH (QAxisSetting *axisSetting, device->parentPhysicalDevice()->axisSettings()) + const auto axisSettings = device->parentPhysicalDevice()->axisSettings(); + for (QAxisSetting *axisSetting : axisSettings) device->parentPhysicalDevice()->removeAxisSetting(axisSetting); } diff --git a/src/quick3d/quick3drender/items/quick3deffect.cpp b/src/quick3d/quick3drender/items/quick3deffect.cpp index eb8a7f8f1..9d4ce934a 100644 --- a/src/quick3d/quick3drender/items/quick3deffect.cpp +++ b/src/quick3d/quick3drender/items/quick3deffect.cpp @@ -99,7 +99,8 @@ void Quick3DEffect::clearTechniqueList(QQmlListProperty<QTechnique> *list) if (eff) { // Ownership of techniques is handled by the QmlEngine so we shouldn't class clearTechniques // which deletes techniques - Q_FOREACH (QTechnique *tech, eff->parentEffect()->techniques()) + const auto techniques = eff->parentEffect()->techniques(); + for (QTechnique *tech : techniques) eff->parentEffect()->removeTechnique(tech); } } @@ -125,7 +126,8 @@ int Quick3DEffect::parametersCount(QQmlListProperty<QParameter> *list) void Quick3DEffect::clearParameterList(QQmlListProperty<QParameter> *list) { Quick3DEffect *effect = qobject_cast<Quick3DEffect *>(list->object); - Q_FOREACH (QParameter *p, qobject_cast<QEffect *>(effect->parentEffect())->parameters()) + const auto parameters = qobject_cast<QEffect *>(effect->parentEffect())->parameters(); + for (QParameter *p : parameters) qobject_cast<QEffect *>(effect->parentEffect())->removeParameter(p); } diff --git a/src/quick3d/quick3drender/items/quick3dgeometry.cpp b/src/quick3d/quick3drender/items/quick3dgeometry.cpp index ef0021648..84c02d7c9 100644 --- a/src/quick3d/quick3drender/items/quick3dgeometry.cpp +++ b/src/quick3d/quick3drender/items/quick3dgeometry.cpp @@ -81,10 +81,9 @@ int Quick3DGeometry::attributesCount(QQmlListProperty<Qt3DRender::QAttribute> *l void Quick3DGeometry::clearAttributes(QQmlListProperty<Qt3DRender::QAttribute> *list) { Quick3DGeometry *geometry = static_cast<Quick3DGeometry *>(list->object); - QVector<Qt3DRender::QAttribute *> &managedAttributes = geometry->m_managedAttributes; - Q_FOREACH (Qt3DRender::QAttribute *attribute, managedAttributes) + for (Qt3DRender::QAttribute *attribute : qAsConst(geometry->m_managedAttributes)) geometry->parentGeometry()->removeAttribute(attribute); - managedAttributes.clear(); + geometry->m_managedAttributes.clear(); } } // namespace Quick diff --git a/src/quick3d/quick3drender/items/quick3dlayerfilter.cpp b/src/quick3d/quick3drender/items/quick3dlayerfilter.cpp index 754f420d5..6f7efcd23 100644 --- a/src/quick3d/quick3drender/items/quick3dlayerfilter.cpp +++ b/src/quick3d/quick3drender/items/quick3dlayerfilter.cpp @@ -92,9 +92,9 @@ void Quick3DLayerFilter::clearLayers(QQmlListProperty<QLayer> *list) { Quick3DLayerFilter *filter = qobject_cast<Quick3DLayerFilter *>(list->object); if (filter) { - Q_FOREACH (QLayer *layer, filter->parentFilter()->layers()) { + const auto layers = filter->parentFilter()->layers(); + for (QLayer *layer : layers) filter->parentFilter()->removeLayer(layer); - } } } diff --git a/src/quick3d/quick3drender/items/quick3dmaterial.cpp b/src/quick3d/quick3drender/items/quick3dmaterial.cpp index 764307b15..50b064bc2 100644 --- a/src/quick3d/quick3drender/items/quick3dmaterial.cpp +++ b/src/quick3d/quick3drender/items/quick3dmaterial.cpp @@ -91,9 +91,9 @@ void Quick3DMaterial::clearParameters(QQmlListProperty<QParameter> *list) { Quick3DMaterial *mat = qobject_cast<Quick3DMaterial *>(list->object); if (mat) { - Q_FOREACH (QParameter *p, mat->parentMaterial()->parameters()) { + const auto parameters = mat->parentMaterial()->parameters(); + for (QParameter *p : parameters) mat->parentMaterial()->removeParameter(p); - } } } diff --git a/src/quick3d/quick3drender/items/quick3drenderpass.cpp b/src/quick3d/quick3drender/items/quick3drenderpass.cpp index 048648467..d5f16fab6 100644 --- a/src/quick3d/quick3drender/items/quick3drenderpass.cpp +++ b/src/quick3d/quick3drender/items/quick3drenderpass.cpp @@ -99,7 +99,8 @@ int Quick3DRenderPass::filterKeysCount(QQmlListProperty<QFilterKey> *list) void Quick3DRenderPass::clearFilterKey(QQmlListProperty<QFilterKey> *list) { Quick3DRenderPass *rPass = qobject_cast<Quick3DRenderPass *>(list->object); - Q_FOREACH (QFilterKey *c, rPass->parentRenderPass()->filterKeys()) + const auto keys = rPass->parentRenderPass()->filterKeys(); + for (QFilterKey *c : keys) rPass->parentRenderPass()->removeFilterKey(c); } @@ -124,7 +125,8 @@ int Quick3DRenderPass::renderStateCount(QQmlListProperty<QRenderState> *list) void Quick3DRenderPass::clearRenderStates(QQmlListProperty<QRenderState> *list) { Quick3DRenderPass *rPass = qobject_cast<Quick3DRenderPass *>(list->object); - Q_FOREACH (QRenderState *s, rPass->parentRenderPass()->renderStates()) + const auto states = rPass->parentRenderPass()->renderStates(); + for (QRenderState *s : states) rPass->parentRenderPass()->removeRenderState(s); } @@ -149,7 +151,8 @@ int Quick3DRenderPass::parametersCount(QQmlListProperty<QParameter> *list) void Quick3DRenderPass::clearParameterList(QQmlListProperty<QParameter> *list) { Quick3DRenderPass *rPass = qobject_cast<Quick3DRenderPass *>(list->object); - Q_FOREACH (QParameter *p, rPass->parentRenderPass()->parameters()) + const auto parameters = rPass->parentRenderPass()->parameters(); + for (QParameter *p : parameters) rPass->parentRenderPass()->removeParameter(p); } diff --git a/src/quick3d/quick3drender/items/quick3drenderpassfilter.cpp b/src/quick3d/quick3drender/items/quick3drenderpassfilter.cpp index bbc91d605..8b51a79ef 100644 --- a/src/quick3d/quick3drender/items/quick3drenderpassfilter.cpp +++ b/src/quick3d/quick3drender/items/quick3drenderpassfilter.cpp @@ -98,7 +98,8 @@ void Quick3DRenderPassFilter::clearIncludes(QQmlListProperty<QFilterKey> *list) { Quick3DRenderPassFilter *filter = qobject_cast<Quick3DRenderPassFilter *>(list->object); if (filter) { - Q_FOREACH (QFilterKey *criterion, filter->parentRenderPassFilter()->matchAny()) + const auto criteria = filter->parentRenderPassFilter()->matchAny(); + for (QFilterKey *criterion : criteria) filter->parentRenderPassFilter()->removeMatch(criterion); } } @@ -124,7 +125,8 @@ int Quick3DRenderPassFilter::parametersCount(QQmlListProperty<QParameter> *list) void Quick3DRenderPassFilter::clearParameterList(QQmlListProperty<QParameter> *list) { Quick3DRenderPassFilter *rPassFilter = qobject_cast<Quick3DRenderPassFilter *>(list->object); - Q_FOREACH (QParameter *p, rPassFilter->parentRenderPassFilter()->parameters()) + const auto parameters = rPassFilter->parentRenderPassFilter()->parameters(); + for (QParameter *p : parameters) rPassFilter->parentRenderPassFilter()->removeParameter(p); } diff --git a/src/quick3d/quick3drender/items/quick3drendertargetoutput.cpp b/src/quick3d/quick3drender/items/quick3drendertargetoutput.cpp index 2444bef4e..e3b40243a 100644 --- a/src/quick3d/quick3drender/items/quick3drendertargetoutput.cpp +++ b/src/quick3d/quick3drender/items/quick3drendertargetoutput.cpp @@ -86,7 +86,8 @@ void Quick3DRenderTargetOutput::clearRenderAttachments(QQmlListProperty<QRenderT { Quick3DRenderTargetOutput *rT = qobject_cast<Quick3DRenderTargetOutput *>(list->object); if (rT) { - Q_FOREACH (QRenderTargetOutput *output, rT->parentRenderTarget()->outputs()) + const auto outputs = rT->parentRenderTarget()->outputs(); + for (QRenderTargetOutput *output : outputs) rT->parentRenderTarget()->removeOutput(output); } } diff --git a/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp b/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp index 7a8ac9b49..b61c7ed12 100644 --- a/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp +++ b/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp @@ -58,7 +58,9 @@ QVariantList Quick3DRenderTargetSelector::drawBuffers() const { // Converts RenderAttachmentType to int QVariantList l; - Q_FOREACH (const QRenderTargetOutput::AttachmentPoint &b, parentRenderTargetSelector()->outputs()) + const auto outputs = parentRenderTargetSelector()->outputs(); + l.reserve(outputs.size()); + for (const QRenderTargetOutput::AttachmentPoint &b : outputs) l.append(static_cast<int>(b)); return l; } @@ -69,7 +71,8 @@ void Quick3DRenderTargetSelector::setDrawBuffers(const QVariantList &buffers) // Converts int to RenderAttachmentType QVector<QRenderTargetOutput::AttachmentPoint> drawBuffersList; - Q_FOREACH (const QVariant &buf, buffers) + drawBuffersList.reserve(buffers.size()); + for (const QVariant &buf : buffers) drawBuffersList.append(static_cast<QRenderTargetOutput::AttachmentPoint>(buf.toInt())); parentRenderTargetSelector()->setOutputs(drawBuffersList); diff --git a/src/quick3d/quick3drender/items/quick3dshaderdata.cpp b/src/quick3d/quick3drender/items/quick3dshaderdata.cpp index 26067ba2f..e5901e8fb 100644 --- a/src/quick3d/quick3drender/items/quick3dshaderdata.cpp +++ b/src/quick3d/quick3drender/items/quick3dshaderdata.cpp @@ -77,7 +77,8 @@ public: Quick3DShaderDataArray *array = v.value<Quick3DShaderDataArray *>(); QVariantList innerValues; if (array) { - Q_FOREACH (QShaderData *d, array->values()) { + const auto values = array->values(); + for (QShaderData *d : values) { if (d) innerValues.append(QVariant::fromValue(d->id())); } diff --git a/src/quick3d/quick3drender/items/quick3dstateset.cpp b/src/quick3d/quick3drender/items/quick3dstateset.cpp index 44dd01ec5..d7d74e5ad 100644 --- a/src/quick3d/quick3drender/items/quick3dstateset.cpp +++ b/src/quick3d/quick3drender/items/quick3dstateset.cpp @@ -85,7 +85,8 @@ int Quick3DStateSet::renderStateCount(QQmlListProperty<QRenderState> *list) void Quick3DStateSet::clearRenderStates(QQmlListProperty<QRenderState> *list) { Quick3DStateSet *stateSet = qobject_cast<Quick3DStateSet *>(list->object); - Q_FOREACH (QRenderState *s, stateSet->parentStateSet()->renderStates()) + const auto states = stateSet->parentStateSet()->renderStates(); + for (QRenderState *s : states) stateSet->parentStateSet()->removeRenderState(s); } diff --git a/src/quick3d/quick3drender/items/quick3dtechnique.cpp b/src/quick3d/quick3drender/items/quick3dtechnique.cpp index 06b9114bd..123050645 100644 --- a/src/quick3d/quick3drender/items/quick3dtechnique.cpp +++ b/src/quick3d/quick3drender/items/quick3dtechnique.cpp @@ -89,7 +89,8 @@ int Quick3DTechnique::parametersCount(QQmlListProperty<QParameter> *list) void Quick3DTechnique::clearParameterList(QQmlListProperty<QParameter> *list) { Quick3DTechnique *technique = qobject_cast<Quick3DTechnique *>(list->object); - Q_FOREACH (QParameter *p, technique->parentTechnique()->parameters()) + const auto parameters = technique->parentTechnique()->parameters(); + for (QParameter *p : parameters) technique->parentTechnique()->removeParameter(p); } @@ -121,7 +122,8 @@ void Quick3DTechnique::clearRenderPasses(QQmlListProperty<QRenderPass> *list) { Quick3DTechnique *technique = qobject_cast<Quick3DTechnique *>(list->object); if (technique) { - Q_FOREACH (QRenderPass *pass, technique->parentTechnique()->renderPasses()) + const auto passes = technique->parentTechnique()->renderPasses(); + for (QRenderPass *pass : passes) technique->parentTechnique()->removeRenderPass(pass); } } @@ -165,7 +167,8 @@ void Quick3DTechnique::clearFilterKeyList(QQmlListProperty<QFilterKey> *list) { Quick3DTechnique *technique = qobject_cast<Quick3DTechnique *>(list->object); if (technique) { - Q_FOREACH (QFilterKey *a, technique->parentTechnique()->filterKeys()) + const auto keys = technique->parentTechnique()->filterKeys(); + for (QFilterKey *a : keys) technique->parentTechnique()->removeFilterKey(a); } } diff --git a/src/quick3d/quick3drender/items/quick3dtechniquefilter.cpp b/src/quick3d/quick3drender/items/quick3dtechniquefilter.cpp index 8eb505470..b27d46c31 100644 --- a/src/quick3d/quick3drender/items/quick3dtechniquefilter.cpp +++ b/src/quick3d/quick3drender/items/quick3dtechniquefilter.cpp @@ -97,7 +97,8 @@ void Quick3DTechniqueFilter::clearRequires(QQmlListProperty<QFilterKey> *list) { Quick3DTechniqueFilter *filter = qobject_cast<Quick3DTechniqueFilter *>(list->object); if (filter) { - Q_FOREACH (QFilterKey *criterion, filter->parentTechniqueFilter()->matchAll()) + const auto criteria = filter->parentTechniqueFilter()->matchAll(); + for (QFilterKey *criterion : criteria) filter->parentTechniqueFilter()->removeMatch(criterion); } } @@ -123,7 +124,8 @@ int Quick3DTechniqueFilter::parametersCount(QQmlListProperty<QParameter> *list) void Quick3DTechniqueFilter::clearParameterList(QQmlListProperty<QParameter> *list) { Quick3DTechniqueFilter *techniqueFilter = qobject_cast<Quick3DTechniqueFilter *>(list->object); - Q_FOREACH (QParameter *p, techniqueFilter->parentTechniqueFilter()->parameters()) + const auto parameters = techniqueFilter->parentTechniqueFilter()->parameters(); + for (QParameter *p : parameters) techniqueFilter->parentTechniqueFilter()->removeParameter(p); } diff --git a/src/quick3d/quick3drender/items/quick3dtexture.cpp b/src/quick3d/quick3drender/items/quick3dtexture.cpp index ea0ac3f41..9c528996c 100644 --- a/src/quick3d/quick3drender/items/quick3dtexture.cpp +++ b/src/quick3d/quick3drender/items/quick3dtexture.cpp @@ -85,10 +85,11 @@ int Quick3DTextureExtension::textureImageCount(QQmlListProperty<QAbstractTexture void Quick3DTextureExtension::clearTextureImageList(QQmlListProperty<QAbstractTextureImage> *list) { - Quick3DTextureExtension *self = qobject_cast<Quick3DTextureExtension *>(list->object); - if (self) - Q_FOREACH (QAbstractTextureImage *img, self->parentTexture()->textureImages()) + if (Quick3DTextureExtension *self = qobject_cast<Quick3DTextureExtension *>(list->object)) { + const auto images = self->parentTexture()->textureImages(); + for (QAbstractTextureImage *img : images) self->parentTexture()->removeTextureImage(img); + } } } // namespace Quick |