Index: src/gpu/gl/GrGpuGL.cpp |
diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp |
index 7131cfa1ebbf6afd8e46b32a8f0651fa85d9407f..b975fd1871df589b558e6cd85a57ec67fa41b8b4 100644 |
--- a/src/gpu/gl/GrGpuGL.cpp |
+++ b/src/gpu/gl/GrGpuGL.cpp |
@@ -182,9 +182,15 @@ GrGpuGL::~GrGpuGL() { |
// This must be called by before the GrDrawTarget destructor |
this->releaseGeometry(); |
- // This subclass must do this before the base class destructor runs |
- // since we will unref the GrGLInterface. |
- this->releaseResources(); |
+} |
+ |
+void GrGpuGL::contextAbandonded() { |
+ INHERITED::contextAbandonded(); |
+ fProgramCache->abandon(); |
+ fHWProgramID = 0; |
+ if (this->glCaps().pathRenderingSupport()) { |
+ fPathRendering->abandonGpuResources(); |
+ } |
} |
/////////////////////////////////////////////////////////////////////////////// |