make sure clear the draw and read EGLSurface when eglMakeCurrent() is called for unbinding from the thread

This commit is contained in:
Mathias Agopian
2009-06-03 19:00:53 -07:00
parent 4098d78b35
commit 36432ccc13

View File

@@ -384,7 +384,7 @@ void egl_window_surface_v2_t::connect()
void egl_window_surface_v2_t::disconnect()
{
if (buffer) {
if (buffer && bits) {
bits = NULL;
unlock(buffer);
}
@@ -1681,10 +1681,12 @@ EGLBoolean eglMakeCurrent( EGLDisplay dpy, EGLSurface draw,
egl_surface_t* d = (egl_surface_t*)c->draw;
egl_surface_t* r = (egl_surface_t*)c->read;
if (d) {
c->draw = 0;
d->ctx = EGL_NO_CONTEXT;
d->disconnect();
}
if (r) {
c->read = 0;
r->ctx = EGL_NO_CONTEXT;
// FIXME: unlock/disconnect the read surface too
}