| Index: content/browser/compositor/surface_display_output_surface.cc
|
| diff --git a/content/browser/compositor/surface_display_output_surface.cc b/content/browser/compositor/surface_display_output_surface.cc
|
| index 71ab32e8b4e444504658299df9594a907d1101d6..2e20c97c1d028a831c332af9b27074603e1f444d 100644
|
| --- a/content/browser/compositor/surface_display_output_surface.cc
|
| +++ b/content/browser/compositor/surface_display_output_surface.cc
|
| @@ -27,6 +27,10 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
|
| }
|
|
|
| SurfaceDisplayOutputSurface::~SurfaceDisplayOutputSurface() {
|
| + client_ = NULL;
|
| + if (!surface_id_.is_null()) {
|
| + factory_.Destroy(surface_id_);
|
| + }
|
| }
|
|
|
| void SurfaceDisplayOutputSurface::SwapBuffers(cc::CompositorFrame* frame) {
|
| @@ -57,7 +61,8 @@ void SurfaceDisplayOutputSurface::ReturnResources(
|
| const cc::ReturnedResourceArray& resources) {
|
| cc::CompositorFrameAck ack;
|
| ack.resources = resources;
|
| - client_->ReclaimResources(&ack);
|
| + if (client_)
|
| + client_->ReclaimResources(&ack);
|
| }
|
|
|
| } // namespace content
|
|
|