| Index: content/browser/renderer_host/image_transport_client.cc
|
| diff --git a/content/browser/renderer_host/image_transport_client.cc b/content/browser/renderer_host/image_transport_client.cc
|
| index 1d2f9767adbac100a1cc9620f68ceb8dcfbd6066..7ced869b77a5f1a9e7a2c8614ec1281a9479bcfa 100644
|
| --- a/content/browser/renderer_host/image_transport_client.cc
|
| +++ b/content/browser/renderer_host/image_transport_client.cc
|
| @@ -16,6 +16,7 @@
|
| #include "ui/gfx/gl/gl_implementation.h"
|
| #include "ui/gfx/gl/gl_surface_egl.h"
|
| #include "ui/gfx/gl/gl_surface_glx.h"
|
| +#include "ui/gfx/gl/scoped_make_current.h"
|
| #include "ui/gfx/size.h"
|
|
|
| namespace {
|
| @@ -47,14 +48,15 @@ class ImageTransportClientEGL : public ImageTransportClient {
|
|
|
| virtual ~ImageTransportClientEGL() {
|
| if (image_) {
|
| - resources_->MakeSharedContextCurrent();
|
| + scoped_ptr<gfx::ScopedMakeCurrent> bind(
|
| + resources_->GetScopedMakeCurrent());
|
| eglDestroyImageKHR(gfx::GLSurfaceEGL::GetHardwareDisplay(), image_);
|
| glFlush();
|
| }
|
| }
|
|
|
| virtual unsigned int Initialize(uint64* surface_id) {
|
| - resources_->MakeSharedContextCurrent();
|
| + scoped_ptr<gfx::ScopedMakeCurrent> bind(resources_->GetScopedMakeCurrent());
|
| image_ = eglCreateImageKHR(
|
| gfx::GLSurfaceEGL::GetHardwareDisplay(), EGL_NO_CONTEXT,
|
| EGL_NATIVE_PIXMAP_KHR, reinterpret_cast<void*>(*surface_id), NULL);
|
| @@ -100,7 +102,7 @@ class ImageTransportClientGLX : public ImageTransportClient {
|
| TRACE_EVENT0("renderer_host", "ImageTransportClientGLX::Initialize");
|
| Display* dpy = static_cast<Display*>(resources_->GetDisplay());
|
|
|
| - resources_->MakeSharedContextCurrent();
|
| + scoped_ptr<gfx::ScopedMakeCurrent> bind(resources_->GetScopedMakeCurrent());
|
| if (!InitializeOneOff(dpy))
|
| return 0;
|
|
|
| @@ -245,7 +247,7 @@ class ImageTransportClientOSMesa : public ImageTransportClient {
|
| if (!shared_mem_.get())
|
| return 0;
|
|
|
| - resources_->MakeSharedContextCurrent();
|
| + scoped_ptr<gfx::ScopedMakeCurrent> bind(resources_->GetScopedMakeCurrent());
|
| texture_ = CreateTexture();
|
| return texture_;
|
| }
|
|
|