X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fsystemframebuffer.cpp;h=2d0664527f734458422660be2202f85185526c54;hb=8a8cce8ef4ee28b3572a72958b8b407759f9f826;hp=dbfe0b823b77f3333ef9bef0f36d2f421a86947a;hpb=b9e720f36185c6fe4d39a1056ecb88dec0ce950d;p=libs%2Fgl.git diff --git a/source/backends/opengl/systemframebuffer.cpp b/source/backends/opengl/systemframebuffer.cpp index dbfe0b82..2d066452 100644 --- a/source/backends/opengl/systemframebuffer.cpp +++ b/source/backends/opengl/systemframebuffer.cpp @@ -12,6 +12,11 @@ OpenGLSystemFramebuffer::OpenGLSystemFramebuffer(): if(EXT_framebuffer_object) { + int old_id; + glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &old_id); + if(old_id) + glBindFramebuffer(GL_DRAW_FRAMEBUFFER_BINDING, 0); + int value; glGetFramebufferAttachmentParameteriv(GL_DRAW_FRAMEBUFFER, GL_BACK, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &value); if(value==GL_NONE) @@ -26,6 +31,9 @@ OpenGLSystemFramebuffer::OpenGLSystemFramebuffer(): glGetFramebufferAttachmentParameteriv(GL_DRAW_FRAMEBUFFER, GL_STENCIL, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &value); if(value!=GL_NONE) sys_format = (sys_format, STENCIL_ATTACHMENT); + + if(old_id) + glBindFramebuffer(GL_DRAW_FRAMEBUFFER_BINDING, old_id); } else // Make a guess if we can't query the format