aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gm/imagefromyuvtextures.cpp7
-rw-r--r--gm/rectangletexture.cpp3
-rw-r--r--tools/gpu/ProxyUtils.cpp4
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) {