raster pushed a commit to branch efl-1.8.

http://git.enlightenment.org/core/efl.git/commit/?id=e9eb224a39c767c9922278df55a0948e4b7371a7

commit e9eb224a39c767c9922278df55a0948e4b7371a7
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu Jan 2 09:26:34 2014 +0900

    fix map-across-mark patch from sergey in december 2013
    
    stable release - cherry-pick me!
    
    of course! eina_hash_direct_add() for the object pointer is using the
    poitner to the stack value, not the value itself it points to... this
    was bad and just by luck out value was on the stack that grows but
    never shrinks and thus never crashes, BUT... it will just break in all
    sorts of fun ways. basically it makes the hash useless as the keys in
    it are effectively all the SAME value as they point to the same
    storage.. but it changes whenever that stack mem gets changed.
    
    Conflicts:
        src/lib/evas/canvas/evas_clip.c
---
 src/lib/evas/canvas/evas_clip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index a3f7480..d3788a9 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -84,7 +84,7 @@ evas_object_child_map_across_mark(Evas_Object *eo_obj, 
Evas_Object_Protected_Dat
         clear_visited = EINA_TRUE;
      }
    if (eina_hash_find(visited, &eo_obj) == (void *)1) return;
-   else eina_hash_direct_add(visited, &eo_obj, (void *)1);
+   else eina_hash_add(visited, &eo_obj, (void *)1);
    
    if ((obj->map->cur.map_parent != map_obj) || force)
      {

-- 


Reply via email to