Fix memory leak in SkSpecialSurface
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666373002 TBR=jcgregorio@google.com NOTRY=true Review URL: https://codereview.chromium.org/1666373002
This commit is contained in:
parent
3a94c6c62c
commit
16aad78602
@ -54,7 +54,7 @@ SkCanvas* SkSpecialSurface::getCanvas() {
|
||||
SkSpecialImage* SkSpecialSurface::newImageSnapshot() {
|
||||
SkSpecialImage* image = as_SB(this)->onNewImageSnapshot();
|
||||
as_SB(this)->reset();
|
||||
return SkSafeRef(image); // the caller will call unref() to balance this
|
||||
return image; // the caller gets the creation ref
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -110,7 +110,7 @@ class SkSpecialSurface_Gpu : public SkSpecialSurface_Base {
|
||||
public:
|
||||
SkSpecialSurface_Gpu(GrTexture* texture, const SkIRect& subset, const SkSurfaceProps* props)
|
||||
: INHERITED(subset, props)
|
||||
, fTexture(texture) {
|
||||
, fTexture(SkRef(texture)) {
|
||||
|
||||
SkASSERT(fTexture->asRenderTarget());
|
||||
|
||||
@ -151,7 +151,7 @@ SkSpecialSurface* SkSpecialSurface::NewRenderTarget(GrContext* context,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GrTexture* temp = context->textureProvider()->createApproxTexture(desc);
|
||||
SkAutoTUnref<GrTexture> temp(context->textureProvider()->createApproxTexture(desc));
|
||||
if (!temp) {
|
||||
return nullptr;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user