clang found an issue with freeing custom states. fix.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 16 Jan 2011 03:59:53 +0000 (03:59 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 16 Jan 2011 03:59:53 +0000 (03:59 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@56166 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_edit.c

index c82639b..e1fec2f 100644 (file)
@@ -371,20 +371,16 @@ _edje_real_part_free(Edje_Real_Part *rp)
    if (rp->custom)
      {
        _edje_collection_free_part_description_clean(rp->part->type, rp->custom->description, 0);
-       free(rp->custom);
+        if (rp->custom) free(rp->custom->set);
+        eina_mempool_free(_edje_real_part_state_mp, rp->custom);
        rp->custom = NULL;
      }
 
    free(rp->drag);
 
-   if (rp->param2)
-     free(rp->param2->set);
+   if (rp->param2) free(rp->param2->set);
    eina_mempool_free(_edje_real_part_state_mp, rp->param2);
 
-   if (rp->custom)
-     free(rp->custom->set);
-   eina_mempool_free(_edje_real_part_state_mp, rp->custom);
-
    _edje_unref(rp->edje);
    eina_mempool_free(_edje_real_part_mp, rp);
 }