From: cedric Date: Wed, 2 May 2012 04:37:39 +0000 (+0000) Subject: evas: so we did have a test to check if we could reuse the same map pointer, X-Git-Tag: 2.0_alpha~50^2~179 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b101f6345ae362628748ce82c6245aac485ac579;p=framework%2Fuifw%2Fevas.git evas: so we did have a test to check if we could reuse the same map pointer, but instead we did a malloc, a double memcpy and a free. WTH ? git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@70593 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/canvas/evas_map.c b/src/lib/canvas/evas_map.c index 46ac024..640702e 100644 --- a/src/lib/canvas/evas_map.c +++ b/src/lib/canvas/evas_map.c @@ -514,12 +514,9 @@ evas_object_map_set(Evas_Object *obj, const Evas_Map *map) if ((obj->cur.map) && (obj->cur.map->count == map->count)) { - Evas_Map *omap = obj->cur.map; - obj->cur.map = _evas_map_new(map->count); - memcpy(obj->cur.map, omap, sizeof(Evas_Map) + (map->count * sizeof(Evas_Map_Point))); + /* We do have the same exact count of point in this map, so just copy it */ _evas_map_copy(obj->cur.map, map); - if (obj->prev.map == omap) obj->prev.map = NULL; - free(omap); + if (obj->prev.map == obj->cur.map) obj->prev.map = NULL; } else {