diff options
| author | Tim Angus <tim@ngus.net> | 2023-09-26 17:22:38 +0000 |
|---|---|---|
| committer | Tim Angus <tim@ngus.net> | 2023-12-21 11:27:27 +0000 |
| commit | 321110041143065a6939b157a0e85510ec5a0841 (patch) | |
| tree | eb68db08ffb54762291d40b2173cc7da1d721e6b /src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp | |
| parent | ebe3600fbdea1ba97833fb72f0fdc8e0bf38a180 (diff) | |
Fix BusyIndicator invisibility under Fusion style
When an initially invisible BusyIndicator is first made visible under
the Fusion style, it does not in actuality become visible. This is
because the QQuickFusionBusyIndicator::itemChange() function ignores
ItemVisibleHasChanged, so the appropriate actions don't take place. The
fix is a partial copy and paste of
QQuickMaterialBusyIndicator::itemChange's implementation which has
identical logic except for calling the appropriate ::itemChange() super
function.
Task-number: QTBUG-108808
Pick-to: 6.7 6.6 6.5
Change-Id: Id92c62a1eef4fc278ab91097f04db5b41a5d2c8a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp')
| -rw-r--r-- | src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp b/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp index cce69b0e4b..8e58b09ed3 100644 --- a/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp +++ b/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp @@ -71,8 +71,17 @@ void QQuickFusionBusyIndicator::itemChange(ItemChange change, const ItemChangeDa { QQuickPaintedItem::itemChange(change, data); - if (change == ItemOpacityHasChanged && qFuzzyIsNull(data.realValue)) - setVisible(false); + switch (change) { + case ItemOpacityHasChanged: + if (qFuzzyIsNull(data.realValue)) + setVisible(false); + break; + case ItemVisibleHasChanged: + update(); + break; + default: + break; + } } QT_END_NAMESPACE |
