map: Fix efl.gfx.map render
authorJean-Philippe Andre <jp.andre@samsung.com>
Fri, 9 Jun 2017 04:46:33 +0000 (13:46 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 9 Jun 2017 04:46:33 +0000 (13:46 +0900)
Internally the call to map_reset was setting the count to 0
rendering the map data invalid and useless.

src/lib/evas/canvas/evas_map.c

index 5dd5fc1..6e81c77 100644 (file)
@@ -171,7 +171,8 @@ _evas_map_new(int count, Eina_Bool sync)
 void
 _evas_map_reset(Evas_Map *m)
 {
-   int alloc;
+   int alloc, count;
+   Eina_Bool sync;
 
    if (!m) return;
 
@@ -180,8 +181,10 @@ _evas_map_reset(Evas_Map *m)
    alloc = (m->count < 4) ? 4 : m->count;
    if (alloc & 0x1) alloc ++;
 
+   count = m->count;
+   sync = m->move_sync.enabled;
    memset(m, 0, sizeof(Evas_Map) + (alloc * sizeof(Evas_Map_Point)));
-   _evas_map_init(m, m->count, m->move_sync.enabled);
+   _evas_map_init(m, count, sync);
 }
 
 static inline Eina_Bool