Index: ui/gl/gl_image_surface_texture.cc |
diff --git a/ui/gl/gl_image_surface_texture.cc b/ui/gl/gl_image_surface_texture.cc |
index bb9fa135e1e718a26472c945f6aa68ee3991c4fc..c25160526f8a5c5a5d93b1fc03f5850fe9b1c61b 100644 |
--- a/ui/gl/gl_image_surface_texture.cc |
+++ b/ui/gl/gl_image_surface_texture.cc |
@@ -14,7 +14,10 @@ GLImageSurfaceTexture::GLImageSurfaceTexture(const gfx::Size& size) |
: size_(size), texture_id_(0) { |
} |
-GLImageSurfaceTexture::~GLImageSurfaceTexture() { Destroy(); } |
+GLImageSurfaceTexture::~GLImageSurfaceTexture() { |
+ DCHECK(!surface_texture_); |
+ DCHECK_EQ(0u, texture_id_); |
+} |
bool GLImageSurfaceTexture::Initialize( |
const gfx::GpuMemoryBufferHandle& handle) { |
@@ -26,7 +29,7 @@ bool GLImageSurfaceTexture::Initialize( |
return !!surface_texture_; |
} |
-void GLImageSurfaceTexture::Destroy() { |
+void GLImageSurfaceTexture::Destroy(bool have_context) { |
surface_texture_ = NULL; |
texture_id_ = 0; |
} |
@@ -36,6 +39,11 @@ gfx::Size GLImageSurfaceTexture::GetSize() { return size_; } |
bool GLImageSurfaceTexture::BindTexImage(unsigned target) { |
TRACE_EVENT0("gpu", "GLImageSurfaceTexture::BindTexImage"); |
+ if (!surface_texture_) { |
+ LOG(ERROR) << "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.
|
+ |
if (target != GL_TEXTURE_EXTERNAL_OES) { |
LOG(ERROR) |
<< "Surface texture can only be bound to TEXTURE_EXTERNAL_OES target"; |
@@ -51,7 +59,6 @@ bool GLImageSurfaceTexture::BindTexImage(unsigned target) { |
return false; |
} |
- DCHECK(surface_texture_); |
if (texture_id != texture_id_) { |
// Note: Surface textures used as gpu memory buffers are created with an |
// initial dummy texture id of 0. We need to call DetachFromGLContext() here |