| Index: ui/gl/gl_context_glx.cc
|
| diff --git a/ui/gl/gl_context_glx.cc b/ui/gl/gl_context_glx.cc
|
| index 30b07c7ca7d78bf00b9a78acc72801a621b70edb..d5ab073e40daf4c48411c10556e030fb469d2361 100644
|
| --- a/ui/gl/gl_context_glx.cc
|
| +++ b/ui/gl/gl_context_glx.cc
|
| @@ -98,6 +98,7 @@ bool GLContextGLX::MakeCurrent(GLSurface* surface) {
|
| if (IsCurrent(surface))
|
| return true;
|
|
|
| + ScopedReleaseCurrent release_current;
|
| TRACE_EVENT0("gpu", "GLContextGLX::MakeCurrent");
|
| if (!glXMakeContextCurrent(
|
| display_,
|
| @@ -114,18 +115,17 @@ bool GLContextGLX::MakeCurrent(GLSurface* surface) {
|
|
|
| SetCurrent(surface);
|
| if (!InitializeDynamicBindings()) {
|
| - ReleaseCurrent(surface);
|
| Destroy();
|
| return false;
|
| }
|
|
|
| if (!surface->OnMakeCurrent(this)) {
|
| LOG(ERROR) << "Could not make current.";
|
| - ReleaseCurrent(surface);
|
| Destroy();
|
| return false;
|
| }
|
|
|
| + release_current.Cancel();
|
| return true;
|
| }
|
|
|
|
|