Chromium Code Reviews| 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..190db1f031bc436672a2a381c73064a88f0f90ad 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; |
| @@ -170,8 +172,10 @@ void GLImageGLX::Destroy() { |
| gfx::Size GLImageGLX::GetSize() { return size_; } |
| bool GLImageGLX::BindTexImage(unsigned target) { |
| - if (!glx_pixmap_) |
| + if (!glx_pixmap_) { |
| + DVLOG(0) << "Uninitialized image cannot be bound to texture"; |
| return false; |
| + } |
|
reveman
2014/07/25 19:00:23
Let's keep this as before. Sorry.
sohanjg
2014/07/26 10:42:23
Done.
|
| // Requires TEXTURE_2D target. |
| if (target != GL_TEXTURE_2D) |
| @@ -182,7 +186,10 @@ bool GLImageGLX::BindTexImage(unsigned target) { |
| } |
| void GLImageGLX::ReleaseTexImage(unsigned target) { |
| - DCHECK(glx_pixmap_); |
| + if (!glx_pixmap_) { |
| + DVLOG(0) << "Uninitialized image cannot be released from texture"; |
| + return; |
| + } |
|
reveman
2014/07/25 19:00:23
Keep as before.
sohanjg
2014/07/26 10:42:23
Done.
|
| DCHECK_EQ(static_cast<GLenum>(GL_TEXTURE_2D), target); |
| glXReleaseTexImageEXT(gfx::GetXDisplay(), glx_pixmap_, GLX_FRONT_LEFT_EXT); |