From: raster Date: Thu, 3 Jun 2010 12:33:27 +0000 (+0000) Subject: set magic to none later - and set props to null after freeing each - X-Git-Tag: build/2012-07-04.173327~2049 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b711123c0b1f8dc7c90faf74f9226494be025656;p=profile%2Fivi%2Fecore.git set magic to none later - and set props to null after freeing each - in case del callbacks on objects access ee. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@49410 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index eda08f3..a212136 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -2763,26 +2763,26 @@ void _ecore_evas_free(Ecore_Evas *ee) { if (ee->func.fn_pre_free) ee->func.fn_pre_free(ee); - ECORE_MAGIC_SET(ee, ECORE_MAGIC_NONE); while (ee->sub_ecore_evas) { _ecore_evas_free(ee->sub_ecore_evas->data); } if (ee->data) eina_hash_free(ee->data); - if (ee->name) free(ee->name); - if (ee->prop.title) free(ee->prop.title); - if (ee->prop.name) free(ee->prop.name); - if (ee->prop.clas) free(ee->prop.clas); - if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); - if (ee->evas) evas_free(ee->evas); ee->data = NULL; - ee->driver = NULL; + if (ee->name) free(ee->name); ee->name = NULL; + if (ee->prop.title) free(ee->prop.title); ee->prop.title = NULL; + if (ee->prop.name) free(ee->prop.name); ee->prop.name = NULL; + if (ee->prop.clas) free(ee->prop.clas); ee->prop.clas = NULL; + if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); ee->prop.cursor.object = NULL; + if (ee->evas) evas_free(ee->evas); ee->evas = NULL; + ECORE_MAGIC_SET(ee, ECORE_MAGIC_NONE); + ee->driver = NULL; if (ee->engine.idle_flush_timer) ecore_timer_del(ee->engine.idle_flush_timer); if (ee->engine.func->fn_free) ee->engine.func->fn_free(ee);