| Index: src/gpu/SkGrPixelRef.cpp
|
| diff --git a/src/gpu/SkGrPixelRef.cpp b/src/gpu/SkGrPixelRef.cpp
|
| index dc5d7558f0d7a3e5c0294ec59f08f1622ef0ea16..012942667c72b8c134ef8333b2deb708cd11c8ee 100644
|
| --- a/src/gpu/SkGrPixelRef.cpp
|
| +++ b/src/gpu/SkGrPixelRef.cpp
|
| @@ -117,6 +117,23 @@ SkGrPixelRef::SkGrPixelRef(GrSurface* surface, bool transferCacheLock) {
|
| SkSafeRef(surface);
|
| }
|
|
|
| +SkGrPixelRef::SkGrPixelRef(const SkImageInfo&, GrSurface* surface, bool transferCacheLock) {
|
| + // TODO: figure out if this is responsible for Chrome canvas errors
|
| +#if 0
|
| + // The GrTexture has a ref to the GrRenderTarget but not vice versa.
|
| + // If the GrTexture exists take a ref to that (rather than the render
|
| + // target)
|
| + fSurface = surface->asTexture();
|
| +#else
|
| + fSurface = NULL;
|
| +#endif
|
| + if (NULL == fSurface) {
|
| + fSurface = surface;
|
| + }
|
| + fUnlock = transferCacheLock;
|
| + SkSafeRef(surface);
|
| +}
|
| +
|
| SkGrPixelRef::~SkGrPixelRef() {
|
| if (fUnlock) {
|
| GrContext* context = fSurface->getContext();
|
|
|