--- a/webengine/wmlengine/src/image/src/Epoc32SimpleImage.cpp Fri Jul 03 15:54:40 2009 +0100
+++ b/webengine/wmlengine/src/image/src/Epoc32SimpleImage.cpp Thu Aug 27 07:44:59 2009 +0300
@@ -367,9 +367,11 @@
/* If there is a decoder, then the image needs to be decoded before displaying
* if not done already, or if "needsDecode" (animated image has moved on to
- * next frame).
+ * next frame). Also, image is to be decoded based on the state of the decoder
*/
- if (decoder != NULL && (thisObj->bitmap == NULL || thisObj->needsDecode))
+ if (decoder != NULL && (thisObj->bitmap == NULL || thisObj->needsDecode ||
+ (decoder->getDecoderState() != CEpoc32ImageDecoder::ID_DECODE_COMPLETE)&&
+ (decoder->getDecoderState() != CEpoc32ImageDecoder::ID_DECODING)))
{
decoder->Decode();
}