Bug 1323837 - Draw nothing if there are no color stops for gradient effect, r?bas
MozReview-Commit-ID: BnZlh2NhdHX
--- a/gfx/2d/DrawTargetD2D1.cpp
+++ b/gfx/2d/DrawTargetD2D1.cpp
@@ -1375,16 +1375,21 @@ DrawTargetD2D1::FinalizeDrawing(Composit
}
const RadialGradientPattern *pat = static_cast<const RadialGradientPattern*>(&aPattern);
if (pat->mCenter1 == pat->mCenter2 && pat->mRadius1 == pat->mRadius2) {
// Draw nothing!
return;
}
+ if (!pat->mStops) {
+ // Draw nothing because of no color stops
+ return;
+ }
+
RefPtr<ID2D1Effect> radialGradientEffect;
HRESULT hr = mDC->CreateEffect(CLSID_RadialGradientEffect, getter_AddRefs(radialGradientEffect));
if (FAILED(hr) || !radialGradientEffect) {
gfxWarning() << "Failed to create radial gradient effect. Code: " << hexa(hr);
return;
}