aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp
diff options
context:
space:
mode:
authorTim Angus <tim@ngus.net>2023-09-26 17:22:38 +0000
committerTim Angus <tim@ngus.net>2023-12-21 11:27:27 +0000
commit321110041143065a6939b157a0e85510ec5a0841 (patch)
treeeb68db08ffb54762291d40b2173cc7da1d721e6b /src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp
parentebe3600fbdea1ba97833fb72f0fdc8e0bf38a180 (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.cpp13
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