GPU: add failure checks for the scratch textures used in Gaussian blur.
https://codereview.appspot.com/6744047/
On behalf of senorblanco
git-svn-id: http://skia.googlecode.com/svn/trunk@6014 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 63e5c2c..1ea2906 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -1804,6 +1804,9 @@
GrAutoScratchTexture temp1, temp2;
GrTexture* dstTexture = temp1.set(this, desc);
GrTexture* tempTexture = canClobberSrc ? srcTexture : temp2.set(this, desc);
+ if (NULL == dstTexture || NULL == tempTexture) {
+ return NULL;
+ }
GrPaint paint;
paint.reset();
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 5506d1a..dadb9a0 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -859,6 +859,9 @@
bool isNormalBlur = blurType == SkMaskFilter::kNormal_BlurType;
blurTexture.reset(context->gaussianBlur(pathTexture, isNormalBlur,
srcRect, sigma, sigma));
+ if (NULL == blurTexture) {
+ return false;
+ }
if (!isNormalBlur) {
context->setIdentityMatrix();