evas: Deal with double glShaderSource signature

The function glShaderSource may have 2 signatures:
http://stackoverflow.com/questions/12586695/signature-difference-in-openglshadersource-between-opengl-es-2-revisions
http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml

This patch changes all internal signatures to use the most restrictive signature.
This commit is contained in:
Henrique Dante de Almeida 2013-01-30 15:52:56 -02:00 committed by Lucas De Marchi
parent b9ac180af6
commit 211c33ff6e
3 changed files with 5 additions and 3 deletions

View File

@ -2323,7 +2323,8 @@ _normal_gl_api_get(Evas_GL_API *funcs)
ORD(glSampleCoverage);
// ORD(glScissor);
// ORD(glShaderBinary);
ORD(glShaderSource);
// Deal with double glShaderSource signature
funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource;
ORD(glStencilFunc);
ORD(glStencilFuncSeparate);
ORD(glStencilMask);

View File

@ -3369,7 +3369,7 @@ evgl_glShaderSource(GLuint shader, GLsizei count, const char* const* string, con
}
}
_sym_glShaderSource(shader, count, (const char **)s, l);
_sym_glShaderSource(shader, count, (const char * const *)s, l);
while(i)
free(s[--i]);

View File

@ -3416,7 +3416,8 @@ eng_gl_api_get(void *data EINA_UNUSED)
ORD(glSampleCoverage);
// ORD(glScissor);/***/
// ORD(glShaderBinary);
ORD(glShaderSource);
// Deal with double glShaderSource signature
funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource;
ORD(glStencilFunc);
ORD(glStencilFuncSeparate);
ORD(glStencilMask);