From 02254bb9cf166d6719bb83e5a492963d612f4e63 Mon Sep 17 00:00:00 2001 From: Seth Fowler Date: Fri, 25 Jan 2013 18:39:11 -0800 Subject: [PATCH] Bug 820602 - Remove change to decoder notification behavior that causes AWSY leak. r=joe --- image/src/Decoder.cpp | 16 ++++------------ image/src/Decoder.h | 1 - 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/image/src/Decoder.cpp b/image/src/Decoder.cpp index 9add62f62478..3bcd9833850e 100644 --- a/image/src/Decoder.cpp +++ b/image/src/Decoder.cpp @@ -24,7 +24,6 @@ Decoder::Decoder(RasterImage &aImage, imgDecoderObserver* aObserver) , mSizeDecode(false) , mInFrame(false) , mIsAnimated(false) - , mFirstWrite(true) { } @@ -43,6 +42,10 @@ Decoder::Init() // No re-initializing NS_ABORT_IF_FALSE(!mInitialized, "Can't re-initialize a decoder!"); + // Fire OnStartDecode at init time to support bug 512435. + if (!IsSizeDecode() && mObserver) + mObserver->OnStartDecode(); + // Implementation-specific initialization InitInternal(); mInitialized = true; @@ -56,9 +59,6 @@ Decoder::InitSharedDecoder() // No re-initializing NS_ABORT_IF_FALSE(!mInitialized, "Can't re-initialize a decoder!"); - // Prevent duplicate notifications. - mFirstWrite = false; - // Implementation-specific initialization InitInternal(); mInitialized = true; @@ -71,14 +71,6 @@ Decoder::Write(const char* aBuffer, uint32_t aCount) NS_ABORT_IF_FALSE(!HasDecoderError(), "Not allowed to make more decoder calls after error!"); - // If this is our first write, fire OnStartDecode to support bug 512435. - if (mFirstWrite) { - if (!IsSizeDecode() && mObserver) - mObserver->OnStartDecode(); - - mFirstWrite = false; - } - // If a data error occured, just ignore future data if (HasDataError()) return; diff --git a/image/src/Decoder.h b/image/src/Decoder.h index 979408be4998..98c1f595d3de 100644 --- a/image/src/Decoder.h +++ b/image/src/Decoder.h @@ -192,7 +192,6 @@ private: bool mSizeDecode; bool mInFrame; bool mIsAnimated; - bool mFirstWrite; }; } // namespace image