diff --git a/mozilla/modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp b/mozilla/modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp index f8e2ff512c8..f33cba38ac4 100644 --- a/mozilla/modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp +++ b/mozilla/modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp @@ -103,6 +103,8 @@ NS_IMETHODIMP nsBMPDecoder::Init(imgILoad *aLoad) NS_IMETHODIMP nsBMPDecoder::Close() { PR_LOG(gBMPLog, PR_LOG_DEBUG, ("nsBMPDecoder::Close()\n")); + + mImage->DecodingComplete(); if (mObserver) { mObserver->OnStopFrame(nsnull, mFrame); mObserver->OnStopContainer(nsnull, mImage); @@ -116,7 +118,6 @@ NS_IMETHODIMP nsBMPDecoder::Close() NS_IMETHODIMP nsBMPDecoder::Flush() { - mFrame->SetMutable(PR_FALSE); return NS_OK; } diff --git a/mozilla/modules/libpr0n/decoders/bmp/nsICODecoder.cpp b/mozilla/modules/libpr0n/decoders/bmp/nsICODecoder.cpp index dacec0a1ab0..6cbc06fef63 100644 --- a/mozilla/modules/libpr0n/decoders/bmp/nsICODecoder.cpp +++ b/mozilla/modules/libpr0n/decoders/bmp/nsICODecoder.cpp @@ -113,6 +113,8 @@ NS_IMETHODIMP nsICODecoder::Close() if (img) img->ImageUpdated(nsnull, nsImageUpdateFlags_kBitsChanged, &r); + mImage->DecodingComplete(); + if (mObserver) { mObserver->OnDataAvailable(nsnull, mFrame, &r); mObserver->OnStopFrame(nsnull, mFrame); diff --git a/mozilla/modules/libpr0n/decoders/icon/nsIconDecoder.cpp b/mozilla/modules/libpr0n/decoders/icon/nsIconDecoder.cpp index cc28063d624..43dda6067e0 100644 --- a/mozilla/modules/libpr0n/decoders/icon/nsIconDecoder.cpp +++ b/mozilla/modules/libpr0n/decoders/icon/nsIconDecoder.cpp @@ -84,6 +84,8 @@ NS_IMETHODIMP nsIconDecoder::Init(imgILoad *aLoad) NS_IMETHODIMP nsIconDecoder::Close() { + mImage->DecodingComplete(); + if (mObserver) { mObserver->OnStopFrame(nsnull, mFrame); @@ -96,7 +98,7 @@ NS_IMETHODIMP nsIconDecoder::Close() NS_IMETHODIMP nsIconDecoder::Flush() { - return NS_ERROR_NOT_IMPLEMENTED; + return NS_OK; } NS_IMETHODIMP nsIconDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PRUint32 *_retval) diff --git a/mozilla/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp b/mozilla/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp index 538ce5efc79..d741b0d7386 100644 --- a/mozilla/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp +++ b/mozilla/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp @@ -100,6 +100,8 @@ NS_IMETHODIMP nsXBMDecoder::Init(imgILoad *aLoad) NS_IMETHODIMP nsXBMDecoder::Close() { + mImage->DecodingComplete(); + mObserver->OnStopContainer(nsnull, mImage); mObserver->OnStopDecode(nsnull, NS_OK, nsnull); mObserver = nsnull; @@ -112,7 +114,6 @@ NS_IMETHODIMP nsXBMDecoder::Close() NS_IMETHODIMP nsXBMDecoder::Flush() { - mFrame->SetMutable(PR_FALSE); return NS_OK; }