fix free shutdown of gl common part of gl engine -> gl pipes badbess.

SVN revision: 51485
This commit is contained in:
Carsten Haitzler 2010-08-21 05:59:27 +00:00
parent 2e1808f468
commit 8b35111094
1 changed files with 9 additions and 11 deletions

View File

@ -660,6 +660,15 @@ evas_gl_common_context_free(Evas_GL_Context *gc)
if (gc->def_surface) evas_gl_common_image_free(gc->def_surface); if (gc->def_surface) evas_gl_common_image_free(gc->def_surface);
for (i = 0; i < gc->shared->info.pipes_max; i++)
{
if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex);
if (gc->pipe[i].array.color) free(gc->pipe[i].array.color);
if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv);
if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2);
if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3);
}
if ((gc->shared) && (gc->shared->references == 0)) if ((gc->shared) && (gc->shared->references == 0))
{ {
evas_gl_common_shader_program_shutdown(&(gc->shared->shader.rect)); evas_gl_common_shader_program_shutdown(&(gc->shared->shader.rect));
@ -697,17 +706,6 @@ evas_gl_common_context_free(Evas_GL_Context *gc)
free(gc->shared); free(gc->shared);
shared = NULL; shared = NULL;
} }
for (i = 0; i < gc->shared->info.pipes_max; i++)
{
if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex);
if (gc->pipe[i].array.color) free(gc->pipe[i].array.color);
if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv);
if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2);
if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3);
}
if (gc == _evas_gl_common_context) _evas_gl_common_context = NULL; if (gc == _evas_gl_common_context) _evas_gl_common_context = NULL;
free(gc); free(gc);
} }