summaryrefslogtreecommitdiffstats
path: root/src/runtime/Qt3DSComponentManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/Qt3DSComponentManager.cpp')
-rw-r--r--src/runtime/Qt3DSComponentManager.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/runtime/Qt3DSComponentManager.cpp b/src/runtime/Qt3DSComponentManager.cpp
index 8849b5b..1700222 100644
--- a/src/runtime/Qt3DSComponentManager.cpp
+++ b/src/runtime/Qt3DSComponentManager.cpp
@@ -100,7 +100,13 @@ void CComponentManager::GotoSlideIndex(TElement *inComponent,
const UINT8 theCurrentSlideIndex = theComponent->GetCurrentSlide();
- QString elementPath = QString::fromUtf8(inComponent->m_Path.c_str());
+ QString elementPath;
+ // Primary presentation stores elementpaths with subpresentation prefix.
+ // Prepend it here so that slide change notification is directed at a correct elementpath.
+ if (&m_Presentation != m_Presentation.GetApplication().GetPrimaryPresentation())
+ elementPath = m_Presentation.GetName() + QLatin1Char(':');
+
+ elementPath.append(QString::fromUtf8(inComponent->m_Path.c_str()));
if (inSlideExit) {
SEventCommand theEvent = { inComponent, EVENT_ONSLIDEEXIT };