Index: cc/surfaces/surface_aggregator.cc |
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc |
index b4123d01d48c3c376d6f7a19dd2ccd741c4dcab7..4ea7f564943385150393f9c0d6b206f3cd3806c0 100644 |
--- a/cc/surfaces/surface_aggregator.cc |
+++ b/cc/surfaces/surface_aggregator.cc |
@@ -170,6 +170,16 @@ bool SurfaceAggregator::ValidateResources( |
provider_->ReceiveFromChild(child_id, frame_data->resource_list); |
ResourceProvider::ResourceIdSet referenced_resources; |
+ // Resizing to 0 breaks stlport hash_set. |
danakj
2015/04/28 17:25:46
TODO here pls
|
+ size_t reserve_size = |
+ std::max(static_cast<size_t>(1), frame_data->resource_list.size()); |
+#if defined(COMPILER_MSVC) |
+ referenced_resources.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 and I think should start the lin
|
+ referenced_resources.resize(reserve_size); |
+#endif |
bool invalid_frame = false; |
DrawQuad::ResourceIteratorCallback remap = |