diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-07-17 12:43:47 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-07-18 10:29:32 +0200 |
commit | a7ca5cdec02ce67e28dacd0e6e2e5d666d872dcd (patch) | |
tree | 901f86fbb675c6b1c494697e781e1bb46a7bb91a /src/render/renderstates | |
parent | b63aaf574c6b4b5a40e2f137f077c694bcf79ae0 (diff) |
RenderStates: fix override of nested RenderStates
When merging states, make sure we don't add several states of the same types
with possibly different values. We should only add states with type we don't
already have.
Since the FG traversal is done from leaf to root, we know that the states we
already contain should override any state that may have been specified higher
up in the FG branch.
Change-Id: I9bd1eadd37e8addf740a4b85b2318f9be269fedb
Task-number: QTBUG-76766
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderstates')
-rw-r--r-- | src/render/renderstates/genericstate_p.h | 2 | ||||
-rw-r--r-- | src/render/renderstates/renderstatenode_p.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/render/renderstates/genericstate_p.h b/src/render/renderstates/genericstate_p.h index 69c3dee15..b07487d65 100644 --- a/src/render/renderstates/genericstate_p.h +++ b/src/render/renderstates/genericstate_p.h @@ -96,7 +96,7 @@ public: bool equalTo(const RenderStateImpl &renderState) const override { const GenericState *other = static_cast<const GenericState*>(&renderState); - return (other != NULL && other->m_values == m_values); + return (other != nullptr && other->m_values == m_values); } StateMask mask() const override diff --git a/src/render/renderstates/renderstatenode_p.h b/src/render/renderstates/renderstatenode_p.h index 886bb0c95..277b8a7c8 100644 --- a/src/render/renderstates/renderstatenode_p.h +++ b/src/render/renderstates/renderstatenode_p.h @@ -65,7 +65,7 @@ public: void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) override; - StateMaskSet mask() const { return m_impl.type; } + StateMask type() const { return m_impl.type; } StateVariant impl() const { return m_impl; } protected: |