Index: src/effects/SkBlurMaskFilter.cpp |
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp |
index 491f5983d8c5da29577890d05b38a90ee1b78909..69be419bdfea8a39035ddaa9bb6fd20c45e9d103 100644 |
--- a/src/effects/SkBlurMaskFilter.cpp |
+++ b/src/effects/SkBlurMaskFilter.cpp |
@@ -927,9 +927,9 @@ GrFragmentProcessor* GrRRectBlurEffect::Create(GrContext* context, float sigma, |
builder[1] = cornerRadius; |
builder.finish(); |
- GrTexture *blurNinePatchTexture = context->findAndRefCachedTexture(key); |
+ SkAutoTUnref<GrTexture> blurNinePatchTexture(context->findAndRefCachedTexture(key)); |
- if (NULL == blurNinePatchTexture) { |
+ if (!blurNinePatchTexture) { |
SkMask mask; |
unsigned int smallRectSide = 2*(blurRadius + cornerRadius) + 1; |
@@ -964,20 +964,13 @@ GrFragmentProcessor* GrRRectBlurEffect::Create(GrContext* context, float sigma, |
texDesc.fHeight = texSide; |
texDesc.fConfig = kAlpha_8_GrPixelConfig; |
- blurNinePatchTexture = context->createTexture(texDesc, true, blurred_mask.fImage, 0); |
+ blurNinePatchTexture.reset(context->createTexture(texDesc, true, blurred_mask.fImage, 0)); |
+ SkMask::FreeImage(blurred_mask.fImage); |
if (!blurNinePatchTexture) { |
return NULL; |
} |
context->addResourceToCache(key, blurNinePatchTexture); |
- |
- SkMask::FreeImage(blurred_mask.fImage); |
} |
- |
- SkAutoTUnref<GrTexture> blurunref(blurNinePatchTexture); |
- if (NULL == blurNinePatchTexture) { |
- return NULL; |
- } |
- |
return SkNEW_ARGS(GrRRectBlurEffect, (sigma, rrect, blurNinePatchTexture)); |
} |