Bug 1165009 - Bail in RasterImage::OnAddedFrame if we hit an error during decoding. r=tn, a=lizzard
--- a/image/src/RasterImage.cpp
+++ b/image/src/RasterImage.cpp
@@ -930,16 +930,20 @@ RasterImage::OnAddedFrame(uint32_t aNewF
NS_DispatchToMainThread(runnable);
return;
}
MOZ_ASSERT((mFrameCount == 1 && aNewFrameCount == 1) ||
mFrameCount < aNewFrameCount,
"Frame count running backwards");
+ if (mError) {
+ return; // We're in an error state, possibly due to OOM. Bail.
+ }
+
if (aNewFrameCount > mFrameCount) {
mFrameCount = aNewFrameCount;
if (aNewFrameCount == 2) {
// We're becoming animated, so initialize animation stuff.
MOZ_ASSERT(!mAnim, "Already have animation state?");
mAnim = MakeUnique<FrameAnimator>(this, mSize, mAnimationMode);