diff options
-rw-r--r-- | src/quick/items/qquickanimatedsprite.cpp | 9 | ||||
-rw-r--r-- | src/quick/items/qquickanimatedsprite_p.h | 9 | ||||
-rw-r--r-- | tests/auto/quick/qquickanimatedsprite/qquickanimatedsprite.pro | 1 |
3 files changed, 11 insertions, 8 deletions
diff --git a/src/quick/items/qquickanimatedsprite.cpp b/src/quick/items/qquickanimatedsprite.cpp index acb38863be..79a8d007c7 100644 --- a/src/quick/items/qquickanimatedsprite.cpp +++ b/src/quick/items/qquickanimatedsprite.cpp @@ -400,7 +400,8 @@ void QQuickAnimatedSprite::componentComplete() void QQuickAnimatedSprite::start() { - if (m_running) + m_running = true; + if (!isComponentComplete()) return; m_curLoop = 0; m_timestamp.start(); @@ -409,16 +410,16 @@ void QQuickAnimatedSprite::start() m_spriteEngine->updateSprites(0); m_spriteEngine->start(0); } - m_running = true; + emit currentFrameChanged(0); emit runningChanged(true); update(); } void QQuickAnimatedSprite::stop() { - if (!m_running) - return; m_running = false; + if (!isComponentComplete()) + return; m_pauseOffset = 0; emit runningChanged(false); } diff --git a/src/quick/items/qquickanimatedsprite_p.h b/src/quick/items/qquickanimatedsprite_p.h index 4d9c008c36..0e5ccc2244 100644 --- a/src/quick/items/qquickanimatedsprite_p.h +++ b/src/quick/items/qquickanimatedsprite_p.h @@ -250,7 +250,8 @@ public slots: if (m_sprite->m_frameSync != arg) { m_sprite->setFrameSync(arg); emit frameSyncChanged(arg); - restart(); + if (m_running) + restart(); } } @@ -304,7 +305,8 @@ public slots: if (m_sprite->m_frameRate != arg) { m_sprite->setFrameRate(arg); emit frameRateChanged(arg); - restart(); + if (m_running) + restart(); } } @@ -313,7 +315,8 @@ public slots: if (m_sprite->m_frameDuration != arg) { m_sprite->setFrameDuration(arg); emit frameDurationChanged(arg); - restart(); + if (m_running) + restart(); } } diff --git a/tests/auto/quick/qquickanimatedsprite/qquickanimatedsprite.pro b/tests/auto/quick/qquickanimatedsprite/qquickanimatedsprite.pro index 9176362ab6..04298673b6 100644 --- a/tests/auto/quick/qquickanimatedsprite/qquickanimatedsprite.pro +++ b/tests/auto/quick/qquickanimatedsprite/qquickanimatedsprite.pro @@ -11,4 +11,3 @@ TESTDATA = data/* CONFIG += parallel_test QT += core-private gui-private qml-private quick-private network testlib -CONFIG += insignificant_test |