diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-04-25 10:20:22 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-04-25 19:39:48 +0200 |
commit | 762938aa5d7546fb097ca3799d97e3b826c7c0c8 (patch) | |
tree | f7495997067dbf126f6e8743dfe55d90f7373af6 /src/quick/util/qquickstategroup.cpp | |
parent | 759090f59140d0b38c7bd57480ea6cd93d4cf0d3 (diff) |
Generalize QQmlAbstractBinding::isValueTypeProxy()
Instead of a bool we can just return an enum of the actual kind. This
way all the checks become more readable. Furthermore, we can eliminate a
dynamic_cast without sacrificing readability.
Change-Id: I8a38687f9b796cd47196a6ab0385624c737e4435
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/quick/util/qquickstategroup.cpp')
-rw-r--r-- | src/quick/util/qquickstategroup.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/util/qquickstategroup.cpp b/src/quick/util/qquickstategroup.cpp index 951afd3e46..57491aa7f2 100644 --- a/src/quick/util/qquickstategroup.cpp +++ b/src/quick/util/qquickstategroup.cpp @@ -383,7 +383,9 @@ bool QQuickStateGroupPrivate::updateAutoState() // if there is a binding, the value in when might not be up-to-date at this point // so we manually re-evaluate the binding - if (auto binding = dynamic_cast<QQmlBinding *>(potentialWhenBinding.asAbstractBinding())) { + QQmlAbstractBinding *abstractBinding = potentialWhenBinding.asAbstractBinding(); + if (abstractBinding && abstractBinding->kind() == QQmlAbstractBinding::Binding) { + QQmlBinding *binding = static_cast<QQmlBinding *>(abstractBinding); if (binding->hasValidContext()) whenValue = binding->evaluate().toBool(); } |