1--- libmng_data.h.orig	2007-04-20 10:41:58.000000000 +0200
2+++ libmng_data.h	2007-07-14 00:00:00.000000000 +0200
3@@ -658,6 +658,9 @@
4            mng_int32         iFrameclipb;
5
6            mng_uint32        iNextdelay;         /* delay *after* next image */
7+
8+           mng_bool          bForcedelay;
9+           mng_uint32        iAccumdelay;
10 #endif
11
12 #ifndef MNG_SKIPCHUNK_SHOW
13--- libmng_display.c.orig	2007-04-20 10:41:58.000000000 +0200
14+++ libmng_display.c	2007-07-14 00:00:00.000000000 +0200
15@@ -384,8 +384,9 @@
16
17   {
18 #ifndef MNG_SKIPCHUNK_FRAM
19-    if (pData->iFramedelay > 0)        /* real delay ? */
20+    if (pData->iFramedelay > 0 || pData->bForcedelay) /* real delay ? */
21     {                                  /* let the app refresh first ? */
22+      pData->bForcedelay = MNG_FALSE;
23       if ((pData->bRunning) && (!pData->bSkipping) &&
24           (pData->iUpdatetop < pData->iUpdatebottom) && (pData->iUpdateleft < pData->iUpdateright))
25         if (!pData->fRefresh (((mng_handle)pData),
26@@ -455,6 +456,7 @@
27       pData->iFrametime = pData->iFrametime + iWaitfor;
28                                        /* setup for next delay */
29     pData->iFramedelay = pData->iNextdelay;
30+    pData->iAccumdelay += pData->iFramedelay;
31 #endif
32   }
33
34@@ -3340,6 +3342,9 @@
35   MNG_TRACE (pData, MNG_FN_PROCESS_DISPLAY_MEND, MNG_LC_START);
36 #endif
37
38+  pData->bForcedelay = pData->iAccumdelay ? MNG_FALSE : MNG_TRUE;
39+  pData->iAccumdelay = 0;
40+
41 #ifdef MNG_SUPPORT_DYNAMICMNG
42   if (pData->bStopafterseek)           /* need to stop after this ? */
43   {
44--- libmng_hlapi.c.orig	2007-07-06 18:23:04.000000000 +0200
45+++ libmng_hlapi.c	2007-07-14 00:00:00.000000000 +0200
46@@ -446,6 +446,9 @@
47   pData->iFrameclipb           = 0;
48
49   pData->iNextdelay            = 1;
50+
51+  pData->bForcedelay           = MNG_FALSE;
52+  pData->iAccumdelay           = 0;
53 #endif
54
55 #ifndef MNG_SKIPCHUNK_SHOW
56@@ -1737,6 +1740,9 @@
57   pData->iFrameclipb           = 0;
58
59   pData->iNextdelay            = 1;
60+
61+  pData->bForcedelay           = MNG_FALSE;
62+  pData->iAccumdelay           = 0;
63 #endif
64
65 #ifndef MNG_SKIPCHUNK_SHOW
66