diff options
-rw-r--r-- | src/render/shadergraph/qshadernode.cpp | 3 | ||||
-rw-r--r-- | tests/auto/render/shadergraph/qshadernodes/tst_qshadernodes.cpp | 4 |
2 files changed, 4 insertions, 3 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; diff --git a/tests/auto/render/shadergraph/qshadernodes/tst_qshadernodes.cpp b/tests/auto/render/shadergraph/qshadernodes/tst_qshadernodes.cpp index c0023049f..6409b7136 100644 --- a/tests/auto/render/shadergraph/qshadernodes/tst_qshadernodes.cpp +++ b/tests/auto/render/shadergraph/qshadernodes/tst_qshadernodes.cpp @@ -540,8 +540,8 @@ void tst_QShaderNodes::shouldHandleNodeRulesSupportAndOrder() QCOMPARE(node.availableFormats().at(2), openGL3); QCOMPARE(node.rule(openGLES2), es2Rule); QCOMPARE(node.rule(openGL3), gl3bisRule); - QCOMPARE(node.rule(openGL32), gl3bisRule); - QCOMPARE(node.rule(openGL4), gl3bisRule); + QCOMPARE(node.rule(openGL32), gl32Rule); + QCOMPARE(node.rule(openGL4), gl32Rule); } QTEST_MAIN(tst_QShaderNodes) |