diff options
-rw-r--r-- | gm/imagefromyuvtextures.cpp | 7 | ||||
-rw-r--r-- | gm/rectangletexture.cpp | 3 | ||||
-rw-r--r-- | tools/gpu/ProxyUtils.cpp | 4 |
3 files changed, 14 insertions, 0 deletions
diff --git a/gm/imagefromyuvtextures.cpp b/gm/imagefromyuvtextures.cpp index 4139ca802b..87ab51ec1d 100644 --- a/gm/imagefromyuvtextures.cpp +++ b/gm/imagefromyuvtextures.cpp @@ -94,6 +94,10 @@ protected: } void createYUVTextures(GrContext* context, GrBackendTexture yuvTextures[3]) { + if (context->contextPriv().abandoned()) { + return; + } + GrGpu* gpu = context->contextPriv().getGpu(); if (!gpu) { return; @@ -111,6 +115,9 @@ protected: } void deleteYUVTextures(GrContext* context, GrBackendTexture yuvTextures[3]) { + if (context->contextPriv().abandoned()) { + return; + } GrGpu* gpu = context->contextPriv().getGpu(); if (!gpu) { diff --git a/gm/rectangletexture.cpp b/gm/rectangletexture.cpp index a603be7bdc..d6bf1fb87e 100644 --- a/gm/rectangletexture.cpp +++ b/gm/rectangletexture.cpp @@ -60,6 +60,9 @@ protected: if (!context) { return nullptr; } + if (context->contextPriv().abandoned()) { + return nullptr; + } GrGpu* gpu = context->contextPriv().getGpu(); if (!gpu) { return nullptr; diff --git a/tools/gpu/ProxyUtils.cpp b/tools/gpu/ProxyUtils.cpp index bba17de939..64af648068 100644 --- a/tools/gpu/ProxyUtils.cpp +++ b/tools/gpu/ProxyUtils.cpp @@ -18,6 +18,10 @@ sk_sp<GrTextureProxy> MakeTextureProxyFromData(GrContext* context, bool isRT, in GrColorType ct, GrSRGBEncoded srgbEncoded, GrSurfaceOrigin origin, const void* data, size_t rowBytes) { + if (context->contextPriv().abandoned()) { + return nullptr; + } + auto config = GrColorTypeToPixelConfig(ct, srgbEncoded); sk_sp<GrTextureProxy> proxy; if (kBottomLeft_GrSurfaceOrigin == origin) { |