summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runtime/Qt3DSComponentManager.cpp12
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);