diff options
author | Christian Strømme <christian.stromme@qt.io> | 2018-02-19 15:21:29 +0100 |
---|---|---|
committer | Christian Stromme <christian.stromme@qt.io> | 2018-02-19 15:18:37 +0000 |
commit | a75b41d845858b0b96783236c85ca289e9f06f00 (patch) | |
tree | 8ea32dcf8867deaa21b7291552eafca058851721 /src/runtime/q3dsslideplayer_p.h | |
parent | d60811d68376fcf58e66739c24bfe8cb72bcb2a5 (diff) |
Fix handling of StopAtEnd in the slide player
The player made a distinction between "stopped" and "paused", assuming
that stop meant that the animations would be reset to the starting
point. This differs from how runtime 1.0 handles stop and StopAtEnd.
In addition to stop having different meaning, we would not properly
reset the animatables values to their initial values, as the values
from seeking and the rollback values could be update in the wrong
order, so we now do a forced reset when stop is called, to avoid getting
stale values from Qt3d.
Task-number: QT3DS-1145
Change-Id: I3c1cca6648faf3ede4bbed46189fe6bade4dff65
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/runtime/q3dsslideplayer_p.h')
-rw-r--r-- | src/runtime/q3dsslideplayer_p.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/runtime/q3dsslideplayer_p.h b/src/runtime/q3dsslideplayer_p.h index 3984d69..6d14ca8 100644 --- a/src/runtime/q3dsslideplayer_p.h +++ b/src/runtime/q3dsslideplayer_p.h @@ -130,7 +130,9 @@ private: void onDurationChanged(float duration); Q_INVOKABLE void onSlideFinished(void *slide); - void handleCurrentSlideChanged(Q3DSSlide *slide, Q3DSSlide *previousSlide); + void handleCurrentSlideChanged(Q3DSSlide *slide, + Q3DSSlide *previousSlide, + bool forceUpdate = false); // TODO: Move out to a "slide manager"? void updateSlideVisibility(Q3DSSlide *slide, bool visible); |