Index: cc/output/software_renderer.cc |
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc |
index ceedac658d717d74862979a26ce152c8dad4a99e..488ca09ef51961129607af3087582228162b639a 100644 |
--- a/cc/output/software_renderer.cc |
+++ b/cc/output/software_renderer.cc |
@@ -160,6 +160,11 @@ bool SoftwareRenderer::BindFramebufferToTexture( |
DrawingFrame* frame, |
const ScopedResource* texture, |
const gfx::Rect& target_rect) { |
+ DCHECK(texture->id()); |
+ |
+ // Explicitly release lock, otherwise we can crash when try to lock |
+ // same texture again. |
+ current_framebuffer_lock_ = nullptr; |
current_framebuffer_lock_ = make_scoped_ptr( |
new ResourceProvider::ScopedWriteLockSoftware( |
resource_provider_, texture->id())); |