From f9835763becd76e9423396c8c2c793fe99aa3877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Tue, 6 Apr 2021 13:44:07 +0300 Subject: Revert "Fix component visibility when changing slides" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduces regression for QT3DS-4214 This reverts commit 9c62fa3b6190991e7594da9a4d8b39e3ff8b5c2f. Change-Id: I7ce2be5369720d20b75ddd1d311dc29ab536112c Reviewed-by: Tony Leinonen Reviewed-by: Tomi Korpipää --- src/runtime/Qt3DSComponentManager.cpp | 11 ++++++----- 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(); -- cgit v1.2.3