diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index ae5cc216e7..942f9f6e0a 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -12,3 +12,7 @@ 2012-04-30 Jérôme Pinot * Add missing files in the tarballs. + +2012-05-02 Cedric Bail + + * Do less allocation and reuse much more Evas_Map. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 0cf1b6dc8d..30d6ace161 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -13,5 +13,7 @@ Fixes: Improvements: + * Allocate once and reuse Evas_Map. + Removal: diff --git a/legacy/elementary/src/lib/elm_flip.c b/legacy/elementary/src/lib/elm_flip.c index d02acdd871..f30c4159a8 100644 --- a/legacy/elementary/src/lib/elm_flip.c +++ b/legacy/elementary/src/lib/elm_flip.c @@ -197,10 +197,10 @@ _slice_apply(Widget_Data *wd, Slice *sl, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__, Evas_Coord w, Evas_Coord h __UNUSED__, Evas_Coord ox, Evas_Coord oy, Evas_Coord ow, Evas_Coord oh) { - Evas_Map *m; + static Evas_Map *m = NULL; int i; - m = evas_map_new(4); + if (!m) m = evas_map_new(4); if (!m) return; evas_map_smooth_set(m, EINA_FALSE); for (i = 0; i < 4; i++) @@ -238,7 +238,6 @@ _slice_apply(Widget_Data *wd, Slice *sl, Evas_Coord x __UNUSED__, evas_object_map_enable_set(sl->obj, EINA_TRUE); evas_object_image_fill_set(sl->obj, 0, 0, ow, oh); evas_object_map_set(sl->obj, m); - evas_map_free(m); } static void