Evas-3D: invoke eo_do_super in destructors.
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Tue, 21 Oct 2014 05:45:32 +0000 (08:45 +0300)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Tue, 21 Oct 2014 05:46:23 +0000 (08:46 +0300)
src/lib/evas/canvas/evas_3d_camera.c
src/lib/evas/canvas/evas_3d_light.c
src/lib/evas/canvas/evas_3d_material.c
src/lib/evas/canvas/evas_3d_mesh.c
src/lib/evas/canvas/evas_3d_node.c
src/lib/evas/canvas/evas_3d_node.eo
src/lib/evas/canvas/evas_3d_scene.c
src/lib/evas/canvas/evas_3d_scene.eo
src/lib/evas/canvas/evas_3d_texture.c

index 08a8ab6..d8a7d24 100644 (file)
@@ -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 *
index 74718b2..f9ca75b 100644 (file)
@@ -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());
 }
 
 
index 8736403..8cd325d 100644 (file)
@@ -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
index 98b2dec..7b47a20 100644 (file)
@@ -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
index c7f3604..cb37f92 100644 (file)
@@ -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)
 {
index 60b9d9e..5046f44 100644 (file)
@@ -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;
    }
index 6db897e..c8a2c67 100644 (file)
@@ -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)
index c165ef1..1078c02 100644 (file)
@@ -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;
    }
index 6d34591..4aecbef 100644 (file)
@@ -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