diff options
-rw-r--r-- | src/runtime/Qt3DSComponentManager.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/runtime/Qt3DSComponentManager.cpp b/src/runtime/Qt3DSComponentManager.cpp index f20176b..2665c4a 100644 --- a/src/runtime/Qt3DSComponentManager.cpp +++ b/src/runtime/Qt3DSComponentManager.cpp @@ -85,12 +85,12 @@ void CComponentManager::GotoSlideIndex(TElement *inComponent, return; } - if (!theComponent->IsAnyParentAboutToActivate()) { - if (!theComponent->GetActive() || theComponent->AboutToDeactivate()) { - // When (becoming) not active, don't proceed slide switching - m_ComponentInitialSlideMap[inComponent] = inGotoData; - return; - } + // This check prevents slide changes to inactive components from activating the component children. + // Slide switch can proceed only if the component is actually active. + if (!theComponent->GetActive() || (theComponent->AboutToDeactivate() + && !theComponent->IsControlledActive())) { + m_ComponentInitialSlideMap[inComponent] = inGotoData; + return; } SComponentGotoSlideData theGotoSlideData(inGotoData); |