summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2021-04-06 13:44:07 +0300
committerAntti Määttä <antti.maatta@qt.io>2021-04-06 15:27:54 +0300
commitf9835763becd76e9423396c8c2c793fe99aa3877 (patch)
treef9d43bb168625981167b216cf09612edf0599163
parentd10bfe6d92702a4f9f79850b285c8e468a800f68 (diff)
Revert "Fix component visibility when changing slides"
Introduces regression for QT3DS-4214 This reverts commit 9c62fa3b6190991e7594da9a4d8b39e3ff8b5c2f. Change-Id: I7ce2be5369720d20b75ddd1d311dc29ab536112c Reviewed-by: Tony Leinonen <tony.leinonen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--src/runtime/Qt3DSComponentManager.cpp11
-rw-r--r--src/runtime/Qt3DSElementSystem.h20
2 files changed, 6 insertions, 25 deletions
diff --git a/src/runtime/Qt3DSComponentManager.cpp b/src/runtime/Qt3DSComponentManager.cpp
index 68e6ecd..f20176b 100644
--- a/src/runtime/Qt3DSComponentManager.cpp
+++ b/src/runtime/Qt3DSComponentManager.cpp
@@ -85,11 +85,12 @@ void CComponentManager::GotoSlideIndex(TElement *inComponent,
return;
}
- if (!theComponent->GetActive() || !theComponent->IsExplicitActive()
- || !theComponent->areAllParentsActive()) {
- // When (becoming) not active, don't proceed slide switching
- m_ComponentInitialSlideMap[inComponent] = inGotoData;
- return;
+ if (!theComponent->IsAnyParentAboutToActivate()) {
+ if (!theComponent->GetActive() || theComponent->AboutToDeactivate()) {
+ // When (becoming) not active, don't proceed slide switching
+ m_ComponentInitialSlideMap[inComponent] = inGotoData;
+ return;
+ }
}
SComponentGotoSlideData theGotoSlideData(inGotoData);
diff --git a/src/runtime/Qt3DSElementSystem.h b/src/runtime/Qt3DSElementSystem.h
index 2632d9d..22cf66c 100644
--- a/src/runtime/Qt3DSElementSystem.h
+++ b/src/runtime/Qt3DSElementSystem.h
@@ -477,26 +477,6 @@ namespace runtime {
return !IsExplicitActive();
}
- bool areAllParentsActive()
- {
- SElement *parent = GetParent();
- if (parent) {
- bool isActive = parent->GetActive();
- if (!isActive)
- isActive = parent->AboutToActivate();
- if (Depth() > 2) {
- if (isActive)
- isActive = parent->areAllParentsActive();
- } else {
- return true;
- }
- return isActive;
- } else {
- return true;
- }
- return false;
- }
-
bool IsAnyParentAboutToActivate()
{
SElement *parent = GetParent();