Index: src/effects/gradients/SkGradientShader.cpp |
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp |
index d25873b438502c84bd3a880f84524ed6bff21df0..39f0e75df1904f3e8e8c2cf265af370abaacc281 100644 |
--- a/src/effects/gradients/SkGradientShader.cpp |
+++ b/src/effects/gradients/SkGradientShader.cpp |
@@ -1164,15 +1164,10 @@ GrGradientEffect::GrGradientEffect(GrContext* ctx, |
fCoordTransform.reset(kCoordSet, matrix, fAtlas->getTexture()); |
fTextureAccess.reset(fAtlas->getTexture(), params); |
} else { |
- GrTexture* texture = GrLockAndRefCachedBitmapTexture(ctx, bitmap, ¶ms); |
+ SkAutoTUnref<GrTexture> texture(GrRefCachedBitmapTexture(ctx, bitmap, ¶ms)); |
fCoordTransform.reset(kCoordSet, matrix, texture); |
fTextureAccess.reset(texture, params); |
fYCoord = SK_ScalarHalf; |
- |
- // Unlock immediately, this is not great, but we don't have a way of |
- // knowing when else to unlock it currently, so it may get purged from |
- // the cache, but it'll still be ref'd until it's no longer being used. |
- GrUnlockAndUnrefCachedBitmapTexture(texture); |
} |
this->addTextureAccess(&fTextureAccess); |
} |