| Index: cc/surfaces/surface.cc
|
| diff --git a/cc/surfaces/surface.cc b/cc/surfaces/surface.cc
|
| index 20d34011a58d5aa0bff6e4236856476a219fe560..f6c0645d3b996738452c36312ae195ba93b71519 100644
|
| --- a/cc/surfaces/surface.cc
|
| +++ b/cc/surfaces/surface.cc
|
| @@ -86,13 +86,14 @@ void Surface::RequestCopyOfOutput(
|
| std::vector<std::unique_ptr<CopyOutputRequest>>& copy_requests =
|
| current_frame_->render_pass_list.back()->copy_requests;
|
|
|
| - if (void* source = copy_request->source()) {
|
| + if (copy_request->has_source()) {
|
| + auto source = copy_request->source();
|
| // Remove existing CopyOutputRequests made on the Surface by the same
|
| // source.
|
| auto to_remove =
|
| std::remove_if(copy_requests.begin(), copy_requests.end(),
|
| [source](const std::unique_ptr<CopyOutputRequest>& x) {
|
| - return x->source() == source;
|
| + return x->has_source() && x->source() == source;
|
| });
|
| copy_requests.erase(to_remove, copy_requests.end());
|
| }
|
|
|