summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-02-25 14:58:19 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-02-25 15:12:45 +0900
commit7b1921e148b55f62001e3c2ecafdaf92d870ba46 (patch)
treef37067bde4ac6176ffa94ef76df3fab36e906aca
parent661fd80a1263d9a8c9a1843b0f64609b4ce21c3b (diff)
Evas GL: Fix leak of surfaces with GLES 1.1
When destroying a GLES 1.1 surface, it is necessary to also destroy and remove the main surface from the list. This issue probably never really showed up because people don't: - use GLES 1.1 - constantly create & destroy new Evas GL surfaces - but mostly no one cares about 1.1 anymore :) @fix
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_core.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c b/src/modules/evas/engines/gl_common/evas_gl_core.c
index 7956a1e9dd..2435861d05 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_core.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
@@ -1581,6 +1581,7 @@ evgl_surface_create(void *eng_data, Evas_GL_Config *cfg, int w, int h)
1581 { 1581 {
1582 if (!evgl_engine->funcs->gles1_surface_create) 1582 if (!evgl_engine->funcs->gles1_surface_create)
1583 { 1583 {
1584 ERR("Can't create GLES 1.1 surfaces");
1584 evas_gl_common_error_set(eng_data, EVAS_GL_NOT_INITIALIZED); 1585 evas_gl_common_error_set(eng_data, EVAS_GL_NOT_INITIALIZED);
1585 goto error; 1586 goto error;
1586 } 1587 }
@@ -1811,9 +1812,11 @@ evgl_surface_destroy(void *eng_data, EVGL_Surface *sfc)
1811 INF("Destroying special surface used for GLES 1.x rendering"); 1812 INF("Destroying special surface used for GLES 1.x rendering");
1812 ret = evgl_engine->funcs->gles1_surface_destroy(eng_data, sfc); 1813 ret = evgl_engine->funcs->gles1_surface_destroy(eng_data, sfc);
1813 1814
1814 if (!ret) ERR("Engine failed to destroy a GLES1.x Surface."); 1815 if (!ret)
1815 return ret; 1816 {
1816 1817 ERR("Engine failed to destroy a GLES1.x Surface.");
1818 return ret;
1819 }
1817 } 1820 }
1818 1821
1819 1822