diff options
author | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-03-19 09:20:55 +0100 |
---|---|---|
committer | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-03-19 09:21:43 +0100 |
commit | 1b8090c238b44d1811b9716e1c9c348f05371e16 (patch) | |
tree | 55f4cc8f689a2e2708a062e877681bbbd3014510 /src | |
parent | 3e7042fb70597150a137e2e449b67e759d45c3fe (diff) | |
parent | 313d60c107d9659efd5e93ba5a036054f6b1ebba (diff) | |
download | qtimageformats-1b8090c238b44d1811b9716e1c9c348f05371e16.tar.gz |
Merge branch 'dev' into stable
This starts Qt 5.1 release cycle
Change-Id: I2fc10bd848450dd3102e8525ba226ce3aa027cdd
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/imageformats/mng/qmnghandler.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/imageformats/mng/qmnghandler.cpp b/src/plugins/imageformats/mng/qmnghandler.cpp index 395a783..1ee3bbd 100644 --- a/src/plugins/imageformats/mng/qmnghandler.cpp +++ b/src/plugins/imageformats/mng/qmnghandler.cpp @@ -263,6 +263,7 @@ mng_bool QMngHandlerPrivate::processHeader(mng_uint32 iWidth, mng_uint32 iHeight bool QMngHandlerPrivate::getNextImage(QImage *result) { mng_retcode ret; + const bool savedHaveReadAll = haveReadAll; if (haveReadNone) { haveReadNone = false; ret = mng_readdisplay(hMNG); @@ -271,6 +272,13 @@ bool QMngHandlerPrivate::getNextImage(QImage *result) } if ((MNG_NOERROR == ret) || (MNG_NEEDTIMERWAIT == ret)) { *result = image; + + // QTBUG-28894 -- libmng produces an extra frame at the end + // of the animation on the first loop only. + if (nextDelay == 1 && (!savedHaveReadAll && haveReadAll)) { + ret = mng_display_resume(hMNG); + } + frameIndex = nextIndex++; if (haveReadAll && (frameCount == 0)) frameCount = nextIndex; |