| Index: ui/gfx/gl/gl_surface_osmesa.cc
|
| ===================================================================
|
| --- ui/gfx/gl/gl_surface_osmesa.cc (revision 113398)
|
| +++ ui/gfx/gl/gl_surface_osmesa.cc (working copy)
|
| @@ -5,6 +5,7 @@
|
| #include "ui/gfx/gl/gl_surface_osmesa.h"
|
| #include "base/logging.h"
|
| #include "ui/gfx/gl/gl_bindings.h"
|
| +#include "ui/gfx/gl/gl_context.h"
|
|
|
| namespace gfx {
|
|
|
| @@ -21,6 +22,11 @@
|
| if (new_size == size_)
|
| return true;
|
|
|
| + GLContext* current_context = GLContext::GetCurrent();
|
| + bool was_current = current_context && current_context->IsCurrent(this);
|
| + if (was_current)
|
| + current_context->ReleaseCurrent(this);
|
| +
|
| // Preserve the old buffer.
|
| scoped_array<int32> old_buffer(buffer_.release());
|
|
|
| @@ -37,6 +43,10 @@
|
| }
|
|
|
| size_ = new_size;
|
| +
|
| + if (was_current)
|
| + return current_context->MakeCurrent(this);
|
| +
|
| return true;
|
| }
|
|
|
|
|