Index: Source/modules/webgl/WebGLRenderingContextBase.cpp |
diff --git a/Source/modules/webgl/WebGLRenderingContextBase.cpp b/Source/modules/webgl/WebGLRenderingContextBase.cpp |
index 10b30857634a3da6fc0c43b4ec6c3f7d461e5f1e..a9ede5ea3e1fad3f3e31f6e32248d76f964687f0 100644 |
--- a/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -1080,6 +1080,9 @@ WebGLRenderingContextBase::~WebGLRenderingContextBase() |
m_renderbufferBinding = nullptr; |
m_valuebufferBinding = nullptr; |
+ // WebGLTexture shared objects will be detached and deleted |
+ // m_contextGroup->removeContext(this), which will bring about deleteTexture() calls. |
+ // We null these out to avoid accessing those members in deleteTexture(). |
for (size_t i = 0; i < m_textureUnits.size(); ++i) { |
m_textureUnits[i].m_texture2DBinding = nullptr; |
m_textureUnits[i].m_textureCubeMapBinding = nullptr; |