hermet pushed a commit to branch efl-1.9.

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

commit 19180386405876c2d4853a38ce37479db412a275
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 6951d1d..10d4aac 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1334,7 +1334,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
@@ -1458,7 +1464,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