Index: cc/layers/delegated_renderer_layer_impl.cc |
diff --git a/cc/layers/delegated_renderer_layer_impl.cc b/cc/layers/delegated_renderer_layer_impl.cc |
index aa16beb56883d3152baab75fee85c03ecf486284..a98041f68bd8d89a416a7fbeabcef2c0797b5662 100644 |
--- a/cc/layers/delegated_renderer_layer_impl.cc |
+++ b/cc/layers/delegated_renderer_layer_impl.cc |
@@ -122,6 +122,16 @@ void DelegatedRendererLayerImpl::SetFrameData( |
bool invalid_frame = false; |
ResourceProvider::ResourceIdSet resources_in_frame; |
+ // Resizing to 0 breaks stlport hash_set. |
+ size_t reserve_size = |
+ std::max(static_cast<size_t>(1), frame_data->resource_list.size()); |
danakj
2015/04/28 17:25:46
actually instead of max(1,..) can you just if(rese
|
+#if defined(COMPILER_MSVC) |
+ resources_in_frame.reserve(reserve_size); |
+#elif defined(COMPILER_GCC) |
+ // Pre-standard hash-tables only implement resize, which behaves similarly |
+ // to reserve for these keys. TODO: Fix when C++11 is supported everywhere. |
danakj
2015/04/28 17:25:46
TODO needs a name
|
+ resources_in_frame.resize(reserve_size); |
+#endif |
DrawQuad::ResourceIteratorCallback remap_resources_to_parent_callback = |
base::Bind(&ResourceRemapHelper, |
&invalid_frame, |