hermet pushed a commit to branch master.

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

commit 22162a66f37536caa6dd0ce3ef0753886f478af4
Author: ChunEon Park <her...@hermet.pe.kr>
Date:   Tue Apr 1 14:08:14 2014 +0900

    evas - fix incorrect object reset.
    
    If the children are rendered in the proxy render time,
    they should not be reset the changes always since we don't sure
    they will be rendered in normal rendering after.
    
    In this case, we leave them as they are.
    But maybe they can be optimized by comments says.
    
    @fix
---
 src/lib/evas/canvas/evas_render.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 06c8abf..f1776ff 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1294,7 +1294,13 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
                                                            , level + 1
 #endif
                                                            , do_async);
-                          evas_object_change_reset(obj2->object);
+                          /* We aren't sure this object will be rendered by
+                             normal(not proxy) drawing after, we reset this
+                             only in case of normal drawing. For optmizing,
+                             push this object in an array then reset them 
+                             in the end of the rendering.*/
+                          if (!proxy_render_data)
+                            evas_object_change_reset(obj2->object);
                        }
                }
              else
@@ -1418,7 +1424,13 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
                                                            , level + 1
 #endif
                                                            , do_async);
-                          evas_object_change_reset(obj2->object);
+                          /* We aren't sure this object will be rendered by
+                             normal(not proxy) drawing after, we reset this
+                             only in case of normal drawing. For optmizing,
+                             push this object in an array then reset them 
+                             in the end of the rendering.*/
+                          if (!proxy_render_data)
+                            evas_object_change_reset(obj2->object);
                        }
                }
              else

-- 


Reply via email to