2014-02-27 2:36 GMT+01:00 WooHyun Jung <wh0705.j...@samsung.com>:

> woohyun pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
>
> commit 6093e68cb01cf915057b9e330f7586039d092990
> Author: WooHyun Jung <wh0705.j...@samsung.com>
> Date:   Thu Feb 27 10:31:42 2014 +0900
>
>     evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
>
>     EINA_LIST_FREE does eina_list_remove_list, and clip_unset does
>     the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE
>     is proper for this case.
> ---
>  src/lib/evas/canvas/evas_object_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/lib/evas/canvas/evas_object_main.c
> b/src/lib/evas/canvas/evas_object_main.c
> index 9db95d4..d8d3850 100644
> --- a/src/lib/evas/canvas/evas_object_main.c
> +++ b/src/lib/evas/canvas/evas_object_main.c
> @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list
> EINA_UNUSED)
>          goto end;
>       }
>     evas_object_grabs_cleanup(eo_obj, obj);
> -   EINA_LIST_FREE(obj->clip.clipees, tmp)
> +   EINA_LIST_FOREACH_SAFE(obj->clip.clipees, l, l2, tmp)
>       evas_object_clip_unset(tmp->object);
>     EINA_LIST_FOREACH_SAFE(obj->proxy->proxies, l, l2, proxy)
>       evas_object_image_source_unset(proxy);
>

Weird, this commit is causing a segfault in the elementary photo test in
python bindings...and in my Git user interface :(

strangely the segfault seems not reproducible in the C photo test.

The segfault is triggered when elm_object_style_set(photo, "shadow") is
called.

If I revert this commit the segfault goes away, I have no idea why this is
happening, can you please give a look? Or tell me what I can check

This is the first part of the gdb backtrace:

---
Program received signal SIGSEGV, Segmentation fault.
_destructor (eo_obj=0x80000082e0000418, _pd=0xd6d470, list=<optimized out>)
    at lib/evas/canvas/evas_object_main.c:658
658          evas_object_clip_unset(tmp->object);
(gdb) bt full
#0  _destructor (eo_obj=0x80000082e0000418, _pd=0xd6d470, list=<optimized
out>)
    at lib/evas/canvas/evas_object_main.c:658
        obj = 0xd6d470
        tmp = 0x0
        proxy = <optimized out>
        l = <optimized out>
        l2 = 0x0
#1  0x00007ffff4cc17ec in _eo_op_internal (p_list=0x7fffffffc948, op=3,
op_type=EO_OP_TYPE_REGULAR,
    cur_klass=0xae0ef0, eo_ptr=0xd6d400, line=220, file=0x7ffff4cc8773
"lib/eo/eo_private.h")
    at lib/eo/eo.c:306
        func_data = <optimized out>
        calling_obj = <optimized out>
        func = 0x0
----

Thanks
davemds
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to