From: Jerome St-Louis Date: Tue, 8 Sep 2015 20:58:27 +0000 (+0800) Subject: ecere/gfx/drivers/OpenGL: Rebinding 0 buffers on making context current X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=commitdiff_plain;h=bd7447afc5936833694800beafd49dcbeda22fbe ecere/gfx/drivers/OpenGL: Rebinding 0 buffers on making context current - Solved crashes avoiding duplicate bind, when loadGraphics occured, coming back for render and skipping BindBuffer call - e.g. crashed in Ecere Chess in GLES and SHADERS mode --- diff --git a/ecere/src/gfx/drivers/OpenGLDisplayDriver.ec b/ecere/src/gfx/drivers/OpenGLDisplayDriver.ec index 0f58cad..1d57566 100644 --- a/ecere/src/gfx/drivers/OpenGLDisplayDriver.ec +++ b/ecere/src/gfx/drivers/OpenGLDisplayDriver.ec @@ -666,6 +666,8 @@ class OpenGLDisplayDriver : DisplayDriver //previous = oglSystem.glContext; #endif #endif + GLABBindBuffer(GL_ARRAY_BUFFER, 0); + GLABBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); return true; } @@ -697,6 +699,8 @@ class OpenGLDisplayDriver : DisplayDriver glXMakeCurrent(xGlobalDisplay, (GLXDrawable)display.window, oglDisplay.glContext); #endif #endif + GLABBindBuffer(GL_ARRAY_BUFFER, 0); + GLABBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); return true; } @@ -1083,6 +1087,8 @@ class OpenGLDisplayDriver : DisplayDriver loadShaders("<:ecere>shaders/fixed.vertex", "<:ecere>shaders/fixed.frag"); #endif glEnableClientState(GL_VERTEX_ARRAY); + GLABBindBuffer(GL_ARRAY_BUFFER, 0); + GLABBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); #if defined(__WIN32__) if(glBlendFuncSeparate)