Index: ui/gl/gl_image_glx.cc |
diff --git a/ui/gl/gl_image_glx.cc b/ui/gl/gl_image_glx.cc |
index 61bd0971d00599d87b34bb5cd876d40ad89b7edd..9770cc2001ab7fd7952fcf41123bcf3c167a5f7c 100644 |
--- a/ui/gl/gl_image_glx.cc |
+++ b/ui/gl/gl_image_glx.cc |
@@ -111,7 +111,9 @@ GLImageGLX::GLImageGLX(const gfx::Size& size, unsigned internalformat) |
: glx_pixmap_(0), size_(size), internalformat_(internalformat) { |
} |
-GLImageGLX::~GLImageGLX() { Destroy(); } |
+GLImageGLX::~GLImageGLX() { |
+ DCHECK_EQ(0u, glx_pixmap_); |
+} |
bool GLImageGLX::Initialize(XID pixmap) { |
if (!GLSurfaceGLX::IsTextureFromPixmapSupported()) { |
@@ -160,7 +162,7 @@ bool GLImageGLX::Initialize(XID pixmap) { |
return true; |
} |
-void GLImageGLX::Destroy() { |
+void GLImageGLX::Destroy(bool have_context) { |
if (glx_pixmap_) { |
glXDestroyGLXPixmap(gfx::GetXDisplay(), glx_pixmap_); |
glx_pixmap_ = 0; |
@@ -182,7 +184,8 @@ bool GLImageGLX::BindTexImage(unsigned target) { |
} |
void GLImageGLX::ReleaseTexImage(unsigned target) { |
- DCHECK(glx_pixmap_); |
+ if (!glx_pixmap_) |
+ return; |
reveman
2014/07/27 23:58:32
nit: you don't have to change this. please keep it
sohanjg
2014/07/28 10:15:58
Done.
|
DCHECK_EQ(static_cast<GLenum>(GL_TEXTURE_2D), target); |
glXReleaseTexImageEXT(gfx::GetXDisplay(), glx_pixmap_, GLX_FRONT_LEFT_EXT); |