diff options
author | Antti Määttä <antti.maatta@qt.io> | 2021-04-06 13:44:07 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2021-04-06 15:27:54 +0300 |
commit | f9835763becd76e9423396c8c2c793fe99aa3877 (patch) | |
tree | f9d43bb168625981167b216cf09612edf0599163 | |
parent | d10bfe6d92702a4f9f79850b285c8e468a800f68 (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.cpp | 11 | ||||
-rw-r--r-- | src/runtime/Qt3DSElementSystem.h | 20 |
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(); |