From 80ffba5a9ea1ca60a097aac6ce0ad4ce2d5a2f70 Mon Sep 17 00:00:00 2001 From: Ethan Lin Date: Mon, 7 Aug 2017 10:10:58 +0800 Subject: [PATCH] Bug 1387455 - Add nullptr check for the draw target in WebRenderLayerManager::GenerateFallbackData. r=kats MozReview-Commit-ID: Dk8WiqOmA1y --HG-- extra : rebase_source : 91f66b56b70e7cf6401baed1a84fa63bc422dc8b --- gfx/layers/wr/WebRenderLayerManager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp index bd98b1f81372..83d56ce8c182 100644 --- a/gfx/layers/wr/WebRenderLayerManager.cpp +++ b/gfx/layers/wr/WebRenderLayerManager.cpp @@ -378,6 +378,8 @@ PaintItemByDrawTarget(nsDisplayItem* aItem, const LayerPoint& aOffset, nsDisplayListBuilder* aDisplayListBuilder) { + MOZ_ASSERT(aDT); + aDT->ClearRect(aImageRect.ToUnknownRect()); RefPtr context = gfxContext::CreateOrNull(aDT, aOffset.ToUnknownPoint()); MOZ_ASSERT(context); @@ -483,6 +485,9 @@ WebRenderLayerManager::GenerateFallbackData(nsDisplayItem* aItem, UpdateImageHelper helper(imageContainer, imageClient, imageSize.ToUnknownSize(), format); { RefPtr dt = helper.GetDrawTarget(); + if (!dt) { + return nullptr; + } PaintItemByDrawTarget(aItem, dt, aImageRect, aOffset, aDisplayListBuilder); } if (!helper.UpdateImage()) {