From 6df7098d89cf4a2eec35fe1362d354c91eb7a4ef Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Thu, 26 Nov 2020 17:33:53 +0100 Subject: Only set the state flag after having merged with the other states Pick-to: 6.0 6.0.0 5.15 Change-Id: Ic7a0a2cccb2b131eec7fca3cf7324109b4d22b6b Reviewed-by: Mike Krus --- src/render/renderstates/renderstateset.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/render/renderstates/renderstateset.cpp b/src/render/renderstates/renderstateset.cpp index 1d0dce4c8..a49b4e464 100644 --- a/src/render/renderstates/renderstateset.cpp +++ b/src/render/renderstates/renderstateset.cpp @@ -104,7 +104,6 @@ StateMaskSet RenderStateSet::stateMask() const // if we don't already contain a state with that type set void RenderStateSet::merge(const RenderStateSet *other) { - m_stateMask |= other->stateMask(); const std::vector &otherStates = other->states(); // We only add states which are new (different type) @@ -113,6 +112,7 @@ void RenderStateSet::merge(const RenderStateSet *other) if (canAdd) m_states.push_back(otherState); } + m_stateMask |= other->stateMask(); } bool RenderStateSet::canAddStateOfType(StateMask type) const -- cgit v1.2.3