summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_map.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2013-01-24 01:43:03 +0000
committerCedric BAIL <cedric.bail@free.fr>2013-01-24 01:43:03 +0000
commitbe0f7fcaa0c880765dc22ba9fd8e1b3bcb1af11c (patch)
treea459dcadab662d89aafbb3e3b96afbf448f4fc56 /src/lib/evas/canvas/evas_map.c
parent05b4d1b3cde02c6d5509b8188434d8de29b452f1 (diff)
efl/evas: don't over write when not needed.
SVN revision: 83192
Diffstat (limited to 'src/lib/evas/canvas/evas_map.c')
-rw-r--r--src/lib/evas/canvas/evas_map.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/evas/canvas/evas_map.c b/src/lib/evas/canvas/evas_map.c
index 3f5b406..05efdd9 100644
--- a/src/lib/evas/canvas/evas_map.c
+++ b/src/lib/evas/canvas/evas_map.c
@@ -590,14 +590,15 @@ _map_set(Eo *eo_obj, void *_pd, va_list *list)
590 return; 590 return;
591 } 591 }
592 592
593 if (obj->map->prev.map == obj->map->cur.map) 593 if (obj->map->prev.map != NULL &&
594 obj->map->prev.map == obj->map->cur.map)
594 { 595 {
595 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) 596 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write)
596 map_write->cur.map = NULL; 597 map_write->cur.map = NULL;
597 EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write); 598 EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write);
598 } 599 }
599 600
600 if (!obj->map->cur.map) 601 if (!obj->map->cur.map && obj->map->cache_map)
601 { 602 {
602 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) 603 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write)
603 { 604 {