summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2021-07-29 12:45:16 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-07-29 13:37:03 +0000
commitd933fb3db7431b2b4fc2089480756848161259af (patch)
tree458d3d5000147bbf0d6330e7298c1697b0ef4fc5 /src
parent187076d19a776320814f80cd7a24ee64001cb54e (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 Change-Id: I47af898ee0d82e91009efccf1dca9937feaca717 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 21168905a7eda8806543b490a0fae5a5a0ec7cad) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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;