summaryrefslogtreecommitdiff
path: root/src/lib/elm_glview.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elm_glview.c')
-rw-r--r--src/lib/elm_glview.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/elm_glview.c b/src/lib/elm_glview.c
index 0e10f2511..20216c869 100644
--- a/src/lib/elm_glview.c
+++ b/src/lib/elm_glview.c
@@ -239,6 +239,8 @@ _elm_glview_evas_object_smart_add(Eo *obj, Elm_Glview_Data *priv)
239EOLIAN static void 239EOLIAN static void
240_elm_glview_evas_object_smart_del(Eo *obj, Elm_Glview_Data *sd) 240_elm_glview_evas_object_smart_del(Eo *obj, Elm_Glview_Data *sd)
241{ 241{
242 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
243
242 // Call delete func if it's registered 244 // Call delete func if it's registered
243 if (sd->del_func) 245 if (sd->del_func)
244 { 246 {
@@ -248,7 +250,11 @@ _elm_glview_evas_object_smart_del(Eo *obj, Elm_Glview_Data *sd)
248 250
249 ecore_idle_enterer_del(sd->render_idle_enterer); 251 ecore_idle_enterer_del(sd->render_idle_enterer);
250 252
251 if (sd->surface) evas_gl_surface_destroy(sd->evasgl, sd->surface); 253 if (sd->surface)
254 {
255 evas_object_image_native_surface_set(wd->resize_obj, NULL);
256 evas_gl_surface_destroy(sd->evasgl, sd->surface);
257 }
252 if (sd->context) evas_gl_context_destroy(sd->evasgl, sd->context); 258 if (sd->context) evas_gl_context_destroy(sd->evasgl, sd->context);
253 if (sd->config) evas_gl_config_free(sd->config); 259 if (sd->config) evas_gl_config_free(sd->config);
254 if (sd->evasgl) evas_gl_free(sd->evasgl); 260 if (sd->evasgl) evas_gl_free(sd->evasgl);