From 12f8bcae59ed78f23886c0485246a40fb09fe33f Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Sun, 25 Jun 2017 11:23:35 +0300 Subject: [PATCH] Test: check gl API nullity before invoking deletion functions It happens when OpenGL ES 3.x is not supported. @fix --- src/bin/elementary/test_glview.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bin/elementary/test_glview.c b/src/bin/elementary/test_glview.c index 45d9c84..ce29bd4 100644 --- a/src/bin/elementary/test_glview.c +++ b/src/bin/elementary/test_glview.c @@ -179,9 +179,9 @@ make_gear(GLData *gld, GLfloat inner_radius, GLfloat outer_radius, GLfloat width static void free_gear(Gear *gear) { + if (!gear) return; free(gear->vertices); free(gear); - gear = NULL; } static void @@ -446,12 +446,15 @@ _del_gl(Evas_Object *obj) } Evas_GL_API *gl = gld->glapi; - gl->glDeleteShader(gld->vtx_shader); - gl->glDeleteShader(gld->fgmt_shader); - gl->glDeleteProgram(gld->program); - gl->glDeleteBuffers(1, &gld->gear1->vbo); - gl->glDeleteBuffers(1, &gld->gear2->vbo); - gl->glDeleteBuffers(1, &gld->gear3->vbo); + if (gl) + { + gl->glDeleteShader(gld->vtx_shader); + gl->glDeleteShader(gld->fgmt_shader); + gl->glDeleteProgram(gld->program); + gl->glDeleteBuffers(1, &gld->gear1->vbo); + gl->glDeleteBuffers(1, &gld->gear2->vbo); + gl->glDeleteBuffers(1, &gld->gear3->vbo); + } free_gear(gld->gear1); free_gear(gld->gear2); -- 2.7.4