diff options
author | Hermet Park <hermetpark@gmail.com> | 2019-11-27 21:04:43 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2019-11-27 21:06:42 +0900 |
commit | 643dceca3d479e9edd66e52d9a7d7509ff5d4d87 (patch) | |
tree | bfff30c94ddf48188fb41b479e02aed3ac6a29c9 | |
parent | 62225a695d46b759bbd52baec8b9420a052e79a1 (diff) | |
download | efl-643dceca3d479e9edd66e52d9a7d7509ff5d4d87.tar.gz |
vector container: skip copying compositions precisely.
+ added some comments for future tasks.
-rw-r--r-- | src/lib/evas/canvas/efl_canvas_vg_container.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_vg_container.c b/src/lib/evas/canvas/efl_canvas_vg_container.c index 6168edf618..d48acf3997 100644 --- a/src/lib/evas/canvas/efl_canvas_vg_container.c +++ b/src/lib/evas/canvas/efl_canvas_vg_container.c @@ -408,7 +408,11 @@ _efl_canvas_vg_container_efl_duplicate_duplicate(const Eo *obj, //Copy Composite if (pd->comp_target) { + /* OPTIMIZE: How to skip copying the target + if this target is linked to multiple sources?? */ Eo * comp_target = efl_duplicate(pd->comp_target); + + //FIXME: comp_target parent should be its own parent(duplicated obj this case) efl_parent_set(comp_target, container); efl_canvas_vg_node_comp_method_set(container, comp_target, pd->comp.method); } @@ -417,7 +421,9 @@ _efl_canvas_vg_container_efl_duplicate_duplicate(const Eo *obj, EINA_LIST_FOREACH(pd->children, l, child) { //Skip, We already copied composite target before. - if (child == pd->comp_target) continue; + Efl_Canvas_Vg_Container_Data *pd2 = + efl_data_scope_get(child, MY_CLASS); + if (pd2->comp.src) continue; Efl_VG *eo = efl_duplicate(child); efl_parent_set(eo, container); |