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