evas - fix incorrect object reset.
authorChunEon Park <hermet@hermet.pe.kr>
Tue, 1 Apr 2014 05:08:14 +0000 (14:08 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Tue, 1 Apr 2014 05:08:14 +0000 (14:08 +0900)
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

index 06c8abf..f1776ff 100644 (file)
@@ -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