diff options
Diffstat (limited to 'android_webview')
-rw-r--r-- | android_webview/browser/gpu_memory_buffer_impl.cc | 7 | ||||
-rw-r--r-- | android_webview/browser/gpu_memory_buffer_impl.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/android_webview/browser/gpu_memory_buffer_impl.cc b/android_webview/browser/gpu_memory_buffer_impl.cc index b44de8c..dcd7345 100644 --- a/android_webview/browser/gpu_memory_buffer_impl.cc +++ b/android_webview/browser/gpu_memory_buffer_impl.cc @@ -20,7 +20,8 @@ AwDrawGLFunctionTable* g_gl_draw_functions = NULL; GpuMemoryBufferImpl::GpuMemoryBufferImpl(gfx::Size size) : buffer_id_(g_gl_draw_functions->create_graphic_buffer( size.width(), size.height())), - size_(size) { + size_(size), + mapped_(false) { } GpuMemoryBufferImpl::~GpuMemoryBufferImpl() { @@ -32,14 +33,18 @@ GpuMemoryBufferImpl::~GpuMemoryBufferImpl() { void GpuMemoryBufferImpl::Map(gpu::GpuMemoryBuffer::AccessMode mode, void** vaddr) { DCHECK(buffer_id_ != 0); + DCHECK(!mapped_); int err = g_gl_draw_functions->lock(buffer_id_, mode, vaddr); DCHECK(err == 0); + mapped_ = true; } void GpuMemoryBufferImpl::Unmap() { DCHECK(buffer_id_ != 0); + DCHECK(mapped_); int err = g_gl_draw_functions->unlock(buffer_id_); DCHECK(err == 0); + mapped_ = false; } void* GpuMemoryBufferImpl::GetNativeBuffer() { diff --git a/android_webview/browser/gpu_memory_buffer_impl.h b/android_webview/browser/gpu_memory_buffer_impl.h index 493c140..e584b7c 100644 --- a/android_webview/browser/gpu_memory_buffer_impl.h +++ b/android_webview/browser/gpu_memory_buffer_impl.h @@ -30,6 +30,7 @@ class GpuMemoryBufferImpl : public gpu::GpuMemoryBuffer { private: int buffer_id_; gfx::Size size_; + bool mapped_; DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl); }; |