summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2021-07-29 12:45:16 +0200
committerPaul Lemire <paul.lemire@kdab.com>2021-07-29 14:24:52 +0200
commit21168905a7eda8806543b490a0fae5a5a0ec7cad (patch)
tree52e7f99a49f41ae2f0c12aa41e6669cfaeaea88c /src
parentdfed3541b736d52ed3693835be4b2ce86fbc1d52 (diff)
Fix for QShaderNode fix that selected highest version number of a rule
The rule selection still has to be made from last added rule to first so that format.support works correctly. - Update QShaderNode unit tests Pick-to: 6.2 6.1 5.15 Change-Id: I47af898ee0d82e91009efccf1dca9937feaca717 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/shadergraph/qshadernode.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/render/shadergraph/qshadernode.cpp b/src/render/shadergraph/qshadernode.cpp
index b95a77b04..b06b9c84e 100644
--- a/src/render/shadergraph/qshadernode.cpp
+++ b/src/render/shadergraph/qshadernode.cpp
@@ -153,7 +153,8 @@ QList<QShaderFormat> QShaderNode::availableFormats() const
QShaderNode::Rule QShaderNode::rule(const QShaderFormat &format) const
{
const QPair<QShaderFormat, Rule> *selected = nullptr;
- for (const auto &entry : qAsConst(m_rules)) {
+ for (auto it = m_rules.crbegin(); it != m_rules.crend(); ++it) {
+ const auto &entry = *it;
if (format.supports(entry.first)) {
if (!selected || entry.first.version() > selected->first.version())
selected = &entry;