diff options
Diffstat (limited to 'src/runtime/Qt3DSComponentManager.cpp')
-rw-r--r-- | src/runtime/Qt3DSComponentManager.cpp | 12 |
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(); + } //============================================================================== |