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.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/runtime/Qt3DSComponentManager.cpp b/src/runtime/Qt3DSComponentManager.cpp
index 38eeeac..03c7b2c 100644
--- a/src/runtime/Qt3DSComponentManager.cpp
+++ b/src/runtime/Qt3DSComponentManager.cpp
@@ -388,9 +388,17 @@ void CComponentManager::GoToTime(TElement *inComponent, const TTimeUnit inTime)
return;
}
- SetupComponentGotoTimeCommand(inComponent, inTime);
- m_Presentation.GetActivityZone()->GoToTime(*inComponent, inTime);
+ TTimeUnit endTime = 0;
+ TComponent *component = static_cast<TComponent *>(inComponent);
+ endTime = component->GetTimePolicy().GetLoopingDuration();
+
+ // Normalize the value to dataInput range
+ qreal newTime = qreal(endTime) * (qreal(inTime) / 1000.0);
+
+ SetupComponentGotoTimeCommand(inComponent, newTime);
+ m_Presentation.GetActivityZone()->GoToTime(*inComponent, newTime);
inComponent->SetDirty();
+
}
//==============================================================================