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

-- 


Reply via email to