Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-10 Thread Davide Andreoli
2014-03-08 10:01 GMT+01:00 Davide Andreoli d...@gurumeditation.it:


 2014-03-07 9:33 GMT+01:00 woohyun woo_hyun0...@naver.com:

 It would be much helpful if you can give the valgrind trace :)
 Only with the result of gdb, it's little bit hard to check ~


 I do have the valgrid output but I now the segfault seems reproducible
 also in the C elm test.
 Please try:
 elementary_test -to Photo


woohyun: so? any news about the issue? did you tested as I suggest?

People are going to make a stable release and your commit is going to be
included, but it is still broken. Please fix it asap or we will need to
revert it.

Thanks






 -Original Message-
 From: Davide Andreolilt;d...@gurumeditation.itgt;
 To: Enlightenment developer list
 lt;enlightenment-devel@lists.sourceforge.netgt;;
 Cc:
 Sent: 2014-03-07 (금) 16:22:43
 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace
 EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

 2014-03-06 23:28 GMT+01:00 Cedric BAIL lt;cedric.bailgt;@free.frgt;:

 gt; On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli 
 lt;davegt;@gurumeditation.itgt;
 gt; wrote:
 gt; gt; 2014-02-27 2:36 GMT+01:00 WooHyun Jung 
 lt;wh0705.junggt;@samsung.comgt;:
 gt; gt;
 gt; gt;gt; woohyun pushed a commit to branch master.
 gt; gt;gt;
 gt; gt;gt;
 gt; gt;gt;
 gt;
 http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
 gthttp://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990gt;
 gt;gt;
 gt; gt;gt; commit 6093e68cb01cf915057b9e330f7586039d092990
 gt; gt;gt; Author: WooHyun Jung lt;wh0705.junggt;@samsung.comgt;
 gt; gt;gt; Date:   Thu Feb 27 10:31:42 2014 +0900
 gt; gt;gt;
 gt; gt;gt; evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
 gt; gt;gt;
 gt; gt;gt; EINA_LIST_FREE does eina_list_remove_list, and
 clip_unset does
 gt; gt;gt; the same thing to the same list pointer. So,
 EINA_LIST_FOREACH_SAFE
 gt; gt;gt; is proper for this case.
 gt; gt;gt; ---
 gt; gt;gt;  src/lib/evas/canvas/evas_object_main.c | 2 +-
 gt; gt;gt;  1 file changed, 1 insertion(+), 1 deletion(-)
 gt; gt;gt;
 gt; gt;gt; diff --git a/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; b/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; index 9db95d4..d8d3850 100644
 gt; gt;gt; --- a/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; +++ b/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd,
 va_list *list
 gt; gt;gt; EINA_UNUSED)
 gt; gt;gt;  goto end;
 gt; gt;gt;   }
 gt; gt;gt; evas_object_grabs_cleanup(eo_obj, obj);
 gt; gt;gt; -   EINA_LIST_FREE(obj-gt;clip.clipees, tmp)
 gt; gt;gt; +   EINA_LIST_FOREACH_SAFE(obj-gt;clip.clipees, l, l2, tmp)
 gt; gt;gt;   evas_object_clip_unset(tmp-gt;object);
 gt; gt;gt; EINA_LIST_FOREACH_SAFE(obj-gt;proxy-gt;proxies, l,
 l2, proxy)
 gt; gt;gt;   evas_object_image_source_unset(proxy);
 gt; gt;gt;
 gt; gt;
 gt; gt; Weird, this commit is causing a segfault in the elementary
 photo test in
 gt; gt; python bindings...and in my Git user interface :(
 gt; gt;
 gt; gt; strangely the segfault seems not reproducible in the C photo
 test.
 gt; gt;
 gt; gt; The segfault is triggered when elm_object_style_set(photo,
 shadow) is
 gt; gt; called.
 gt; gt;
 gt; gt; If I revert this commit the segfault goes away, I have no idea
 why this
 gt; is
 gt; gt; happening, can you please give a look? Or tell me what I can
 check
 gt; gt;
 gt; gt; This is the first part of the gdb backtrace:
 gt;
 gt; Would you have valgrind trace to ?
 gt;

 No, sorry, I never used valgrind in python apps, dunno how to make it. If
 it is really needed I can make a try this evening


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

 --
 Subversion Kills Productivity. Get off Subversion amp; 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

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-10 Thread woohyun
I have researched this issue - but didn't get the reason.
I'll try to fix it asap. Sorry for giving unstability. 
  
 
-Original Message-
From: Davide Andreolilt;d...@gurumeditation.itgt; 
To: Enlightenment developer 
listlt;enlightenment-devel@lists.sourceforge.netgt;; 
Cc: 
Sent: 2014-03-11 (화) 05:48:04
Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace 
EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-08 10:01 GMT+01:00 Davide Andreoli lt;davegt;@gurumeditation.itgt;:

gt;
gt; 2014-03-07 9:33 GMT+01:00 woohyun lt;woo_hyun0705gt;@naver.comgt;:
gt;
gt; It would be much helpful if you can give the valgrind trace :)
gt;gt; Only with the result of gdb, it's little bit hard to check ~
gt;gt;
gt;
gt; I do have the valgrid output but I now the segfault seems reproducible
gt; also in the C elm test.
gt; Please try:
gt; elementary_test -to Photo
gt;

woohyun: so? any news about the issue? did you tested as I suggest?

People are going to make a stable release and your commit is going to be
included, but it is still broken. Please fix it asap or we will need to
revert it.

Thanks


gt;
gt;
gt;
gt;gt;
gt;gt; -Original Message-
gt;gt; From: Davide Andreolilt;d...@gurumeditation.itgt;
gt;gt; To: Enlightenment developer listamp;
gt;gt; lt;enlightenment-devel@lists.sourceforge.netgt;;
gt;gt; Cc:
gt;gt; Sent: 2014-03-07 (금) 16:22:43
gt;gt; Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace
gt;gt; EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
gt;gt;
gt;gt; 2014-03-06 23:28 GMT+01:00 Cedric BAIL lt;cedric.bailgt;@free.frgt;:
gt;gt;
gt;gt; gt; On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli amp;
gt;gt; lt;davegt;@gurumeditation.itgt;
gt;gt; gt; wrote:
gt;gt; gt; gt; 2014-02-27 2:36 GMT+01:00 WooHyun Jung amp;
gt;gt; lt;wh0705.junggt;@samsung.comgt;:
gt;gt; gt; gt;
gt;gt; gt; gt;gt; woohyun pushed a commit to branch master.
gt;gt; gt; gt;gt;
gt;gt; gt; gt;gt;
gt;gt; gt; gt;gt;
gt;gt; gt;
gt;gt; 
http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
gt;gt; 
gt;lt;http:gt;//git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990gt;gt;;
gt;gt; gt;gt;
gt;gt; gt; gt;gt; commit 6093e68cb01cf915057b9e330f7586039d092990
gt;gt; gt; gt;gt; Author: WooHyun Jung lt;wh0705.junggt;@samsung.comgt;
gt;gt; gt; gt;gt; Date:   Thu Feb 27 10:31:42 2014 +0900
gt;gt; gt; gt;gt;
gt;gt; gt; gt;gt; evas: replace EINA_LIST_FREE to 
EINA_LIST_FOREACH_SAFE.
gt;gt; gt; gt;gt;
gt;gt; gt; gt;gt; EINA_LIST_FREE does eina_list_remove_list, and
gt;gt; clip_unset does
gt;gt; gt; gt;gt; the same thing to the same list pointer. So,
gt;gt; EINA_LIST_FOREACH_SAFE
gt;gt; gt; gt;gt; is proper for this case.
gt;gt; gt; gt;gt; ---
gt;gt; gt; gt;gt;  src/lib/evas/canvas/evas_object_main.c | 2 +-
gt;gt; gt; gt;gt;  1 file changed, 1 insertion(+), 1 deletion(-)
gt;gt; gt; gt;gt;
gt;gt; gt; gt;gt; diff --git a/src/lib/evas/canvas/evas_object_main.c
gt;gt; gt; gt;gt; b/src/lib/evas/canvas/evas_object_main.c
gt;gt; gt; gt;gt; index 9db95d4..d8d3850 100644
gt;gt; gt; gt;gt; --- a/src/lib/evas/canvas/evas_object_main.c
gt;gt; gt; gt;gt; +++ b/src/lib/evas/canvas/evas_object_main.c
gt;gt; gt; gt;gt; @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd,
gt;gt; va_list *list
gt;gt; gt; gt;gt; EINA_UNUSED)
gt;gt; gt; gt;gt;  goto end;
gt;gt; gt; gt;gt;   }
gt;gt; gt; gt;gt; evas_object_grabs_cleanup(eo_obj, obj);
gt;gt; gt; gt;gt; -   EINA_LIST_FREE(obj-gt;clip.clipees, tmp)
gt;gt; gt; gt;gt; +   EINA_LIST_FOREACH_SAFE(obj-gt;clip.clipees, l, l2, 
tmp)
gt;gt; gt; gt;gt;   evas_object_clip_unset(tmp-gt;object);
gt;gt; gt; gt;gt; EINA_LIST_FOREACH_SAFE(obj-gt;proxy-gt;proxies, l,
gt;gt; l2, proxy)
gt;gt; gt; gt;gt;   evas_object_image_source_unset(proxy);
gt;gt; gt; gt;gt;
gt;gt; gt; gt;
gt;gt; gt; gt; Weird, this commit is causing a segfault in the elementary
gt;gt; photo test in
gt;gt; gt; gt; python bindings...and in my Git user interface :(
gt;gt; gt; gt;
gt;gt; gt; gt; strangely the segfault seems not reproducible in the C photo
gt;gt; test.
gt;gt; gt; gt;
gt;gt; gt; gt; The segfault is triggered when elm_object_style_set(photo,
gt;gt; shadow) is
gt;gt; gt; gt; called.
gt;gt; gt; gt;
gt;gt; gt; gt; If I revert this commit the segfault goes away, I have no 
idea
gt;gt; why this
gt;gt; gt; is
gt;gt; gt; gt; happening, can you please give a look? Or tell me what I can
gt;gt; check
gt;gt; gt; gt;
gt;gt; gt; gt; This is the first part of the gdb backtrace:
gt;gt; gt;
gt;gt; gt; Would you have valgrind trace to ?
gt;gt; gt;
gt;gt;
gt;gt; No, sorry, I never used valgrind in python apps, dunno how to make it. 
If
gt;gt; it is really needed I can make a try this evening
gt;gt;
gt;gt;
gt;gt; gt; --
gt;gt; gt; Cedric BAIL
gt;gt; gt;
gt;gt; gt;
gt;gt; gt;
gt;gt; 
--
gt;gt; gt; Subversion Kills Productivity. Get off Subversion amp; Make the
gt;gt

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-08 Thread Davide Andreoli
2014-03-07 9:33 GMT+01:00 woohyun woo_hyun0...@naver.com:

 It would be much helpful if you can give the valgrind trace :)
 Only with the result of gdb, it's little bit hard to check ~


I do have the valgrid output but I now the segfault seems reproducible also
in the C elm test.
Please try:
elementary_test -to Photo




 -Original Message-
 From: Davide Andreolilt;d...@gurumeditation.itgt;
 To: Enlightenment developer list
 lt;enlightenment-devel@lists.sourceforge.netgt;;
 Cc:
 Sent: 2014-03-07 (금) 16:22:43
 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace
 EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

 2014-03-06 23:28 GMT+01:00 Cedric BAIL lt;cedric.bailgt;@free.frgt;:

 gt; On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli 
 lt;davegt;@gurumeditation.itgt;
 gt; wrote:
 gt; gt; 2014-02-27 2:36 GMT+01:00 WooHyun Jung 
 lt;wh0705.junggt;@samsung.comgt;:
 gt; gt;
 gt; gt;gt; woohyun pushed a commit to branch master.
 gt; gt;gt;
 gt; gt;gt;
 gt; gt;gt;
 gt;
 http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
 gt; gt;gt;
 gt; gt;gt; commit 6093e68cb01cf915057b9e330f7586039d092990
 gt; gt;gt; Author: WooHyun Jung lt;wh0705.junggt;@samsung.comgt;
 gt; gt;gt; Date:   Thu Feb 27 10:31:42 2014 +0900
 gt; gt;gt;
 gt; gt;gt; evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
 gt; gt;gt;
 gt; gt;gt; EINA_LIST_FREE does eina_list_remove_list, and
 clip_unset does
 gt; gt;gt; the same thing to the same list pointer. So,
 EINA_LIST_FOREACH_SAFE
 gt; gt;gt; is proper for this case.
 gt; gt;gt; ---
 gt; gt;gt;  src/lib/evas/canvas/evas_object_main.c | 2 +-
 gt; gt;gt;  1 file changed, 1 insertion(+), 1 deletion(-)
 gt; gt;gt;
 gt; gt;gt; diff --git a/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; b/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; index 9db95d4..d8d3850 100644
 gt; gt;gt; --- a/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; +++ b/src/lib/evas/canvas/evas_object_main.c
 gt; gt;gt; @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd,
 va_list *list
 gt; gt;gt; EINA_UNUSED)
 gt; gt;gt;  goto end;
 gt; gt;gt;   }
 gt; gt;gt; evas_object_grabs_cleanup(eo_obj, obj);
 gt; gt;gt; -   EINA_LIST_FREE(obj-gt;clip.clipees, tmp)
 gt; gt;gt; +   EINA_LIST_FOREACH_SAFE(obj-gt;clip.clipees, l, l2, tmp)
 gt; gt;gt;   evas_object_clip_unset(tmp-gt;object);
 gt; gt;gt; EINA_LIST_FOREACH_SAFE(obj-gt;proxy-gt;proxies, l, l2,
 proxy)
 gt; gt;gt;   evas_object_image_source_unset(proxy);
 gt; gt;gt;
 gt; gt;
 gt; gt; Weird, this commit is causing a segfault in the elementary photo
 test in
 gt; gt; python bindings...and in my Git user interface :(
 gt; gt;
 gt; gt; strangely the segfault seems not reproducible in the C photo
 test.
 gt; gt;
 gt; gt; The segfault is triggered when elm_object_style_set(photo,
 shadow) is
 gt; gt; called.
 gt; gt;
 gt; gt; If I revert this commit the segfault goes away, I have no idea
 why this
 gt; is
 gt; gt; happening, can you please give a look? Or tell me what I can
 check
 gt; gt;
 gt; gt; This is the first part of the gdb backtrace:
 gt;
 gt; Would you have valgrind trace to ?
 gt;

 No, sorry, I never used valgrind in python apps, dunno how to make it. If
 it is really needed I can make a try this evening


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

 --
 Subversion Kills Productivity. Get off Subversion amp; 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=122218951amp;iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



 --
 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

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-07 Thread woohyun
It would be much helpful if you can give the valgrind trace :)
Only with the result of gdb, it's little bit hard to check ~ 
 
-Original Message-
From: Davide Andreolilt;d...@gurumeditation.itgt; 
To: Enlightenment developer 
listlt;enlightenment-devel@lists.sourceforge.netgt;; 
Cc: 
Sent: 2014-03-07 (금) 16:22:43
Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace 
EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-06 23:28 GMT+01:00 Cedric BAIL lt;cedric.bailgt;@free.frgt;:

gt; On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli 
lt;davegt;@gurumeditation.itgt;
gt; wrote:
gt; gt; 2014-02-27 2:36 GMT+01:00 WooHyun Jung 
lt;wh0705.junggt;@samsung.comgt;:
gt; gt;
gt; gt;gt; woohyun pushed a commit to branch master.
gt; gt;gt;
gt; gt;gt;
gt; gt;gt;
gt; 
http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
gt; gt;gt;
gt; gt;gt; commit 6093e68cb01cf915057b9e330f7586039d092990
gt; gt;gt; Author: WooHyun Jung lt;wh0705.junggt;@samsung.comgt;
gt; gt;gt; Date:   Thu Feb 27 10:31:42 2014 +0900
gt; gt;gt;
gt; gt;gt; evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
gt; gt;gt;
gt; gt;gt; EINA_LIST_FREE does eina_list_remove_list, and clip_unset does
gt; gt;gt; the same thing to the same list pointer. So, 
EINA_LIST_FOREACH_SAFE
gt; gt;gt; is proper for this case.
gt; gt;gt; ---
gt; gt;gt;  src/lib/evas/canvas/evas_object_main.c | 2 +-
gt; gt;gt;  1 file changed, 1 insertion(+), 1 deletion(-)
gt; gt;gt;
gt; gt;gt; diff --git a/src/lib/evas/canvas/evas_object_main.c
gt; gt;gt; b/src/lib/evas/canvas/evas_object_main.c
gt; gt;gt; index 9db95d4..d8d3850 100644
gt; gt;gt; --- a/src/lib/evas/canvas/evas_object_main.c
gt; gt;gt; +++ b/src/lib/evas/canvas/evas_object_main.c
gt; gt;gt; @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd, va_list 
*list
gt; gt;gt; EINA_UNUSED)
gt; gt;gt;  goto end;
gt; gt;gt;   }
gt; gt;gt; evas_object_grabs_cleanup(eo_obj, obj);
gt; gt;gt; -   EINA_LIST_FREE(obj-gt;clip.clipees, tmp)
gt; gt;gt; +   EINA_LIST_FOREACH_SAFE(obj-gt;clip.clipees, l, l2, tmp)
gt; gt;gt;   evas_object_clip_unset(tmp-gt;object);
gt; gt;gt; EINA_LIST_FOREACH_SAFE(obj-gt;proxy-gt;proxies, l, l2, 
proxy)
gt; gt;gt;   evas_object_image_source_unset(proxy);
gt; gt;gt;
gt; gt;
gt; gt; Weird, this commit is causing a segfault in the elementary photo test 
in
gt; gt; python bindings...and in my Git user interface :(
gt; gt;
gt; gt; strangely the segfault seems not reproducible in the C photo test.
gt; gt;
gt; gt; The segfault is triggered when elm_object_style_set(photo, shadow) 
is
gt; gt; called.
gt; gt;
gt; gt; If I revert this commit the segfault goes away, I have no idea why 
this
gt; is
gt; gt; happening, can you please give a look? Or tell me what I can check
gt; gt;
gt; gt; This is the first part of the gdb backtrace:
gt;
gt; Would you have valgrind trace to ?
gt;

No, sorry, I never used valgrind in python apps, dunno how to make it. If
it is really needed I can make a try this evening


gt; --
gt; Cedric BAIL
gt;
gt;
gt; 
--
gt; Subversion Kills Productivity. Get off Subversion amp; Make the Move to
gt; Perforce.
gt; With Perforce, you get hassle-free workflows. Merge that actually works.
gt; Faster operations. Version large binaries.  Built-in WAN optimization and
gt; the
gt; freedom to use Git, Perforce or both. Make the move to Perforce.
gt;
gt; 
http://pubads.g.doubleclick.net/gampad/clk?id=122218951amp;iu=/4140/ostg.clktrk
gt; ___
gt; enlightenment-devel mailing list
gt; enlightenment-devel@lists.sourceforge.net
gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
gt;
--
Subversion Kills Productivity. Get off Subversion amp; 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=122218951amp;iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

 
--
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=122218951iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-06 Thread Davide Andreoli
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=0x8082e418, _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=0x8082e418, _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  0x74cc17ec in _eo_op_internal (p_list=0x7fffc948, op=3,
op_type=EO_OP_TYPE_REGULAR,
cur_klass=0xae0ef0, eo_ptr=0xd6d400, line=220, file=0x74cc8773
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=122218951iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-06 Thread Cedric BAIL
On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli d...@gurumeditation.it wrote:
 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:

Would you have valgrind trace to ?
-- 
Cedric BAIL

--
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=122218951iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-06 Thread Davide Andreoli
2014-03-06 23:28 GMT+01:00 Cedric BAIL cedric.b...@free.fr:

 On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli d...@gurumeditation.it
 wrote:
  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:

 Would you have valgrind trace to ?


No, sorry, I never used valgrind in python apps, dunno how to make it. If
it is really needed I can make a try this evening


 --
 Cedric BAIL


 --
 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=122218951iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
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=122218951iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-04 Thread Gustavo Sverzut Barbieri
On Sat, Mar 1, 2014 at 2:18 AM, Daniel Juyung Seo seojuyu...@gmail.com wrote:
 On Thu, Feb 27, 2014 at 11:46 PM, Gustavo Sverzut Barbieri 
 barbi...@gmail.com wrote:

 On Wed, Feb 26, 2014 at 10:36 PM, WooHyun Jung wh0705.j...@samsung.com
 wrote:
  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);

 if that's the case then a saner approach is to NULL obj-clip.clipees
 and then iterate the list:

 l = obj-clip.clipees;
 obj-clip.clipees = NULL;
 EINA_LIST_FREE(l, tmp)
evas_object_clip_unset(tmp-obj)

 of course you may have to clear tmp and whatever is needed to do here as
 well.


 the solution above is simpler and should be faster than your solution
 using the foreach-safe version.


 Dear Barbieri,
 thanks for the suggestion.

 But when I look at the evas_object_clip_unset(), it looks like your
 approach has no benefit.
 https://git.enlightenment.org/core/efl.git/tree/src/lib/evas/canvas/evas_clip.c#n400
 In line number 401, if obj-cur-clipper-clip.clipees is NULL, it will
 trigger the following codes.

 if (!obj-cur-clipper-clip.clipees)
   {
  EINA_COW_STATE_WRITE_BEGIN(obj-cur-clipper, state_write, cur)
{
   state_write-have_clipees = 0;
}
  EINA_COW_STATE_WRITE_END(obj-cur-clipper, state_write, cur);

  if ((obj-cur-clipper-cur)  (obj-cur-clipper-cur-visible))
{
   if (obj-cur-clipper-layer)
 {
Evas_Public_Data *e = obj-cur-clipper-layer-evas;
evas_damage_rectangle_add(e-evas,
  obj-cur-clipper-cur-geometry.x
 + e-framespace.x,
  obj-cur-clipper-cur-geometry.y
 + e-framespace.y,
  obj-cur-clipper-cur-geometry.w,

 obj-cur-clipper-cur-geometry.h);
 }
}
   }

 So Woohyun's approach looks ok to me.

 evas_object_image_source_unset() does the same thing.
 So the current code looks like:
 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);

 https://git.enlightenment.org/core/efl.git/tree/src/lib/evas/canvas/evas_object_main.c#n659

 How do you think?

I think that we should have a private version that doesn't do what is
being done right now that is shared between the cleanup/destructor
version we're doing and the actual clip_unset(). The clip_unset()
version would still have the code you listed, the cleanup wouldn't.

Of course we shouldn't be executing the have_clipees or adding damage
rect if we're going to die. But we shouldn't be going thru eo or all
those checks anyway.

same applies to source_unset().

-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 9225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
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=122218951iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-02-28 Thread Daniel Juyung Seo
On Thu, Feb 27, 2014 at 11:46 PM, Gustavo Sverzut Barbieri 
barbi...@gmail.com wrote:

 On Wed, Feb 26, 2014 at 10:36 PM, WooHyun Jung wh0705.j...@samsung.com
 wrote:
  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);

 if that's the case then a saner approach is to NULL obj-clip.clipees
 and then iterate the list:

 l = obj-clip.clipees;
 obj-clip.clipees = NULL;
 EINA_LIST_FREE(l, tmp)
evas_object_clip_unset(tmp-obj)

 of course you may have to clear tmp and whatever is needed to do here as
 well.


 the solution above is simpler and should be faster than your solution
 using the foreach-safe version.


Dear Barbieri,
thanks for the suggestion.

But when I look at the evas_object_clip_unset(), it looks like your
approach has no benefit.
https://git.enlightenment.org/core/efl.git/tree/src/lib/evas/canvas/evas_clip.c#n400
In line number 401, if obj-cur-clipper-clip.clipees is NULL, it will
trigger the following codes.

if (!obj-cur-clipper-clip.clipees)
  {
 EINA_COW_STATE_WRITE_BEGIN(obj-cur-clipper, state_write, cur)
   {
  state_write-have_clipees = 0;
   }
 EINA_COW_STATE_WRITE_END(obj-cur-clipper, state_write, cur);

 if ((obj-cur-clipper-cur)  (obj-cur-clipper-cur-visible))
   {
  if (obj-cur-clipper-layer)
{
   Evas_Public_Data *e = obj-cur-clipper-layer-evas;
   evas_damage_rectangle_add(e-evas,
 obj-cur-clipper-cur-geometry.x
+ e-framespace.x,
 obj-cur-clipper-cur-geometry.y
+ e-framespace.y,
 obj-cur-clipper-cur-geometry.w,

obj-cur-clipper-cur-geometry.h);
}
   }
  }

So Woohyun's approach looks ok to me.

evas_object_image_source_unset() does the same thing.
So the current code looks like:
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);

https://git.enlightenment.org/core/efl.git/tree/src/lib/evas/canvas/evas_object_main.c#n659

How do you think?

Daniel Juyung Seo (SeoZ)


 --
 Gustavo Sverzut Barbieri
 --
 Mobile: +55 (19) 9225-2202
 Contact: http://www.gustavobarbieri.com.br/contact


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-02-27 Thread Gustavo Sverzut Barbieri
On Wed, Feb 26, 2014 at 10:36 PM, WooHyun Jung wh0705.j...@samsung.com wrote:
 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);

if that's the case then a saner approach is to NULL obj-clip.clipees
and then iterate the list:

l = obj-clip.clipees;
obj-clip.clipees = NULL;
EINA_LIST_FREE(l, tmp)
   evas_object_clip_unset(tmp-obj)

of course you may have to clear tmp and whatever is needed to do here as well.


the solution above is simpler and should be faster than your solution
using the foreach-safe version.

-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 9225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-02-26 Thread WooHyun Jung
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);

--