Bug 1413082 - Check both STATUS_LOAD_COMPLETE and STATUS_ERROR before getting the image container in nsImageFrame. r=mattwoodrow draft
authorEthan Lin <ethlin@mozilla.com>
Wed, 01 Nov 2017 14:54:17 +0800
changeset 689913 6d634bc17a052100908e34eb236ffd7a031057d8
parent 689081 083a9c84fbd09a6ff9bfecabbf773650842fe1c0
child 738428 0e6b75f51bf7139889c2e7cf4682c62ea20d1441
push id87146
push userbmo:ethlin@mozilla.com
push dateWed, 01 Nov 2017 06:55:27 +0000
reviewersmattwoodrow
bugs1413082
milestone58.0a1
Bug 1413082 - Check both STATUS_LOAD_COMPLETE and STATUS_ERROR before getting the image container in nsImageFrame. r=mattwoodrow MozReview-Commit-ID: H5pTpJVG33p
layout/generic/nsImageFrame.cpp
--- a/layout/generic/nsImageFrame.cpp
+++ b/layout/generic/nsImageFrame.cpp
@@ -1438,17 +1438,18 @@ nsImageFrame::DisplayAltFeedback(gfxCont
     WritingMode wm = GetWritingMode();
     bool flushRight =
       (!wm.IsVertical() && !wm.IsBidiLTR()) || wm.IsVerticalRL();
 
     // If the icon in question is loaded, draw it.
     uint32_t imageStatus = 0;
     if (request)
       request->GetImageStatus(&imageStatus);
-    if (imageStatus & imgIRequest::STATUS_LOAD_COMPLETE) {
+    if (imageStatus & imgIRequest::STATUS_LOAD_COMPLETE &&
+        !(imageStatus & imgIRequest::STATUS_ERROR)) {
       nsCOMPtr<imgIContainer> imgCon;
       request->GetImage(getter_AddRefs(imgCon));
       MOZ_ASSERT(imgCon, "Load complete, but no image container?");
       nsRect dest(flushRight ? inner.XMost() - size : inner.x,
                   inner.y, size, size);
       result = nsLayoutUtils::DrawSingleImage(aRenderingContext, PresContext(), imgCon,
         nsLayoutUtils::GetSamplingFilterForFrame(this), dest, aDirtyRect,
         /* no SVGImageContext */ Nothing(), aFlags);