diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-13 00:28:14 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-13 08:28:27 +0200 |
commit | ae745746a666134d9e9258b8c2ff00540624d835 (patch) | |
tree | 8294fffa3d752d61f79004fb04e21e927472fd8f /src/quick/items/qquickanimatedimage.cpp | |
parent | a7b383ab989e74ef552c2ef9c38377e065f1ab0e (diff) | |
parent | 531d00c1909527cb1bc28f17197267ccde408b0c (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
src/qml/jsapi/qjsengine.cpp
src/qml/qml/qqmlengine_p.h
src/quick/items/qquickanchors.cpp
src/quick/items/qquickanimatedimage_p_p.h
src/quick/items/qquickitem_p.h
tests/auto/qml/qqmlecmascript/testtypes.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
tests/benchmarks/qml/creation/tst_creation.cpp
Change-Id: I65861e32f16e8a04c7090a90231627e1ebf6ba6f
Diffstat (limited to 'src/quick/items/qquickanimatedimage.cpp')
-rw-r--r-- | src/quick/items/qquickanimatedimage.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/quick/items/qquickanimatedimage.cpp b/src/quick/items/qquickanimatedimage.cpp index 42033b6135..6f14bf15fe 100644 --- a/src/quick/items/qquickanimatedimage.cpp +++ b/src/quick/items/qquickanimatedimage.cpp @@ -306,8 +306,9 @@ void QQuickAnimatedImage::load() d->status = Null; emit statusChanged(d->status); - if (sourceSize() != d->oldSourceSize) { - d->oldSourceSize = sourceSize(); + d->currentSourceSize = QSize(0, 0); + if (d->currentSourceSize != d->oldSourceSize) { + d->oldSourceSize = d->currentSourceSize; emit sourceSizeChanged(); } if (isPlaying() != d->oldPlaying) @@ -383,8 +384,9 @@ void QQuickAnimatedImage::movieRequestFinished() d->status = Error; emit statusChanged(d->status); - if (sourceSize() != d->oldSourceSize) { - d->oldSourceSize = sourceSize(); + d->currentSourceSize = QSize(0, 0); + if (d->currentSourceSize != d->oldSourceSize) { + d->oldSourceSize = d->currentSourceSize; emit sourceSizeChanged(); } if (isPlaying() != d->oldPlaying) @@ -421,8 +423,14 @@ void QQuickAnimatedImage::movieRequestFinished() if (isPlaying() != d->oldPlaying) emit playingChanged(); - if (sourceSize() != d->oldSourceSize) { - d->oldSourceSize = sourceSize(); + + if (d->_movie) + d->currentSourceSize = d->_movie->currentPixmap().size(); + else + d->currentSourceSize = QSize(0, 0); + + if (d->currentSourceSize != d->oldSourceSize) { + d->oldSourceSize = d->currentSourceSize; emit sourceSizeChanged(); } } @@ -475,9 +483,7 @@ void QQuickAnimatedImage::onCacheChanged() QSize QQuickAnimatedImage::sourceSize() { Q_D(QQuickAnimatedImage); - if (!d->_movie) - return QSize(0, 0); - return QSize(d->_movie->currentPixmap().size()); + return d->currentSourceSize; } void QQuickAnimatedImage::componentComplete() |