From ac0d52f04d4273d9205365778d85a2c262549051 Mon Sep 17 00:00:00 2001 From: Sung Park Date: Fri, 24 Feb 2012 08:13:48 +0000 Subject: [PATCH] Fixed glBindFramebuffer(0) issue for Direct Rendering optimization. current_fbo wasn't being set to 0 so the above case wasn't being handled properly. SVN revision: 68392 --- legacy/evas/src/modules/engines/gl_x11/evas_engine.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c index 5edbb19..94424b2 100644 --- a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c @@ -3514,24 +3514,27 @@ evgl_glBindFramebuffer(GLenum target, GLuint framebuffer) { Render_Engine_GL_Context *ctx = current_evgl_ctx; + if (!ctx) + { + ERR("No current context set."); + return; + } + // Take care of BindFramebuffer 0 issue if (framebuffer==0) { if (gl_direct_enabled) glBindFramebuffer(target, 0); - else if (ctx) - { - glBindFramebuffer(target, ctx->context_fbo); - ctx->current_fbo = 0; - } + else + glBindFramebuffer(target, ctx->context_fbo); + ctx->current_fbo = 0; } else { glBindFramebuffer(target, framebuffer); // Save this for restore when doing make current - if (ctx) - ctx->current_fbo = framebuffer; + ctx->current_fbo = framebuffer; } } -- 2.7.4