diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index f36d0e8bf9..27b0e2aac1 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -648,3 +648,7 @@ 2012-10-30 ChunEon Park (Hermet) * Fix the transit to accept proxy object. + +2012-10-31 TaeHwan Kim (Bluezery) + + * Don't crash glview even if you failed to create obj. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 89a77831f3..3193c60d0f 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -48,6 +48,7 @@ Fixes: * Fixed gengrid wrong_calc_job parameter. * Fix elm_transit image animation that last few frames are skipped. * FIx elm_transit to accept proxy object. + * Fix glview crash even if the object is failed allocating. Removals: diff --git a/legacy/elementary/src/lib/elm_glview.c b/legacy/elementary/src/lib/elm_glview.c index db12c9cde4..b9ec7da038 100644 --- a/legacy/elementary/src/lib/elm_glview.c +++ b/legacy/elementary/src/lib/elm_glview.c @@ -203,7 +203,6 @@ _elm_glview_smart_add(Evas_Object *obj) if (!priv->config) { ERR("Failed Creating a Config Object.\n"); - evas_object_del(obj); evas_gl_free(priv->evasgl); priv->evasgl = NULL; @@ -234,7 +233,6 @@ _elm_glview_smart_add(Evas_Object *obj) if (!priv->context) { ERR("Error Creating an Evas_GL Context.\n"); - evas_object_del(obj); evas_gl_config_free(priv->config); evas_gl_free(priv->evasgl); @@ -306,7 +304,10 @@ elm_glview_add(Evas_Object *parent) ELM_GLVIEW_DATA_GET(obj, sd); if (!sd->evasgl) - return NULL; + { + evas_object_del(obj); + return NULL; + } if (!elm_widget_sub_object_add(parent, obj)) ERR("could not add %p as sub object of %p", obj, parent);