From 16d9ae1433de07bfc1b3900135663c70de2c243a Mon Sep 17 00:00:00 2001 From: Nicolas Silva Date: Fri, 11 Apr 2014 18:48:10 +0200 Subject: [PATCH] Bug 994024 - Discard TextureClients that we failed to allocate or lock. r=bjacob --- gfx/layers/client/CanvasClient.cpp | 1 + gfx/layers/client/ImageClient.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/gfx/layers/client/CanvasClient.cpp b/gfx/layers/client/CanvasClient.cpp index 9eedd2f73786..8b940fa5da38 100644 --- a/gfx/layers/client/CanvasClient.cpp +++ b/gfx/layers/client/CanvasClient.cpp @@ -81,6 +81,7 @@ CanvasClient2D::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) } if (!mBuffer->Lock(OPEN_WRITE_ONLY)) { + mBuffer = nullptr; return; } diff --git a/gfx/layers/client/ImageClient.cpp b/gfx/layers/client/ImageClient.cpp index 274c86dc7a0f..f9637a8ae90b 100644 --- a/gfx/layers/client/ImageClient.cpp +++ b/gfx/layers/client/ImageClient.cpp @@ -176,6 +176,7 @@ ImageClientSingle::UpdateImageInternal(ImageContainer* aContainer, } if (!mFrontBuffer->Lock(OPEN_WRITE_ONLY)) { + mFrontBuffer = nullptr; return false; } bool status = mFrontBuffer->AsTextureClientYCbCr()->UpdateYCbCr(*data); @@ -243,6 +244,7 @@ ImageClientSingle::UpdateImageInternal(ImageContainer* aContainer, } if (!mFrontBuffer->Lock(OPEN_WRITE_ONLY)) { + mFrontBuffer = nullptr; return false; }