leak--
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 1 Mar 2010 14:50:56 +0000 (14:50 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 1 Mar 2010 14:50:56 +0000 (14:50 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@46698 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_map.c
src/lib/canvas/evas_object_main.c

index 99445d4..543a31b 100644 (file)
@@ -418,6 +418,7 @@ evas_object_map_set(Evas_Object *obj, const Evas_Map *map)
                   obj->cur.map = NULL;
                   return;
                }
+             _evas_map_free(obj->cur.map);
              obj->cur.map = NULL;
              if (!obj->cur.usemap) _evas_map_calc_geom_change(obj);
              else _evas_map_calc_map_geometry(obj);
index 9818370..9a3088c 100644 (file)
@@ -54,6 +54,7 @@ evas_object_free(Evas_Object *obj, int clean_layer)
 {
    int was_smart_child = 0;
 
+   evas_object_map_set(obj, NULL);
    evas_object_grabs_cleanup(obj);
    evas_object_intercept_cleanup(obj);
    if (obj->smart.parent) was_smart_child = 1;