jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d5eb9bd590b11ee8f9821590031dfda015e05a81
commit d5eb9bd590b11ee8f9821590031dfda015e05a81 Author: Daniel Zaoui <[email protected]> Date: Tue Oct 21 08:45:32 2014 +0300 Evas-3D: invoke eo_do_super in destructors. --- src/lib/evas/canvas/evas_3d_camera.c | 3 ++- src/lib/evas/canvas/evas_3d_light.c | 3 ++- src/lib/evas/canvas/evas_3d_material.c | 1 + src/lib/evas/canvas/evas_3d_mesh.c | 3 ++- src/lib/evas/canvas/evas_3d_node.c | 6 ------ src/lib/evas/canvas/evas_3d_node.eo | 1 - src/lib/evas/canvas/evas_3d_scene.c | 6 ------ src/lib/evas/canvas/evas_3d_scene.eo | 1 - src/lib/evas/canvas/evas_3d_texture.c | 1 + 9 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/lib/evas/canvas/evas_3d_camera.c b/src/lib/evas/canvas/evas_3d_camera.c index 08a8ab6..d8a7d24 100644 --- a/src/lib/evas/canvas/evas_3d_camera.c +++ b/src/lib/evas/canvas/evas_3d_camera.c @@ -71,11 +71,12 @@ _evas_3d_camera_eo_base_constructor(Eo *obj, } EOLIAN static void -_evas_3d_camera_eo_base_destructor(Eo *obj EINA_UNUSED, +_evas_3d_camera_eo_base_destructor(Eo *obj, Evas_3D_Camera_Data *pd) { //evas_3d_object_unreference(&pd->base); if (pd->nodes) eina_hash_free(pd->nodes); + eo_do_super(obj, MY_CLASS, eo_destructor()); } EAPI Evas_3D_Camera * diff --git a/src/lib/evas/canvas/evas_3d_light.c b/src/lib/evas/canvas/evas_3d_light.c index 74718b2..f9ca75b 100644 --- a/src/lib/evas/canvas/evas_3d_light.c +++ b/src/lib/evas/canvas/evas_3d_light.c @@ -95,10 +95,11 @@ _evas_3d_light_eo_base_constructor(Eo *obj, Evas_3D_Light_Data *pd) } EOLIAN static void -_evas_3d_light_eo_base_destructor(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd) +_evas_3d_light_eo_base_destructor(Eo *obj, Evas_3D_Light_Data *pd) { if (pd->nodes) eina_hash_free(pd->nodes); + eo_do_super(obj, MY_CLASS, eo_destructor()); } diff --git a/src/lib/evas/canvas/evas_3d_material.c b/src/lib/evas/canvas/evas_3d_material.c index 8736403..8cd325d 100644 --- a/src/lib/evas/canvas/evas_3d_material.c +++ b/src/lib/evas/canvas/evas_3d_material.c @@ -117,6 +117,7 @@ _evas_3d_material_eo_base_destructor(Eo *obj, Evas_3D_Material_Data *pd) //eo_unref(pd->attribs[i].texture); } } + eo_do_super(obj, MY_CLASS, eo_destructor()); } EOLIAN static void diff --git a/src/lib/evas/canvas/evas_3d_mesh.c b/src/lib/evas/canvas/evas_3d_mesh.c index 98b2dec..7b47a20 100644 --- a/src/lib/evas/canvas/evas_3d_mesh.c +++ b/src/lib/evas/canvas/evas_3d_mesh.c @@ -254,10 +254,11 @@ _evas_3d_mesh_eo_base_constructor(Eo *obj, Evas_3D_Mesh_Data *pd) } EOLIAN static void -_evas_3d_mesh_eo_base_destructor(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) +_evas_3d_mesh_eo_base_destructor(Eo *obj, Evas_3D_Mesh_Data *pd) { //evas_3d_object_unreference(&pd->base); _mesh_fini(pd); + eo_do_super(obj, MY_CLASS, eo_destructor()); } EOLIAN static void diff --git a/src/lib/evas/canvas/evas_3d_node.c b/src/lib/evas/canvas/evas_3d_node.c index c7f3604..cb37f92 100644 --- a/src/lib/evas/canvas/evas_3d_node.c +++ b/src/lib/evas/canvas/evas_3d_node.c @@ -812,12 +812,6 @@ _evas_3d_node_constructor(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node_Type type } } -EOLIAN static void -_evas_3d_node_eo_base_destructor(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED) -{ - eo_unref(obj); -} - EOLIAN static Evas_3D_Node_Type _evas_3d_node_type_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) { diff --git a/src/lib/evas/canvas/evas_3d_node.eo b/src/lib/evas/canvas/evas_3d_node.eo index 60b9d9e..5046f44 100644 --- a/src/lib/evas/canvas/evas_3d_node.eo +++ b/src/lib/evas/canvas/evas_3d_node.eo @@ -577,7 +577,6 @@ class Evas_3D_Node (Evas_3D_Object, Evas.Common_Interface) } } implements { - Eo.Base.destructor; Evas_3D_Object.update_notify; Evas_3D_Object.change_notify; } diff --git a/src/lib/evas/canvas/evas_3d_scene.c b/src/lib/evas/canvas/evas_3d_scene.c index 6db897e..c8a2c67 100644 --- a/src/lib/evas/canvas/evas_3d_scene.c +++ b/src/lib/evas/canvas/evas_3d_scene.c @@ -68,12 +68,6 @@ _evas_3d_scene_eo_base_constructor(Eo *obj, Evas_3D_Scene_Data *pd) } EOLIAN static void -_evas_3d_scene_eo_base_destructor(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd EINA_UNUSED) -{ - //evas_3d_object_unreference(&pd->base); -} - -EOLIAN static void _evas_3d_scene_root_node_set(Eo *obj, Evas_3D_Scene_Data *pd, Evas_3D_Node *node) { if (pd->root_node == node) diff --git a/src/lib/evas/canvas/evas_3d_scene.eo b/src/lib/evas/canvas/evas_3d_scene.eo index c165ef1..1078c02 100644 --- a/src/lib/evas/canvas/evas_3d_scene.eo +++ b/src/lib/evas/canvas/evas_3d_scene.eo @@ -185,7 +185,6 @@ class Evas_3D_Scene (Evas_3D_Object, Evas.Common_Interface) } implements { Eo.Base.constructor; - Eo.Base.destructor; Evas_3D_Object.update_notify; Evas_3D_Object.change_notify; } diff --git a/src/lib/evas/canvas/evas_3d_texture.c b/src/lib/evas/canvas/evas_3d_texture.c index 6d34591..4aecbef 100644 --- a/src/lib/evas/canvas/evas_3d_texture.c +++ b/src/lib/evas/canvas/evas_3d_texture.c @@ -315,6 +315,7 @@ _evas_3d_texture_eo_base_destructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUS { //evas_3d_object_unreference(&pd->base); _texture_fini(obj); + eo_do_super(obj, MY_CLASS, eo_destructor()); } EOLIAN static void --
