diff --git a/cc/surfaces/surface_resource_holder.cc b/cc/surfaces/surface_resource_holder.cc index d142f7f91b38ee..50d31a584eef00 100644 --- a/cc/surfaces/surface_resource_holder.cc +++ b/cc/surfaces/surface_resource_holder.cc @@ -51,7 +51,8 @@ void SurfaceResourceHolder::UnrefResources( ++it) { ResourceProvider::ResourceId id = it->id; ResourceIdCountMap::iterator count_it = resource_id_use_count_map_.find(id); - DCHECK(count_it != resource_id_use_count_map_.end()); + if (count_it == resource_id_use_count_map_.end()) + continue; ResourceRefs& ref = count_it->second; ref.refs_holding_resource_alive -= it->count; if (ref.refs_holding_resource_alive == 0) { diff --git a/mojo/services/public/cpp/view_manager/lib/bitmap_uploader.cc b/mojo/services/public/cpp/view_manager/lib/bitmap_uploader.cc index 60eeeeac3bc33d..d085f6f763a26d 100644 --- a/mojo/services/public/cpp/view_manager/lib/bitmap_uploader.cc +++ b/mojo/services/public/cpp/view_manager/lib/bitmap_uploader.cc @@ -106,6 +106,7 @@ void BitmapUploader::Upload() { pass->quads.resize(0u); pass->shared_quad_states.push_back(CreateDefaultSQS(size_)); + MojoGLES2MakeCurrent(gles2_context_); if (!bitmap_.isNull()) { gfx::Size bitmap_size(bitmap_.width(), bitmap_.height()); GLuint texture_id = BindTextureForSize(bitmap_size); @@ -185,6 +186,9 @@ void BitmapUploader::Upload() { } void BitmapUploader::ReturnResources(Array resources) { + if (!resources.size()) + return; + MojoGLES2MakeCurrent(gles2_context_); // TODO(jamesr): Recycle. for (size_t i = 0; i < resources.size(); ++i) { ReturnedResourcePtr resource = resources[i].Pass();