summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-11-01 21:57:43 -0200
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-11-01 21:57:43 -0200
commitfa88a2337f4c1ed74dbe5f8e9b8ab9e80aa94215 (patch)
tree289d1f0e30abe7aeb9100ab9ed3e3a755d1c18b7 /src/lib
parentb9a6a8e7384fc79fced2132407208abfedf77fe1 (diff)
Eo: Partial implementation to remove eo_dodevs/felipealmeida/eo_optimisations
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore/ecore.c2
-rw-r--r--src/lib/ecore/ecore_anim.c20
-rw-r--r--src/lib/ecore/ecore_exe.c13
-rw-r--r--src/lib/ecore/ecore_exe_posix.c2
-rw-r--r--src/lib/ecore/ecore_idle_enterer.c12
-rw-r--r--src/lib/ecore/ecore_idle_exiter.c10
-rw-r--r--src/lib/ecore/ecore_idler.c10
-rw-r--r--src/lib/ecore/ecore_job.c11
-rw-r--r--src/lib/ecore/ecore_main.c2
-rw-r--r--src/lib/ecore/ecore_poller.c14
-rw-r--r--src/lib/ecore/ecore_timer.c24
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj.c2
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in.c22
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c2
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in_tone.c6
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out.c10
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c8
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_pulse.c46
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c16
-rw-r--r--src/lib/ecore_con/ecore_con.c88
-rw-r--r--src/lib/ecore_con/ecore_con_eet.c38
-rw-r--r--src/lib/ecore_con/ecore_con_legacy.c4
-rw-r--r--src/lib/ecore_con/ecore_con_local_win32.c3
-rw-r--r--src/lib/ecore_con/ecore_con_url.c20
-rw-r--r--src/lib/ector/cairo/ector_cairo_private.h4
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_base.c8
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_shape.c33
-rw-r--r--src/lib/ector/ector_private.h2
-rw-r--r--src/lib/ector/ector_renderer_base.c4
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_linear.c14
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_radial.c15
-rw-r--r--src/lib/ector/software/ector_renderer_software_shape.c28
-rw-r--r--src/lib/ector/software/ector_software_surface.c16
-rw-r--r--src/lib/edje/edje_calc.c196
-rw-r--r--src/lib/edje/edje_callbacks.c8
-rw-r--r--src/lib/edje/edje_edit.c10
-rw-r--r--src/lib/edje/edje_load.c6
-rw-r--r--src/lib/edje/edje_multisense.c36
-rw-r--r--src/lib/edje/edje_program.c4
-rw-r--r--src/lib/edje/edje_smart.c26
-rw-r--r--src/lib/edje/edje_text.c88
-rw-r--r--src/lib/edje/edje_util.c4
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c92
-rw-r--r--src/lib/eio/eio_model.c28
-rw-r--r--src/lib/emotion/emotion_smart.c78
-rw-r--r--src/lib/eo/Eo.h264
-rw-r--r--src/lib/eo/eo.c102
-rw-r--r--src/lib/eo/eo_base_class.c28
-rw-r--r--src/lib/eo/eo_private.h109
-rw-r--r--src/lib/eo/eo_ptr_indirection.c2
-rw-r--r--src/lib/eo/eo_ptr_indirection.x41
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c20
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c19
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c35
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c17
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c51
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c155
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c9
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c43
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c45
-rw-r--r--src/lib/evas/canvas/evas_clip.c4
-rw-r--r--src/lib/evas/canvas/evas_data.c6
-rw-r--r--src/lib/evas/canvas/evas_events.c14
-rw-r--r--src/lib/evas/canvas/evas_filter_mixin.c14
-rw-r--r--src/lib/evas/canvas/evas_focus.c2
-rw-r--r--src/lib/evas/canvas/evas_layer.c4
-rw-r--r--src/lib/evas/canvas/evas_main.c7
-rw-r--r--src/lib/evas/canvas/evas_object_box.c63
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c7
-rw-r--r--src/lib/evas/canvas/evas_object_image.c65
-rw-r--r--src/lib/evas/canvas/evas_object_line.c5
-rw-r--r--src/lib/evas/canvas/evas_object_main.c88
-rw-r--r--src/lib/evas/canvas/evas_object_polygon.c7
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c5
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c34
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c6
-rw-r--r--src/lib/evas/canvas/evas_object_table.c17
-rw-r--r--src/lib/evas/canvas/evas_object_text.c55
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c29
-rw-r--r--src/lib/evas/canvas/evas_object_textgrid.c23
-rw-r--r--src/lib/evas/canvas/evas_object_vg.c13
-rw-r--r--src/lib/evas/canvas/evas_out.c15
-rw-r--r--src/lib/evas/canvas/evas_render.c8
-rw-r--r--src/lib/evas/canvas/evas_stack.c12
-rw-r--r--src/lib/evas/canvas/evas_vg_container.c23
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient.c16
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_linear.c40
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c48
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c62
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/evas_vg_root_node.c10
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c141
-rw-r--r--src/lib/evas/canvas/render2/evas_render2.c6
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.c24
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.h16
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c10
100 files changed, 1605 insertions, 1385 deletions
diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index f121258..2d2309e 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -262,7 +262,7 @@ ecore_init(void)
262#if defined(GLIB_INTEGRATION_ALWAYS) 262#if defined(GLIB_INTEGRATION_ALWAYS)
263 if (_ecore_glib_always_integrate) ecore_main_loop_glib_integrate(); 263 if (_ecore_glib_always_integrate) ecore_main_loop_glib_integrate();
264#endif 264#endif
265 _ecore_parent = eo_add(ECORE_PARENT_CLASS, NULL); 265 eo_add(_ecore_parent, ECORE_PARENT_CLASS, NULL);
266 266
267#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 267#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO)
268 if (getenv("ECORE_MEM_STAT")) 268 if (getenv("ECORE_MEM_STAT"))
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 2330090..2120a55 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -319,7 +319,7 @@ _do_tick(void)
319 eina_inlist_remove(EINA_INLIST_GET(animators), 319 eina_inlist_remove(EINA_INLIST_GET(animators),
320 EINA_INLIST_GET(animator)); 320 EINA_INLIST_GET(animator));
321 321
322 eo_do(animator->obj, eo_parent_set(NULL)); 322 eo_do(animator->obj, eo_parent_set(animator->obj, NULL));
323 if (eo_destructed_is(animator->obj)) 323 if (eo_destructed_is(animator->obj))
324 eo_manual_free(animator->obj); 324 eo_manual_free(animator->obj);
325 else 325 else
@@ -372,8 +372,8 @@ ecore_animator_add(Ecore_Task_Cb func,
372{ 372{
373 Ecore_Animator *animator = NULL; 373 Ecore_Animator *animator = NULL;
374 374
375 animator = eo_add(MY_CLASS, _ecore_parent, 375 eo_add(animator, MY_CLASS, _ecore_parent,
376 ecore_animator_constructor(func, data)); 376 ecore_animator_constructor(NULL, func, data));
377 return animator; 377 return animator;
378} 378}
379 379
@@ -391,8 +391,8 @@ ecore_animator_timeline_add(double runtime,
391 const void *data) 391 const void *data)
392{ 392{
393 Ecore_Animator *animator; 393 Ecore_Animator *animator;
394 animator = eo_add(MY_CLASS, _ecore_parent, 394 eo_add(animator, MY_CLASS, _ecore_parent,
395 ecore_animator_timeline_constructor(runtime, func, data)); 395 ecore_animator_timeline_constructor(NULL, runtime, func, data));
396 return animator; 396 return animator;
397} 397}
398 398
@@ -690,7 +690,7 @@ _ecore_animator_eo_base_destructor(Eo *obj, Ecore_Animator_Data *pd)
690 pd->delete_me = EINA_TRUE; 690 pd->delete_me = EINA_TRUE;
691 animators_delete_me++; 691 animators_delete_me++;
692 692
693 eo_do_super(obj, MY_CLASS, eo_destructor()); 693 eo_super_eo_destructor(MY_CLASS, obj);
694} 694}
695 695
696EOLIAN static Eo * 696EOLIAN static Eo *
@@ -701,7 +701,7 @@ _ecore_animator_eo_base_finalize(Eo *obj, Ecore_Animator_Data *pd)
701 return NULL; 701 return NULL;
702 } 702 }
703 703
704 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 704 return eo_super_eo_finalize(MY_CLASS, obj);
705} 705}
706 706
707EAPI void 707EAPI void
@@ -729,7 +729,7 @@ EAPI void
729ecore_animator_freeze(Ecore_Animator *animator) 729ecore_animator_freeze(Ecore_Animator *animator)
730{ 730{
731 ECORE_ANIMATOR_CHECK(animator); 731 ECORE_ANIMATOR_CHECK(animator);
732 eo_do(animator, eo_event_freeze()); 732 eo_do(animator, eo_event_freeze(animator));
733} 733}
734 734
735EOLIAN static void 735EOLIAN static void
@@ -752,7 +752,7 @@ EAPI void
752ecore_animator_thaw(Ecore_Animator *animator) 752ecore_animator_thaw(Ecore_Animator *animator)
753{ 753{
754 ECORE_ANIMATOR_CHECK(animator); 754 ECORE_ANIMATOR_CHECK(animator);
755 eo_do(animator, eo_event_thaw()); 755 eo_do(animator, eo_event_thaw(animator));
756} 756}
757 757
758EOLIAN static void 758EOLIAN static void
@@ -838,7 +838,7 @@ _ecore_animator_shutdown(void)
838 if (animator->suspended) animators_suspended--; 838 if (animator->suspended) animators_suspended--;
839 animators = (Ecore_Animator_Data *)eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators)); 839 animators = (Ecore_Animator_Data *)eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators));
840 840
841 eo_do(animator->obj, eo_parent_set(NULL)); 841 eo_do(animator->obj, eo_parent_set(animator->obj, NULL));
842 if (eo_destructed_is(animator->obj)) 842 if (eo_destructed_is(animator->obj))
843 eo_manual_free(animator->obj); 843 eo_manual_free(animator->obj);
844 else 844 else
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index e31f96e..c6398f5 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -67,7 +67,8 @@ ecore_exe_pipe_run(const char *exe_cmd,
67 Ecore_Exe_Flags flags, 67 Ecore_Exe_Flags flags,
68 const void *data) 68 const void *data)
69{ 69{
70 Ecore_Exe *ret = eo_add(MY_CLASS, NULL, ecore_obj_exe_command_set(exe_cmd, flags)); 70 Ecore_Exe *ret;
71 eo_add(ret, MY_CLASS, NULL, ecore_obj_exe_command_set(NULL, exe_cmd, flags));
71 if (ret) 72 if (ret)
72 { 73 {
73 Ecore_Exe_Data *pd = eo_data_scope_get(ret, MY_CLASS); 74 Ecore_Exe_Data *pd = eo_data_scope_get(ret, MY_CLASS);
@@ -95,7 +96,7 @@ EOLIAN static Eo *
95_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe) 96_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe)
96{ 97{
97 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 98 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
98 eo_do_super(obj, MY_CLASS, obj = eo_finalize()); 99 obj = eo_super_eo_finalize(MY_CLASS, obj);
99 100
100 if (!obj) 101 if (!obj)
101 return obj; 102 return obj;
@@ -216,7 +217,7 @@ ecore_exe_free(Ecore_Exe *obj)
216EOLIAN static void 217EOLIAN static void
217_ecore_exe_eo_base_destructor(Eo *obj, Ecore_Exe_Data *exe) 218_ecore_exe_eo_base_destructor(Eo *obj, Ecore_Exe_Data *exe)
218{ 219{
219 eo_do_super(obj, ECORE_EXE_CLASS, eo_destructor()); 220 eo_super_eo_destructor(ECORE_EXE_CLASS, obj);
220 221
221 _impl_ecore_exe_eo_base_destructor(obj, exe); 222 _impl_ecore_exe_eo_base_destructor(obj, exe);
222} 223}
@@ -247,7 +248,7 @@ ecore_exe_cmd_get(const Ecore_Exe *obj)
247 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 248 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
248 const char *ret = NULL; 249 const char *ret = NULL;
249 250
250 eo_do(obj, ecore_obj_exe_command_get(&ret, NULL)); 251 eo_do(obj, ecore_obj_exe_command_get(obj, &ret, NULL));
251 252
252 return ret; 253 return ret;
253} 254}
@@ -292,13 +293,13 @@ ecore_exe_flags_get(const Ecore_Exe *obj)
292EAPI void 293EAPI void
293ecore_exe_pause(Ecore_Exe *obj) 294ecore_exe_pause(Ecore_Exe *obj)
294{ 295{
295 eo_do(obj, efl_control_suspend_set(EINA_TRUE)); 296 eo_do(obj, efl_control_suspend_set(obj, EINA_TRUE));
296} 297}
297 298
298EAPI void 299EAPI void
299ecore_exe_continue(Ecore_Exe *obj) 300ecore_exe_continue(Ecore_Exe *obj)
300{ 301{
301 eo_do(obj, efl_control_suspend_set(EINA_FALSE)); 302 eo_do(obj, efl_control_suspend_set(obj, EINA_FALSE));
302} 303}
303 304
304EOLIAN static void 305EOLIAN static void
diff --git a/src/lib/ecore/ecore_exe_posix.c b/src/lib/ecore/ecore_exe_posix.c
index e416e23..12b4e2e 100644
--- a/src/lib/ecore/ecore_exe_posix.c
+++ b/src/lib/ecore/ecore_exe_posix.c
@@ -1171,7 +1171,7 @@ _ecore_exe_data_generic_handler(void *data,
1171 ecore_event_add(event_type, e, 1171 ecore_event_add(event_type, e,
1172 _ecore_exe_event_exe_data_free, 1172 _ecore_exe_event_exe_data_free,
1173 NULL); 1173 NULL);
1174 eo_do(obj, eo_event_callback_call(eo_event, e)); 1174 eo_do(obj, eo_event_callback_call(obj, eo_event, e));
1175 } 1175 }
1176 } 1176 }
1177 } 1177 }
diff --git a/src/lib/ecore/ecore_idle_enterer.c b/src/lib/ecore/ecore_idle_enterer.c
index c4091ee..72f3b00 100644
--- a/src/lib/ecore/ecore_idle_enterer.c
+++ b/src/lib/ecore/ecore_idle_enterer.c
@@ -61,7 +61,7 @@ ecore_idle_enterer_add(Ecore_Task_Cb func,
61 const void *data) 61 const void *data)
62{ 62{
63 Ecore_Idle_Enterer *ie = NULL; 63 Ecore_Idle_Enterer *ie = NULL;
64 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_after_constructor(func, data)); 64 eo_add(ie, MY_CLASS, _ecore_parent, ecore_idle_enterer_after_constructor(NULL, func, data));
65 return ie; 65 return ie;
66} 66}
67 67
@@ -82,7 +82,7 @@ ecore_idle_enterer_before_add(Ecore_Task_Cb func,
82 const void *data) 82 const void *data)
83{ 83{
84 Ecore_Idle_Enterer *ie = NULL; 84 Ecore_Idle_Enterer *ie = NULL;
85 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(func, data)); 85 eo_add(ie, MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(NULL, func, data));
86 return ie; 86 return ie;
87} 87}
88 88
@@ -130,7 +130,7 @@ _ecore_idle_enterer_eo_base_destructor(Eo *obj, Ecore_Idle_Enterer_Data *idle_en
130 idle_enterer->delete_me = 1; 130 idle_enterer->delete_me = 1;
131 idle_enterers_delete_me = 1; 131 idle_enterers_delete_me = 1;
132 132
133 eo_do_super(obj, MY_CLASS, eo_destructor()); 133 eo_super_eo_destructor(MY_CLASS, obj);
134} 134}
135 135
136EOLIAN static Eo * 136EOLIAN static Eo *
@@ -141,7 +141,7 @@ _ecore_idle_enterer_eo_base_finalize(Eo *obj, Ecore_Idle_Enterer_Data *idle_ente
141 return NULL; 141 return NULL;
142 } 142 }
143 143
144 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 144 return eo_super_eo_finalize(MY_CLASS, obj);
145} 145}
146 146
147void 147void
@@ -152,7 +152,7 @@ _ecore_idle_enterer_shutdown(void)
152 { 152 {
153 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(idle_enterers)); 153 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(idle_enterers));
154 154
155 eo_do(ie->obj, eo_parent_set(NULL)); 155 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
156 if (eo_destructed_is(ie->obj)) 156 if (eo_destructed_is(ie->obj))
157 eo_manual_free(ie->obj); 157 eo_manual_free(ie->obj);
158 else 158 else
@@ -214,7 +214,7 @@ _ecore_idle_enterer_call(void)
214 214
215 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie)); 215 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie));
216 216
217 eo_do(ie->obj, eo_parent_set(NULL)); 217 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
218 if (eo_destructed_is(ie->obj)) 218 if (eo_destructed_is(ie->obj))
219 eo_manual_free(ie->obj); 219 eo_manual_free(ie->obj);
220 else 220 else
diff --git a/src/lib/ecore/ecore_idle_exiter.c b/src/lib/ecore/ecore_idle_exiter.c
index f8aed55..6d1ba9e 100644
--- a/src/lib/ecore/ecore_idle_exiter.c
+++ b/src/lib/ecore/ecore_idle_exiter.c
@@ -37,7 +37,7 @@ ecore_idle_exiter_add(Ecore_Task_Cb func,
37 const void *data) 37 const void *data)
38{ 38{
39 Ecore_Idle_Exiter *ie = NULL; 39 Ecore_Idle_Exiter *ie = NULL;
40 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(func, data)); 40 eo_add(ie, MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(NULL, func, data));
41 return ie; 41 return ie;
42} 42}
43 43
@@ -99,7 +99,7 @@ _ecore_idle_exiter_eo_base_finalize(Eo *obj, Ecore_Idle_Exiter_Data *idle_exiter
99 return NULL; 99 return NULL;
100 } 100 }
101 101
102 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 102 return eo_super_eo_finalize(MY_CLASS, obj);
103} 103}
104 104
105EOLIAN static void 105EOLIAN static void
@@ -109,7 +109,7 @@ _ecore_idle_exiter_eo_base_destructor(Eo *obj, Ecore_Idle_Exiter_Data *idle_exit
109 idle_exiter->delete_me = 1; 109 idle_exiter->delete_me = 1;
110 idle_exiters_delete_me = 1; 110 idle_exiters_delete_me = 1;
111 111
112 eo_do_super(obj, MY_CLASS, eo_destructor()); 112 eo_super_eo_destructor(MY_CLASS, obj);
113} 113}
114 114
115void 115void
@@ -120,7 +120,7 @@ _ecore_idle_exiter_shutdown(void)
120 { 120 {
121 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(idle_exiters)); 121 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(idle_exiters));
122 122
123 eo_do(ie->obj, eo_parent_set(NULL)); 123 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
124 if (eo_destructed_is(ie->obj)) 124 if (eo_destructed_is(ie->obj))
125 eo_manual_free(ie->obj); 125 eo_manual_free(ie->obj);
126 else 126 else
@@ -183,7 +183,7 @@ _ecore_idle_exiter_call(void)
183 183
184 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie)); 184 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie));
185 185
186 eo_do(ie->obj, eo_parent_set(NULL)); 186 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
187 if (eo_destructed_is(ie->obj)) 187 if (eo_destructed_is(ie->obj))
188 eo_manual_free(ie->obj); 188 eo_manual_free(ie->obj);
189 else 189 else
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index 7c4a73c..eae7177 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -39,7 +39,7 @@ ecore_idler_add(Ecore_Task_Cb func,
39 39
40 _ecore_lock(); 40 _ecore_lock();
41 41
42 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(func, data)); 42 eo_add(ie, MY_CLASS, _ecore_parent, ecore_idler_constructor(NULL, func, data));
43 43
44 _ecore_unlock(); 44 _ecore_unlock();
45 return ie; 45 return ie;
@@ -98,7 +98,7 @@ _ecore_idler_eo_base_destructor(Eo *obj, Ecore_Idler_Data *idler)
98 idler->delete_me = 1; 98 idler->delete_me = 1;
99 idlers_delete_me = 1; 99 idlers_delete_me = 1;
100 100
101 eo_do_super(obj, MY_CLASS, eo_destructor()); 101 eo_super_eo_destructor(MY_CLASS, obj);
102} 102}
103 103
104EOLIAN static Eo * 104EOLIAN static Eo *
@@ -109,7 +109,7 @@ _ecore_idler_eo_base_finalize(Eo *obj, Ecore_Idler_Data *idler)
109 return NULL; 109 return NULL;
110 } 110 }
111 111
112 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 112 return eo_super_eo_finalize(MY_CLASS, obj);
113} 113}
114 114
115void 115void
@@ -120,7 +120,7 @@ _ecore_idler_shutdown(void)
120 { 120 {
121 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(idlers)); 121 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(idlers));
122 122
123 eo_do(ie->obj, eo_parent_set(NULL)); 123 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
124 if (eo_destructed_is(ie->obj)) 124 if (eo_destructed_is(ie->obj))
125 eo_manual_free(ie->obj); 125 eo_manual_free(ie->obj);
126 else 126 else
@@ -179,7 +179,7 @@ _ecore_idler_all_call(void)
179 179
180 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie)); 180 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie));
181 181
182 eo_do(ie->obj, eo_parent_set(NULL)); 182 eo_do(ie->obj, eo_parent_set(ie->obj, NULL));
183 if (eo_destructed_is(ie->obj)) 183 if (eo_destructed_is(ie->obj))
184 eo_manual_free(ie->obj); 184 eo_manual_free(ie->obj);
185 else 185 else
diff --git a/src/lib/ecore/ecore_job.c b/src/lib/ecore/ecore_job.c
index ed988ab..e6afce4 100644
--- a/src/lib/ecore/ecore_job.c
+++ b/src/lib/ecore/ecore_job.c
@@ -49,7 +49,8 @@ EAPI Ecore_Job *
49ecore_job_add(Ecore_Cb func, 49ecore_job_add(Ecore_Cb func,
50 const void *data) 50 const void *data)
51{ 51{
52 Ecore_Job *job = eo_add(MY_CLASS, _ecore_parent, ecore_job_constructor(func, data)); 52 Ecore_Job *job;
53 eo_add(job, MY_CLASS, _ecore_parent, ecore_job_constructor(NULL, func, data));
53 return job; 54 return job;
54} 55}
55 56
@@ -88,7 +89,7 @@ ecore_job_del(Ecore_Job *obj)
88 Ecore_Job_Data *job = eo_data_scope_get(obj, MY_CLASS); 89 Ecore_Job_Data *job = eo_data_scope_get(obj, MY_CLASS);
89 data = job->data; 90 data = job->data;
90 ecore_event_del(job->event); 91 ecore_event_del(job->event);
91 eo_do(obj, eo_parent_set(NULL)); 92 eo_do(obj, eo_parent_set(obj, NULL));
92 return data; 93 return data;
93} 94}
94 95
@@ -96,7 +97,7 @@ EOLIAN static void
96_ecore_job_eo_base_destructor(Eo *obj, Ecore_Job_Data *_pd EINA_UNUSED) 97_ecore_job_eo_base_destructor(Eo *obj, Ecore_Job_Data *_pd EINA_UNUSED)
97{ 98{
98 /*FIXME: check if ecore_event_del should be called from here*/ 99 /*FIXME: check if ecore_event_del should be called from here*/
99 eo_do_super(obj, MY_CLASS, eo_destructor()); 100 eo_super_eo_destructor(MY_CLASS, obj);
100} 101}
101 102
102EOLIAN static Eo * 103EOLIAN static Eo *
@@ -107,7 +108,7 @@ _ecore_job_eo_base_finalize(Eo *obj, Ecore_Job_Data *pd)
107 return NULL; 108 return NULL;
108 } 109 }
109 110
110 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 111 return eo_super_eo_finalize(MY_CLASS, obj);
111} 112}
112 113
113static Eina_Bool 114static Eina_Bool
@@ -126,7 +127,7 @@ static void
126_ecore_job_event_free(void *data, 127_ecore_job_event_free(void *data,
127 void *job EINA_UNUSED) 128 void *job EINA_UNUSED)
128{ 129{
129 eo_do(data, eo_parent_set(NULL)); 130 eo_do(data, eo_parent_set(data, NULL));
130 131
131 Ecore_Job *obj = data; 132 Ecore_Job *obj = data;
132 133
diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 97ddf5a..d1f4e78 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -2323,7 +2323,7 @@ EAPI Eo *ecore_main_loop_get(void)
2323{ 2323{
2324 if (!_mainloop_singleton) 2324 if (!_mainloop_singleton)
2325 { 2325 {
2326 _mainloop_singleton = eo_add(ECORE_MAINLOOP_CLASS, NULL); 2326 eo_add(_mainloop_singleton, ECORE_MAINLOOP_CLASS, NULL);
2327 } 2327 }
2328 2328
2329 return _mainloop_singleton; 2329 return _mainloop_singleton;
diff --git a/src/lib/ecore/ecore_poller.c b/src/lib/ecore/ecore_poller.c
index 348a734..1a605a3 100644
--- a/src/lib/ecore/ecore_poller.c
+++ b/src/lib/ecore/ecore_poller.c
@@ -173,7 +173,7 @@ _ecore_poller_cb_timer(void *data EINA_UNUSED)
173 { 173 {
174 pollers[i] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(poller)); 174 pollers[i] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(poller));
175 175
176 eo_do(poller->obj, eo_parent_set(NULL)); 176 eo_do(poller->obj, eo_parent_set(poller->obj, NULL));
177 if (eo_destructed_is(poller->obj)) 177 if (eo_destructed_is(poller->obj))
178 eo_manual_free(poller->obj); 178 eo_manual_free(poller->obj);
179 else 179 else
@@ -237,8 +237,8 @@ ecore_poller_add(Ecore_Poller_Type type EINA_UNUSED,
237 const void *data) 237 const void *data)
238{ 238{
239 Ecore_Poller *poller; 239 Ecore_Poller *poller;
240 poller = eo_add(MY_CLASS, _ecore_parent, 240 eo_add(poller, MY_CLASS, _ecore_parent,
241 ecore_poller_constructor(type, interval, func, data)); 241 ecore_poller_constructor(NULL, type, interval, func, data));
242 return poller; 242 return poller;
243} 243}
244 244
@@ -352,7 +352,7 @@ ecore_poller_del(Ecore_Poller *obj)
352 data = poller->data; 352 data = poller->data;
353 pollers[poller->ibit] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller)); 353 pollers[poller->ibit] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller));
354 354
355 eo_do(poller->obj, eo_parent_set(NULL)); 355 eo_do(poller->obj, eo_parent_set(poller->obj, NULL));
356 if (eo_destructed_is(poller->obj)) 356 if (eo_destructed_is(poller->obj))
357 eo_manual_free(obj); 357 eo_manual_free(obj);
358 else 358 else
@@ -371,7 +371,7 @@ _ecore_poller_eo_base_destructor(Eo *obj, Ecore_Poller_Data *pd)
371 poller_delete_count++; 371 poller_delete_count++;
372 } 372 }
373 373
374 eo_do_super(obj, MY_CLASS, eo_destructor()); 374 eo_super_eo_destructor(MY_CLASS, obj);
375} 375}
376 376
377EOLIAN static Eo * 377EOLIAN static Eo *
@@ -382,7 +382,7 @@ _ecore_poller_eo_base_finalize(Eo *obj, Ecore_Poller_Data *pd)
382 return NULL; 382 return NULL;
383 } 383 }
384 384
385 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 385 return eo_super_eo_finalize(MY_CLASS, obj);
386} 386}
387 387
388void 388void
@@ -396,7 +396,7 @@ _ecore_poller_shutdown(void)
396 while ((poller = pollers[i])) 396 while ((poller = pollers[i]))
397 { 397 {
398 pollers[i] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(pollers[i])); 398 pollers[i] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(pollers[i]));
399 eo_do(poller->obj, eo_parent_set(NULL)); 399 eo_do(poller->obj, eo_parent_set(poller->obj, NULL));
400 if (eo_destructed_is(poller->obj)) 400 if (eo_destructed_is(poller->obj))
401 eo_manual_free(poller->obj); 401 eo_manual_free(poller->obj);
402 else 402 else
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index 9b82856..23c314a 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -97,7 +97,7 @@ ecore_timer_add(double in,
97 Ecore_Timer *timer = NULL; 97 Ecore_Timer *timer = NULL;
98 98
99 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 99 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
100 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(in, func, data)); 100 eo_add(timer, MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(NULL, in, func, data));
101 return timer; 101 return timer;
102} 102}
103 103
@@ -261,7 +261,7 @@ EAPI void
261ecore_timer_freeze(Ecore_Timer *timer) 261ecore_timer_freeze(Ecore_Timer *timer)
262{ 262{
263 ECORE_TIMER_CHECK(timer); 263 ECORE_TIMER_CHECK(timer);
264 eo_do(timer, eo_event_freeze()); 264 eo_do(timer, eo_event_freeze(timer));
265} 265}
266 266
267EOLIAN static void 267EOLIAN static void
@@ -294,7 +294,7 @@ ecore_timer_freeze_get(Ecore_Timer *timer)
294{ 294{
295 int r = 0; 295 int r = 0;
296 296
297 eo_do(timer, r = eo_event_freeze_count_get()); 297 eo_do(timer, r = eo_event_freeze_count_get(timer));
298 return !!r; 298 return !!r;
299} 299}
300 300
@@ -310,7 +310,7 @@ EAPI void
310ecore_timer_thaw(Ecore_Timer *timer) 310ecore_timer_thaw(Ecore_Timer *timer)
311{ 311{
312 ECORE_TIMER_CHECK(timer); 312 ECORE_TIMER_CHECK(timer);
313 eo_do(timer, eo_event_thaw()); 313 eo_do(timer, eo_event_thaw(timer));
314} 314}
315 315
316EOLIAN static void 316EOLIAN static void
@@ -396,7 +396,7 @@ _ecore_timer_loop_add(double in,
396 const void *data) 396 const void *data)
397{ 397{
398 Ecore_Timer *timer = NULL; 398 Ecore_Timer *timer = NULL;
399 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(in, func, data)); 399 eo_add(timer, MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(NULL, in, func, data));
400 400
401 return timer; 401 return timer;
402} 402}
@@ -436,7 +436,7 @@ _ecore_timer_del(Ecore_Timer *obj)
436 if (timer->delete_me) 436 if (timer->delete_me)
437 timers_delete_me--; 437 timers_delete_me--;
438 438
439 eo_do(obj, eo_parent_set(NULL)); 439 eo_do(obj, eo_parent_set(obj, NULL));
440 440
441 if (eo_destructed_is(obj)) 441 if (eo_destructed_is(obj))
442 eo_manual_free(obj); 442 eo_manual_free(obj);
@@ -460,7 +460,7 @@ _ecore_timer_eo_base_destructor(Eo *obj, Ecore_Timer_Data *pd)
460 timers_delete_me++; 460 timers_delete_me++;
461 } 461 }
462 462
463 eo_do_super(obj, MY_CLASS, eo_destructor()); 463 eo_super_eo_destructor(MY_CLASS, obj);
464} 464}
465 465
466EOLIAN static Eo * 466EOLIAN static Eo *
@@ -471,7 +471,7 @@ _ecore_timer_eo_base_finalize(Eo *obj, Ecore_Timer_Data *pd)
471 return NULL; 471 return NULL;
472 } 472 }
473 473
474 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 474 return eo_super_eo_finalize(MY_CLASS, obj);
475} 475}
476 476
477void 477void
@@ -484,7 +484,7 @@ _ecore_timer_shutdown(void)
484 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timers)); 484 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timers));
485 485
486 eo_data_unref(timer->obj, timer); 486 eo_data_unref(timer->obj, timer);
487 eo_do(timer->obj, eo_parent_set(NULL)); 487 eo_do(timer->obj, eo_parent_set(timer->obj, NULL));
488 if (eo_destructed_is(timer->obj)) 488 if (eo_destructed_is(timer->obj))
489 eo_manual_free(timer->obj); 489 eo_manual_free(timer->obj);
490 else 490 else
@@ -496,7 +496,7 @@ _ecore_timer_shutdown(void)
496 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended)); 496 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended));
497 497
498 eo_data_unref(timer->obj, timer); 498 eo_data_unref(timer->obj, timer);
499 eo_do(timer->obj, eo_parent_set(NULL)); 499 eo_do(timer->obj, eo_parent_set(timer->obj, NULL));
500 if (eo_destructed_is(timer->obj)) 500 if (eo_destructed_is(timer->obj))
501 eo_manual_free(timer->obj); 501 eo_manual_free(timer->obj);
502 else 502 else
@@ -528,7 +528,7 @@ _ecore_timer_cleanup(void)
528 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer)); 528 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
529 529
530 eo_data_unref(timer->obj, timer); 530 eo_data_unref(timer->obj, timer);
531 eo_do(timer->obj, eo_parent_set(NULL)); 531 eo_do(timer->obj, eo_parent_set(timer->obj, NULL));
532 if (eo_destructed_is(timer->obj)) 532 if (eo_destructed_is(timer->obj))
533 eo_manual_free(timer->obj); 533 eo_manual_free(timer->obj);
534 else 534 else
@@ -553,7 +553,7 @@ _ecore_timer_cleanup(void)
553 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); 553 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer));
554 554
555 eo_data_unref(timer->obj, timer); 555 eo_data_unref(timer->obj, timer);
556 eo_do(timer->obj, eo_parent_set(NULL)); 556 eo_do(timer->obj, eo_parent_set(timer->obj, NULL));
557 if (eo_destructed_is(timer->obj)) 557 if (eo_destructed_is(timer->obj))
558 eo_manual_free(timer->obj); 558 eo_manual_free(timer->obj);
559 else 559 else
diff --git a/src/lib/ecore_audio/ecore_audio_obj.c b/src/lib/ecore_audio/ecore_audio_obj.c
index 3607cd9..b3d1a5d 100644
--- a/src/lib/ecore_audio/ecore_audio_obj.c
+++ b/src/lib/ecore_audio/ecore_audio_obj.c
@@ -58,7 +58,7 @@ EOLIAN static Eo *
58_ecore_audio_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Object *obj) 58_ecore_audio_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Object *obj)
59{ 59{
60 obj->volume = 1.0; 60 obj->volume = 1.0;
61 return eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 61 return eo_super_eo_constructor(MY_CLASS, eo_obj);
62} 62}
63 63
64#include "ecore_audio.eo.c" 64#include "ecore_audio.eo.c"
diff --git a/src/lib/ecore_audio/ecore_audio_obj_in.c b/src/lib/ecore_audio/ecore_audio_obj_in.c
index a6afa18..9361970 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_in.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_in.c
@@ -27,7 +27,7 @@ _ecore_audio_in_speed_set(Eo *eo_obj EINA_UNUSED, Ecore_Audio_Input *obj, double
27 27
28 obj->speed = speed; 28 obj->speed = speed;
29 29
30 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, NULL)); 30 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, NULL));
31} 31}
32 32
33EOLIAN static double 33EOLIAN static double
@@ -41,7 +41,7 @@ _ecore_audio_in_samplerate_set(Eo *eo_obj EINA_UNUSED, Ecore_Audio_Input *obj, i
41{ 41{
42 obj->samplerate = samplerate; 42 obj->samplerate = samplerate;
43 43
44 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, NULL)); 44 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, NULL));
45} 45}
46 46
47EOLIAN static int 47EOLIAN static int
@@ -89,7 +89,7 @@ _ecore_audio_in_remaining_get(Eo *eo_obj, Ecore_Audio_Input *obj)
89 if (!obj->seekable) return -1; 89 if (!obj->seekable) return -1;
90 else { 90 else {
91 double ret = 0.0; 91 double ret = 0.0;
92 eo_do(eo_obj, ret = ecore_audio_obj_in_seek(0, SEEK_CUR)); 92 eo_do(eo_obj, ret = ecore_audio_obj_in_seek(eo_obj, 0, SEEK_CUR));
93 return obj->length - ret; 93 return obj->length - ret;
94 } 94 }
95} 95}
@@ -104,14 +104,14 @@ _ecore_audio_in_read(Eo *eo_obj, Ecore_Audio_Input *obj, void *buf, size_t len)
104 memset(buf, 0, len); 104 memset(buf, 0, len);
105 len_read = len; 105 len_read = len;
106 } else { 106 } else {
107 eo_do(eo_obj, len_read = ecore_audio_obj_in_read_internal(buf, len)); 107 eo_do(eo_obj, len_read = ecore_audio_obj_in_read_internal(eo_obj, buf, len));
108 if (len_read == 0) { 108 if (len_read == 0) {
109 if (!obj->looped || !obj->seekable) { 109 if (!obj->looped || !obj->seekable) {
110 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_IN_EVENT_IN_STOPPED, NULL)); 110 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_IN_EVENT_IN_STOPPED, NULL));
111 } else { 111 } else {
112 eo_do(eo_obj, ecore_audio_obj_in_seek(0, SEEK_SET)); 112 eo_do(eo_obj, ecore_audio_obj_in_seek(eo_obj, 0, SEEK_SET));
113 eo_do(eo_obj, len_read = ecore_audio_obj_in_read_internal(buf, len)); 113 eo_do(eo_obj, len_read = ecore_audio_obj_in_read_internal(eo_obj, buf, len));
114 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_IN_EVENT_IN_LOOPED, NULL)); 114 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_IN_EVENT_IN_LOOPED, NULL));
115 } 115 }
116 } 116 }
117 117
@@ -173,7 +173,7 @@ _ecore_audio_in_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_Input *obj, Ecore_Au
173EOLIAN static Eo * 173EOLIAN static Eo *
174_ecore_audio_in_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Input *obj) 174_ecore_audio_in_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Input *obj)
175{ 175{
176 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 176 eo_obj = eo_super_eo_constructor(MY_CLASS, eo_obj);
177 177
178 obj->speed = 1.0; 178 obj->speed = 1.0;
179 179
@@ -184,9 +184,9 @@ EOLIAN static void
184_ecore_audio_in_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Input *obj) 184_ecore_audio_in_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Input *obj)
185{ 185{
186 if(obj->output) 186 if(obj->output)
187 eo_do(obj->output, ecore_audio_obj_out_input_detach(eo_obj)); 187 eo_do(obj->output, ecore_audio_obj_out_input_detach(obj->output, eo_obj));
188 188
189 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 189 eo_super_eo_destructor(MY_CLASS, eo_obj);
190} 190}
191 191
192#include "ecore_audio_in.eo.c" 192#include "ecore_audio_in.eo.c"
diff --git a/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c b/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c
index 599ae27..eac3b68 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c
@@ -205,7 +205,7 @@ _ecore_audio_in_sndfile_eo_base_destructor(Eo *eo_obj, Ecore_Audio_In_Sndfile_Da
205 if (ea_obj->vio) 205 if (ea_obj->vio)
206 _free_vio(ea_obj); 206 _free_vio(ea_obj);
207 207
208 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 208 eo_super_eo_destructor(MY_CLASS, eo_obj);
209} 209}
210 210
211#include "ecore_audio_in_sndfile.eo.c" 211#include "ecore_audio_in_sndfile.eo.c"
diff --git a/src/lib/ecore_audio/ecore_audio_obj_in_tone.c b/src/lib/ecore_audio/ecore_audio_obj_in_tone.c
index 2b097f6..ca2d111 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_in_tone.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_in_tone.c
@@ -90,7 +90,7 @@ _ecore_audio_in_tone_eo_base_key_data_set(Eo *eo_obj, Ecore_Audio_In_Tone_Data *
90 if (!strcmp(key, ECORE_AUDIO_ATTR_TONE_FREQ)) { 90 if (!strcmp(key, ECORE_AUDIO_ATTR_TONE_FREQ)) {
91 obj->freq = *(int *)val; 91 obj->freq = *(int *)val;
92 } else { 92 } else {
93 eo_do_super(eo_obj, MY_CLASS, eo_key_data_set(key, val)); 93 eo_super_eo_key_data_set(MY_CLASS, eo_obj, key, val);
94 } 94 }
95 95
96} 96}
@@ -102,7 +102,7 @@ _ecore_audio_in_tone_eo_base_key_data_get(Eo *eo_obj, Ecore_Audio_In_Tone_Data *
102 return (void *) (intptr_t) obj->freq; 102 return (void *) (intptr_t) obj->freq;
103 } else { 103 } else {
104 void *ret = NULL; 104 void *ret = NULL;
105 eo_do_super(eo_obj, MY_CLASS, ret = eo_key_data_get(key)); 105 ret = eo_super_eo_key_data_get(MY_CLASS, eo_obj, key);
106 return ret; 106 return ret;
107 } 107 }
108} 108}
@@ -112,7 +112,7 @@ _ecore_audio_in_tone_eo_base_constructor(Eo *eo_obj, Ecore_Audio_In_Tone_Data *o
112{ 112{
113 Ecore_Audio_Input *in_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_IN_CLASS); 113 Ecore_Audio_Input *in_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_IN_CLASS);
114 114
115 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 115 eo_obj = eo_super_eo_constructor(MY_CLASS, eo_obj);
116 116
117 in_obj->channels = 1; 117 in_obj->channels = 1;
118 in_obj->samplerate = 44100; 118 in_obj->samplerate = 44100;
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out.c b/src/lib/ecore_audio/ecore_audio_obj_out.c
index 0414d66..fa497c8 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out.c
@@ -34,7 +34,7 @@ static Eina_Bool _write_cb(void *data)
34 /* FIXME: Multiple inputs */ 34 /* FIXME: Multiple inputs */
35 in = eina_list_data_get(out_obj->inputs); 35 in = eina_list_data_get(out_obj->inputs);
36 36
37 eo_do(in, bread = ecore_audio_obj_in_read(buf, 4*1024)); 37 eo_do(in, bread = ecore_audio_obj_in_read(in, buf, 4*1024));
38 38
39 if (bread == 0) { 39 if (bread == 0) {
40 ea_obj->paused = EINA_TRUE; 40 ea_obj->paused = EINA_TRUE;
@@ -61,7 +61,7 @@ _ecore_audio_out_input_attach(Eo *eo_obj, Ecore_Audio_Output *obj, Eo *input)
61 if (in->output == eo_obj) 61 if (in->output == eo_obj)
62 return EINA_FALSE; 62 return EINA_FALSE;
63 63
64 if (in->output) eo_do(in->output, ecore_audio_obj_out_input_detach(input)); 64 if (in->output) eo_do(in->output, ecore_audio_obj_out_input_detach(in->output, input));
65 in->output = eo_obj; 65 in->output = eo_obj;
66 66
67 /* TODO: Send event */ 67 /* TODO: Send event */
@@ -132,7 +132,7 @@ _ecore_audio_out_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_Output *_pd EINA_UN
132EOLIAN static Eo * 132EOLIAN static Eo *
133_ecore_audio_out_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Output *obj) 133_ecore_audio_out_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Output *obj)
134{ 134{
135 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 135 eo_obj = eo_super_eo_constructor(MY_CLASS, eo_obj);
136 136
137 obj->need_writer = EINA_TRUE; 137 obj->need_writer = EINA_TRUE;
138 138
@@ -146,10 +146,10 @@ _ecore_audio_out_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Output *obj)
146 Eo *in; 146 Eo *in;
147 147
148 EINA_LIST_FOREACH_SAFE(obj->inputs, cur, tmp, in) { 148 EINA_LIST_FOREACH_SAFE(obj->inputs, cur, tmp, in) {
149 eo_do(eo_obj, ecore_audio_obj_out_input_detach(in)); 149 eo_do(eo_obj, ecore_audio_obj_out_input_detach(eo_obj, in));
150 } 150 }
151 151
152 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 152 eo_super_eo_destructor(MY_CLASS, eo_obj);
153} 153}
154 154
155#include "ecore_audio_out.eo.c" 155#include "ecore_audio_out.eo.c"
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c b/src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c
index 1d2ead4..b6a1c4b 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c
@@ -219,7 +219,7 @@ EOLIAN static void
219_ecore_audio_out_core_audio_ecore_audio_volume_set(Eo *obj, Ecore_Audio_Out_Core_Audio_Data *sd EINA_UNUSED, double volume) 219_ecore_audio_out_core_audio_ecore_audio_volume_set(Eo *obj, Ecore_Audio_Out_Core_Audio_Data *sd EINA_UNUSED, double volume)
220{ 220{
221 // TODO Change volume of playing inputs 221 // TODO Change volume of playing inputs
222 eo_do_super(obj, MY_CLASS, ecore_audio_obj_volume_set(volume)); 222 eo_super_ecore_audio_obj_volume_set(MY_CLASS, volume);
223} 223}
224 224
225EOLIAN static Eina_Bool 225EOLIAN static Eina_Bool
@@ -230,7 +230,7 @@ _ecore_audio_out_core_audio_ecore_audio_out_input_attach(Eo *obj, Ecore_Audio_Ou
230 OSStatus err; 230 OSStatus err;
231 Eina_Bool chk; 231 Eina_Bool chk;
232 232
233 eo_do_super(obj, MY_CLASS, chk = ecore_audio_obj_out_input_attach(input)); 233 chk = eo_super_ecore_audio_obj_out_input_attach(MY_CLASS, input);
234 if (EINA_UNLIKELY(!chk)) 234 if (EINA_UNLIKELY(!chk))
235 { 235 {
236 ERR("Failed to attach input (eo_do_super)"); 236 ERR("Failed to attach input (eo_do_super)");
@@ -322,7 +322,7 @@ free_proc_id:
322free_helper: 322free_helper:
323 free(helper); 323 free(helper);
324detach: 324detach:
325 eo_do_super(obj, MY_CLASS, ecore_audio_obj_out_input_detach(input)); 325 eo_super_ecore_audio_obj_out_input_detach(MY_CLASS, input);
326return_failure: 326return_failure:
327 return EINA_FALSE; 327 return EINA_FALSE;
328} 328}
@@ -338,7 +338,7 @@ _ecore_audio_out_core_audio_ecore_audio_out_input_detach(Eo *obj, Ecore_Audio_Ou
338 eo_do(input, data = eo_key_data_get("coreaudio_data")); 338 eo_do(input, data = eo_key_data_get("coreaudio_data"));
339 _core_audio_helper_free(data); 339 _core_audio_helper_free(data);
340 340
341 eo_do_super(obj, MY_CLASS, ret = ecore_audio_obj_out_input_detach(input)); 341 ret = eo_super_ecore_audio_obj_out_input_detach(MY_CLASS, input);
342 342
343 return ret; 343 return ret;
344} 344}
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
index eab7464..07fdfaa 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
@@ -61,10 +61,10 @@ _ecore_audio_out_pulse_ecore_audio_volume_set(Eo *eo_obj, Ecore_Audio_Out_Pulse_
61 61
62 pa_cvolume_set(&pa_volume, 2, volume * PA_VOLUME_NORM); 62 pa_cvolume_set(&pa_volume, 2, volume * PA_VOLUME_NORM);
63 63
64 eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_volume_set(volume)); 64 eo_super_ecore_audio_obj_volume_set(MY_CLASS, eo_obj, volume);
65 65
66 EINA_LIST_FOREACH(out_obj->inputs, input, in) { 66 EINA_LIST_FOREACH(out_obj->inputs, input, in) {
67 eo_do(in, stream = eo_key_data_get("pulse_data")); 67 eo_do(in, stream = eo_key_data_get(in, "pulse_data"));
68 idx = pa_stream_get_index(stream); 68 idx = pa_stream_get_index(stream);
69 pa_operation_unref(pa_context_set_sink_input_volume(class_vars.context, idx, &pa_volume, NULL, NULL)); 69 pa_operation_unref(pa_context_set_sink_input_volume(class_vars.context, idx, &pa_volume, NULL, NULL));
70 } 70 }
@@ -81,7 +81,7 @@ static void _write_cb(pa_stream *stream, size_t len, void *data)
81 81
82 pa_stream_begin_write(stream, &buf, &wlen); 82 pa_stream_begin_write(stream, &buf, &wlen);
83 83
84 eo_do(in, bread = ecore_audio_obj_in_read(buf, wlen)); 84 eo_do(in, bread = ecore_audio_obj_in_read(in, buf, wlen));
85 85
86 pa_stream_write(stream, buf, bread, NULL, 0, PA_SEEK_RELATIVE); 86 pa_stream_write(stream, buf, bread, NULL, 0, PA_SEEK_RELATIVE);
87 if (bread < (int)len) 87 if (bread < (int)len)
@@ -96,10 +96,10 @@ static Eina_Bool _update_samplerate_cb(void *data EINA_UNUSED, Eo *eo_obj, const
96 int samplerate = 0; 96 int samplerate = 0;
97 double speed = 0; 97 double speed = 0;
98 98
99 eo_do(eo_obj, samplerate = ecore_audio_obj_in_samplerate_get()); 99 eo_do(eo_obj, samplerate = ecore_audio_obj_in_samplerate_get(eo_obj));
100 eo_do(eo_obj, speed = ecore_audio_obj_in_speed_get()); 100 eo_do(eo_obj, speed = ecore_audio_obj_in_speed_get(eo_obj));
101 101
102 eo_do(eo_obj, stream = eo_key_data_get("pulse_data")); 102 eo_do(eo_obj, stream = eo_key_data_get(eo_obj, "pulse_data"));
103 103
104 pa_operation_unref(pa_stream_update_sample_rate(stream, samplerate * speed, NULL, NULL)); 104 pa_operation_unref(pa_stream_update_sample_rate(stream, samplerate * speed, NULL, NULL));
105 105
@@ -115,28 +115,28 @@ static Eina_Bool _input_attach_internal(Eo *eo_obj, Eo *in)
115 Eina_Bool ret = EINA_FALSE; 115 Eina_Bool ret = EINA_FALSE;
116 Ecore_Audio_Object *ea_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_CLASS); 116 Ecore_Audio_Object *ea_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_CLASS);
117 117
118 eo_do_super(eo_obj, MY_CLASS, ret = ecore_audio_obj_out_input_attach(in)); 118 ret = eo_super_ecore_audio_obj_out_input_attach(MY_CLASS, eo_obj, in);
119 if (!ret) 119 if (!ret)
120 return EINA_FALSE; 120 return EINA_FALSE;
121 121
122 ss.format = PA_SAMPLE_FLOAT32LE; 122 ss.format = PA_SAMPLE_FLOAT32LE;
123 eo_do(in, ss.rate = ecore_audio_obj_in_samplerate_get()); 123 eo_do(in, ss.rate = ecore_audio_obj_in_samplerate_get(in));
124 eo_do(in, speed = ecore_audio_obj_in_speed_get()); 124 eo_do(in, speed = ecore_audio_obj_in_speed_get(in));
125 eo_do(in, ss.channels = ecore_audio_obj_in_channels_get()); 125 eo_do(in, ss.channels = ecore_audio_obj_in_channels_get(in));
126 eo_do(in, name = ecore_audio_obj_name_get()); 126 eo_do(in, name = ecore_audio_obj_name_get(in));
127 127
128 ss.rate = ss.rate * speed; 128 ss.rate = ss.rate * speed;
129 129
130 stream = pa_stream_new(class_vars.context, name, &ss, NULL); 130 stream = pa_stream_new(class_vars.context, name, &ss, NULL);
131 if (!stream) { 131 if (!stream) {
132 ERR("Could not create stream"); 132 ERR("Could not create stream");
133 eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in)); 133 eo_super_ecore_audio_obj_out_input_detach(MY_CLASS, eo_obj, in);
134 return EINA_FALSE; 134 return EINA_FALSE;
135 } 135 }
136 136
137 eo_do(in, eo_event_callback_add(ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, _update_samplerate_cb, eo_obj)); 137 eo_do(in, eo_event_callback_add(in, ECORE_AUDIO_IN_EVENT_IN_SAMPLERATE_CHANGED, _update_samplerate_cb, eo_obj));
138 138
139 eo_do(in, eo_key_data_set("pulse_data", stream)); 139 eo_do(in, eo_key_data_set(in, "pulse_data", stream));
140 140
141 141
142 pa_stream_set_write_callback(stream, _write_cb, in); 142 pa_stream_set_write_callback(stream, _write_cb, in);
@@ -151,7 +151,7 @@ static Eina_Bool _input_attach_internal(Eo *eo_obj, Eo *in)
151static Eina_Bool _delayed_attach_cb(void *data, Eo *eo_obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) 151static Eina_Bool _delayed_attach_cb(void *data, Eo *eo_obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
152{ 152{
153 Eo *in = data; 153 Eo *in = data;
154 eo_do(eo_obj, eo_event_callback_del(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in)); 154 eo_do(eo_obj, eo_event_callback_del(eo_obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in));
155 155
156 _input_attach_internal(eo_obj, in); 156 _input_attach_internal(eo_obj, in);
157 157
@@ -165,7 +165,7 @@ _ecore_audio_out_pulse_ecore_audio_out_input_attach(Eo *eo_obj, Ecore_Audio_Out_
165 165
166 if (class_vars.state != PA_CONTEXT_READY) { 166 if (class_vars.state != PA_CONTEXT_READY) {
167 DBG("Delaying input_attach because PA context is not ready."); 167 DBG("Delaying input_attach because PA context is not ready.");
168 eo_do(eo_obj, eo_event_callback_add(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in)); 168 eo_do(eo_obj, eo_event_callback_add(eo_obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in));
169 } else { 169 } else {
170 retval = _input_attach_internal(eo_obj, in); 170 retval = _input_attach_internal(eo_obj, in);
171 } 171 }
@@ -186,11 +186,11 @@ _ecore_audio_out_pulse_ecore_audio_out_input_detach(Eo *eo_obj, Ecore_Audio_Out_
186 Eina_Bool ret2 = EINA_FALSE; 186 Eina_Bool ret2 = EINA_FALSE;
187 pa_operation *op; 187 pa_operation *op;
188 188
189 eo_do_super(eo_obj, MY_CLASS, ret2 = ecore_audio_obj_out_input_detach(in)); 189 ret2 = eo_super_ecore_audio_obj_out_input_detach(MY_CLASS, eo_obj, in);
190 if (!ret2) 190 if (!ret2)
191 return EINA_FALSE; 191 return EINA_FALSE;
192 192
193 eo_do(in, stream = eo_key_data_get("pulse_data")); 193 eo_do(in, stream = eo_key_data_get(in, "pulse_data"));
194 194
195 pa_stream_set_write_callback(stream, NULL, NULL); 195 pa_stream_set_write_callback(stream, NULL, NULL);
196 op = pa_stream_drain(stream, _drain_cb, NULL); 196 op = pa_stream_drain(stream, _drain_cb, NULL);
@@ -221,12 +221,12 @@ static void _state_cb(pa_context *context, void *data EINA_UNUSED)
221 if (state == PA_CONTEXT_READY) { 221 if (state == PA_CONTEXT_READY) {
222 DBG("PA context ready."); 222 DBG("PA context ready.");
223 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) { 223 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) {
224 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, NULL)); 224 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, NULL));
225 } 225 }
226 } else if ((state == PA_CONTEXT_FAILED) || (state == PA_CONTEXT_TERMINATED)) { 226 } else if ((state == PA_CONTEXT_FAILED) || (state == PA_CONTEXT_TERMINATED)) {
227 DBG("PA context fail."); 227 DBG("PA context fail.");
228 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) { 228 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) {
229 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, NULL)); 229 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, NULL));
230 } 230 }
231 } else { 231 } else {
232 DBG("Connection state %i", state); 232 DBG("Connection state %i", state);
@@ -252,7 +252,7 @@ static void _state_job(void *data EINA_UNUSED)
252 } 252 }
253 // the callback here can delete things in the list.. 253 // the callback here can delete things in the list..
254 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) { 254 EINA_LIST_FOREACH(class_vars.outputs, out, eo_obj) {
255 eo_do(eo_obj, eo_event_callback_call(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, NULL)); 255 eo_do(eo_obj, eo_event_callback_call(eo_obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, NULL));
256 } 256 }
257 // now unref everything safely 257 // now unref everything safely
258 EINA_LIST_FOREACH_SAFE(class_vars.outputs, out, tmp, eo_obj) { 258 EINA_LIST_FOREACH_SAFE(class_vars.outputs, out, tmp, eo_obj) {
@@ -269,7 +269,7 @@ _ecore_audio_out_pulse_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Dat
269 char **argv; 269 char **argv;
270 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS); 270 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS);
271 271
272 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 272 eo_super_eo_constructor(MY_CLASS, eo_obj);
273 273
274 out_obj->need_writer = EINA_FALSE; 274 out_obj->need_writer = EINA_FALSE;
275 275
@@ -296,7 +296,7 @@ EOLIAN static void
296_ecore_audio_out_pulse_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Data *_pd EINA_UNUSED) 296_ecore_audio_out_pulse_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Data *_pd EINA_UNUSED)
297{ 297{
298 class_vars.outputs = eina_list_remove(class_vars.outputs, eo_obj); 298 class_vars.outputs = eina_list_remove(class_vars.outputs, eo_obj);
299 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 299 eo_super_eo_destructor(MY_CLASS, eo_obj);
300} 300}
301 301
302#include "ecore_audio_out_pulse.eo.c" 302#include "ecore_audio_out_pulse.eo.c"
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c b/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c
index d986b67..9fb1bb4 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c
@@ -43,7 +43,7 @@ static Eina_Bool _write_cb(void *data)
43 /* TODO: Support mixing of multiple inputs */ 43 /* TODO: Support mixing of multiple inputs */
44 in = eina_list_data_get(out_obj->inputs); 44 in = eina_list_data_get(out_obj->inputs);
45 45
46 eo_do(in, bread = ecore_audio_obj_in_read(buf, 4*1024)); 46 eo_do(in, bread = ecore_audio_obj_in_read(in, buf, 4*1024));
47 47
48 if (bread == 0) { 48 if (bread == 0) {
49 sf_write_sync(obj->handle); 49 sf_write_sync(obj->handle);
@@ -66,19 +66,19 @@ _ecore_audio_out_sndfile_ecore_audio_out_input_attach(Eo *eo_obj, Ecore_Audio_Ou
66 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS); 66 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS);
67 Eina_Bool ret2 = EINA_FALSE; 67 Eina_Bool ret2 = EINA_FALSE;
68 68
69 eo_do_super(eo_obj, MY_CLASS, ret2 = ecore_audio_obj_out_input_attach(in)); 69 ret2 = eo_super_ecore_audio_obj_out_input_attach(MY_CLASS, eo_obj, in);
70 if (!ret2) 70 if (!ret2)
71 return EINA_FALSE; 71 return EINA_FALSE;
72 72
73 eo_do(in, obj->sfinfo.samplerate = ecore_audio_obj_in_samplerate_get()); 73 eo_do(in, obj->sfinfo.samplerate = ecore_audio_obj_in_samplerate_get(in));
74 eo_do(in, obj->sfinfo.channels = ecore_audio_obj_in_channels_get()); 74 eo_do(in, obj->sfinfo.channels = ecore_audio_obj_in_channels_get(in));
75 75
76 obj->handle = sf_open(ea_obj->source, SFM_WRITE, &obj->sfinfo); 76 obj->handle = sf_open(ea_obj->source, SFM_WRITE, &obj->sfinfo);
77 77
78 if (!obj->handle) { 78 if (!obj->handle) {
79 eina_stringshare_del(ea_obj->source); 79 eina_stringshare_del(ea_obj->source);
80 ea_obj->source = NULL; 80 ea_obj->source = NULL;
81 eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in)); 81 eo_super_ecore_audio_obj_out_input_detach(MY_CLASS, eo_obj, in);
82 return EINA_FALSE; 82 return EINA_FALSE;
83 } 83 }
84 84
@@ -163,9 +163,9 @@ _ecore_audio_out_sndfile_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Sndfile
163{ 163{
164 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS); 164 Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS);
165 165
166 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 166 eo_super_eo_constructor(MY_CLASS, eo_obj);
167 167
168 eo_do(eo_obj, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_OGG)); 168 eo_do(eo_obj, ecore_audio_obj_format_set(eo_obj, ECORE_AUDIO_FORMAT_OGG));
169 169
170 // FIXME: Use writer from output 170 // FIXME: Use writer from output
171 out_obj->need_writer = EINA_FALSE; 171 out_obj->need_writer = EINA_FALSE;
@@ -182,7 +182,7 @@ _ecore_audio_out_sndfile_eo_base_destructor(Eo *eo_obj, Ecore_Audio_Out_Sndfile_
182 if (out_obj->write_idler) 182 if (out_obj->write_idler)
183 ecore_idler_del(out_obj->write_idler); 183 ecore_idler_del(out_obj->write_idler);
184 184
185 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 185 eo_super_eo_destructor(MY_CLASS, eo_obj);
186} 186}
187 187
188#include "ecore_audio_out_sndfile.eo.c" 188#include "ecore_audio_out_sndfile.eo.c"
diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 1582c26..b407de8 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -109,7 +109,7 @@ static const char *_ecore_con_pretty_ip(struct sockaddr *client_addr);
109 109
110#define EO_CONSTRUCTOR_CHECK_RETURN(obj) do { \ 110#define EO_CONSTRUCTOR_CHECK_RETURN(obj) do { \
111 Eina_Bool finalized; \ 111 Eina_Bool finalized; \
112 if (eo_do_ret(obj, finalized, eo_finalized_get())) \ 112 if (eo_do_ret(obj, finalized, eo_finalized_get(obj))) \
113 { \ 113 { \
114 ERR("This function is only allowed during construction."); \ 114 ERR("This function is only allowed during construction."); \
115 return; \ 115 return; \
@@ -306,10 +306,10 @@ _ecore_con_base_lookup(Eo *kls_obj EINA_UNUSED, void *pd EINA_UNUSED, const char
306 if (!name || !done_cb) 306 if (!name || !done_cb)
307 return EINA_FALSE; 307 return EINA_FALSE;
308 308
309 obj = eo_add(ECORE_CON_CONNECTOR_CLASS, NULL, 309 eo_add(obj, ECORE_CON_CONNECTOR_CLASS, NULL,
310 ecore_con_server_obj_connection_type_set(ECORE_CON_REMOTE_TCP), 310 ecore_con_server_obj_connection_type_set(NULL, ECORE_CON_REMOTE_TCP),
311 ecore_con_server_obj_name_set(name), 311 ecore_con_server_obj_name_set(NULL, name),
312 ecore_con_obj_port_set(1025)); 312 ecore_con_obj_port_set(NULL, 1025));
313 313
314 lk = malloc(sizeof (Ecore_Con_Lookup)); 314 lk = malloc(sizeof (Ecore_Con_Lookup));
315 if (!lk) 315 if (!lk)
@@ -363,10 +363,10 @@ ecore_con_server_add(Ecore_Con_Type compl_type,
363 363
364 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */ 364 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */
365 /* remote system socket: TCP/IP: [name]:[port] */ 365 /* remote system socket: TCP/IP: [name]:[port] */
366 obj = eo_add(ECORE_CON_SERVER_CLASS, NULL, 366 eo_add(obj, ECORE_CON_SERVER_CLASS, NULL,
367 ecore_con_server_obj_connection_type_set(compl_type), 367 ecore_con_server_obj_connection_type_set(NULL, compl_type),
368 ecore_con_server_obj_name_set(name), 368 ecore_con_server_obj_name_set(NULL, name),
369 ecore_con_obj_port_set(port)); 369 ecore_con_obj_port_set(NULL, port));
370 370
371 ecore_con_server_data_set(obj, (void *) data); 371 ecore_con_server_data_set(obj, (void *) data);
372 372
@@ -376,7 +376,7 @@ ecore_con_server_add(Ecore_Con_Type compl_type,
376EOLIAN static Eo * 376EOLIAN static Eo *
377_ecore_con_server_eo_base_constructor(Ecore_Con_Server *obj, Ecore_Con_Server_Data *svr) 377_ecore_con_server_eo_base_constructor(Ecore_Con_Server *obj, Ecore_Con_Server_Data *svr)
378{ 378{
379 obj = eo_do_super_ret(obj, ECORE_CON_SERVER_CLASS, obj, eo_constructor()); 379 eo_super_eo_constructor(ECORE_CON_SERVER_CLASS, obj);
380 380
381 svr->fd = -1; 381 svr->fd = -1;
382 svr->reject_excess_clients = EINA_FALSE; 382 svr->reject_excess_clients = EINA_FALSE;
@@ -392,7 +392,7 @@ _ecore_con_server_eo_base_finalize(Ecore_Con_Server *obj, Ecore_Con_Server_Data
392 Ecore_Con_Type compl_type = svr->type; 392 Ecore_Con_Type compl_type = svr->type;
393 Ecore_Con_Type type; 393 Ecore_Con_Type type;
394 394
395 eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_finalize()); 395 eo_super_eo_finalize(ECORE_CON_SERVER_CLASS, obj);
396 396
397 svr->created = EINA_TRUE; 397 svr->created = EINA_TRUE;
398 svr->ppid = getpid(); 398 svr->ppid = getpid();
@@ -462,10 +462,10 @@ ecore_con_server_connect(Ecore_Con_Type compl_type,
462 /* local user socket: FILE: ~/.ecore/[name]/[port] */ 462 /* local user socket: FILE: ~/.ecore/[name]/[port] */
463 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */ 463 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */
464 /* remote system socket: TCP/IP: [name]:[port] */ 464 /* remote system socket: TCP/IP: [name]:[port] */
465 obj = eo_add(ECORE_CON_CONNECTOR_CLASS, NULL, 465 eo_add(obj, ECORE_CON_CONNECTOR_CLASS, NULL,
466 ecore_con_server_obj_connection_type_set(compl_type), 466 ecore_con_server_obj_connection_type_set(NULL, compl_type),
467 ecore_con_server_obj_name_set(name), 467 ecore_con_server_obj_name_set(NULL, name),
468 ecore_con_obj_port_set(port)); 468 ecore_con_obj_port_set(NULL, port));
469 469
470 ecore_con_server_data_set(obj, (void *) data); 470 ecore_con_server_data_set(obj, (void *) data);
471 471
@@ -481,7 +481,7 @@ _ecore_con_connector_eo_base_finalize(Ecore_Con_Server *obj, void *pd EINA_UNUSE
481 481
482 /* XXX: We intentionally put SERVER class here and not connector, as we'd 482 /* XXX: We intentionally put SERVER class here and not connector, as we'd
483 * like to skip that one. */ 483 * like to skip that one. */
484 eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_finalize()); 484 eo_super_eo_finalize(ECORE_CON_SERVER_CLASS, obj);
485 485
486 svr->use_cert = (compl_type & ECORE_CON_SSL & ECORE_CON_LOAD_CERT) == ECORE_CON_LOAD_CERT; 486 svr->use_cert = (compl_type & ECORE_CON_SSL & ECORE_CON_LOAD_CERT) == ECORE_CON_LOAD_CERT;
487 svr->disable_proxy = (compl_type & ECORE_CON_SUPER_SSL & ECORE_CON_NO_PROXY) == ECORE_CON_NO_PROXY; 487 svr->disable_proxy = (compl_type & ECORE_CON_SUPER_SSL & ECORE_CON_NO_PROXY) == ECORE_CON_NO_PROXY;
@@ -548,7 +548,7 @@ error:
548EAPI void 548EAPI void
549ecore_con_server_timeout_set(Ecore_Con *obj, double timeout) 549ecore_con_server_timeout_set(Ecore_Con *obj, double timeout)
550{ 550{
551 eo_do((Ecore_Con *)obj, ecore_con_obj_timeout_set(timeout)); 551 eo_do((Ecore_Con *)obj, ecore_con_obj_timeout_set(obj, timeout));
552} 552}
553 553
554EOLIAN static void 554EOLIAN static void
@@ -566,7 +566,7 @@ EAPI double
566ecore_con_server_timeout_get(const Ecore_Con *obj) 566ecore_con_server_timeout_get(const Ecore_Con *obj)
567{ 567{
568 double ret; 568 double ret;
569 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_timeout_get()); 569 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_timeout_get(obj));
570} 570}
571 571
572EOLIAN static double 572EOLIAN static double
@@ -620,7 +620,7 @@ EAPI Eina_Bool
620ecore_con_server_connected_get(const Ecore_Con *obj) 620ecore_con_server_connected_get(const Ecore_Con *obj)
621{ 621{
622 Eina_Bool ret; 622 Eina_Bool ret;
623 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_connected_get()); 623 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_connected_get(obj));
624} 624}
625 625
626EOLIAN static Eina_Bool 626EOLIAN static Eina_Bool
@@ -670,7 +670,7 @@ EAPI int
670ecore_con_server_port_get(const Ecore_Con *obj) 670ecore_con_server_port_get(const Ecore_Con *obj)
671{ 671{
672 int ret; 672 int ret;
673 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_port_get()); 673 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_port_get(obj));
674} 674}
675 675
676EOLIAN static void 676EOLIAN static void
@@ -691,7 +691,7 @@ EAPI int
691ecore_con_server_send(Ecore_Con *obj, const void *data, int size) 691ecore_con_server_send(Ecore_Con *obj, const void *data, int size)
692{ 692{
693 int ret; 693 int ret;
694 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_send(data, size)); 694 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_send(obj, data, size));
695} 695}
696 696
697EOLIAN static int 697EOLIAN static int
@@ -748,7 +748,7 @@ EAPI const char *
748ecore_con_server_ip_get(const Ecore_Con *obj) 748ecore_con_server_ip_get(const Ecore_Con *obj)
749{ 749{
750 const char *ret; 750 const char *ret;
751 return eo_do_ret(obj, ret, ecore_con_obj_ip_get()); 751 return eo_do_ret(obj, ret, ecore_con_obj_ip_get(obj));
752} 752}
753 753
754EOLIAN static const char * 754EOLIAN static const char *
@@ -761,7 +761,7 @@ EAPI double
761ecore_con_server_uptime_get(const Ecore_Con *obj) 761ecore_con_server_uptime_get(const Ecore_Con *obj)
762{ 762{
763 double ret; 763 double ret;
764 return eo_do_ret(obj, ret, ecore_con_obj_uptime_get()); 764 return eo_do_ret(obj, ret, ecore_con_obj_uptime_get(obj));
765} 765}
766 766
767EOLIAN static double 767EOLIAN static double
@@ -773,7 +773,7 @@ _ecore_con_server_ecore_con_base_uptime_get(Eo *obj EINA_UNUSED, Ecore_Con_Serve
773EAPI void 773EAPI void
774ecore_con_server_flush(Ecore_Con *obj) 774ecore_con_server_flush(Ecore_Con *obj)
775{ 775{
776 eo_do((Ecore_Con *)obj, ecore_con_obj_flush()); 776 eo_do((Ecore_Con *)obj, ecore_con_obj_flush(obj));
777} 777}
778 778
779EOLIAN static void 779EOLIAN static void
@@ -803,7 +803,7 @@ EAPI int
803ecore_con_client_send(Ecore_Con *obj, const void *data, int size) 803ecore_con_client_send(Ecore_Con *obj, const void *data, int size)
804{ 804{
805 int ret; 805 int ret;
806 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_send(data, size)); 806 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_send(obj, data, size));
807} 807}
808 808
809EOLIAN static int 809EOLIAN static int
@@ -871,7 +871,7 @@ EAPI Eina_Bool
871ecore_con_client_connected_get(const Ecore_Con *obj) 871ecore_con_client_connected_get(const Ecore_Con *obj)
872{ 872{
873 Eina_Bool ret; 873 Eina_Bool ret;
874 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_connected_get()); 874 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_connected_get(obj));
875} 875}
876 876
877EOLIAN static void 877EOLIAN static void
@@ -885,7 +885,7 @@ _ecore_con_client_ecore_con_base_timeout_set(Eo *obj, Ecore_Con_Client_Data *cl,
885EAPI void 885EAPI void
886ecore_con_client_timeout_set(Ecore_Con *obj, double timeout) 886ecore_con_client_timeout_set(Ecore_Con *obj, double timeout)
887{ 887{
888 eo_do((Ecore_Con *)obj, ecore_con_obj_timeout_set(timeout)); 888 eo_do((Ecore_Con *)obj, ecore_con_obj_timeout_set(obj, timeout));
889} 889}
890 890
891EOLIAN static double 891EOLIAN static double
@@ -898,7 +898,7 @@ EAPI double
898ecore_con_client_timeout_get(const Ecore_Con *obj) 898ecore_con_client_timeout_get(const Ecore_Con *obj)
899{ 899{
900 double ret; 900 double ret;
901 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_timeout_get()); 901 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_timeout_get(obj));
902} 902}
903 903
904EAPI void * 904EAPI void *
@@ -950,7 +950,7 @@ EAPI const char *
950ecore_con_client_ip_get(const Ecore_Con *obj) 950ecore_con_client_ip_get(const Ecore_Con *obj)
951{ 951{
952 const char *ret; 952 const char *ret;
953 return eo_do_ret(obj, ret, ecore_con_obj_ip_get()); 953 return eo_do_ret(obj, ret, ecore_con_obj_ip_get(obj));
954} 954}
955 955
956EOLIAN static int 956EOLIAN static int
@@ -978,7 +978,7 @@ EAPI int
978ecore_con_client_port_get(const Ecore_Con *obj) 978ecore_con_client_port_get(const Ecore_Con *obj)
979{ 979{
980 int ret; 980 int ret;
981 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_port_get()); 981 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_port_get(obj));
982} 982}
983 983
984EOLIAN static double 984EOLIAN static double
@@ -991,7 +991,7 @@ EAPI double
991ecore_con_client_uptime_get(const Ecore_Con *obj) 991ecore_con_client_uptime_get(const Ecore_Con *obj)
992{ 992{
993 double ret; 993 double ret;
994 return eo_do_ret(obj, ret, ecore_con_obj_uptime_get()); 994 return eo_do_ret(obj, ret, ecore_con_obj_uptime_get(obj));
995} 995}
996 996
997EOLIAN static void 997EOLIAN static void
@@ -1003,14 +1003,14 @@ _ecore_con_client_ecore_con_base_flush(Eo *obj, Ecore_Con_Client_Data *cl EINA_U
1003EAPI void 1003EAPI void
1004ecore_con_client_flush(Ecore_Con *obj) 1004ecore_con_client_flush(Ecore_Con *obj)
1005{ 1005{
1006 eo_do((Ecore_Con *)obj, ecore_con_obj_flush()); 1006 eo_do((Ecore_Con *)obj, ecore_con_obj_flush(obj));
1007} 1007}
1008 1008
1009EAPI int 1009EAPI int
1010ecore_con_server_fd_get(const Ecore_Con *obj) 1010ecore_con_server_fd_get(const Ecore_Con *obj)
1011{ 1011{
1012 int ret; 1012 int ret;
1013 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_fd_get()); 1013 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_fd_get(obj));
1014} 1014}
1015 1015
1016EOLIAN static int 1016EOLIAN static int
@@ -1031,7 +1031,7 @@ EAPI int
1031ecore_con_client_fd_get(const Ecore_Con *obj) 1031ecore_con_client_fd_get(const Ecore_Con *obj)
1032{ 1032{
1033 int ret; 1033 int ret;
1034 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_fd_get()); 1034 return eo_do_ret((Ecore_Con *)obj, ret, ecore_con_obj_fd_get(obj));
1035} 1035}
1036 1036
1037/** 1037/**
@@ -1077,7 +1077,7 @@ ecore_con_event_server_add(Ecore_Con_Server *obj)
1077 if (svr->upgrade) ev = ECORE_CON_EVENT_SERVER_UPGRADE; 1077 if (svr->upgrade) ev = ECORE_CON_EVENT_SERVER_UPGRADE;
1078 ecore_event_add(ev, e, 1078 ecore_event_add(ev, e,
1079 _ecore_con_event_server_add_free, NULL); 1079 _ecore_con_event_server_add_free, NULL);
1080 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_CONNECTION_UPGRADED, NULL)); 1080 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_CONNECTION_UPGRADED, NULL));
1081 _ecore_con_event_count++; 1081 _ecore_con_event_count++;
1082} 1082}
1083 1083
@@ -1156,7 +1156,7 @@ ecore_con_event_server_data(Ecore_Con_Server *obj, unsigned char *buf, int num,
1156 Ecore_Con_Event_Data_Received event_info = { NULL, 0 }; 1156 Ecore_Con_Event_Data_Received event_info = { NULL, 0 };
1157 event_info.data = e->data; 1157 event_info.data = e->data;
1158 event_info.size = e->size; 1158 event_info.size = e->size;
1159 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_DATA_RECEIVED, &event_info)); 1159 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_DATA_RECEIVED, &event_info));
1160 } 1160 }
1161 _ecore_con_event_count++; 1161 _ecore_con_event_count++;
1162} 1162}
@@ -1181,7 +1181,7 @@ ecore_con_event_client_add(Ecore_Con_Client *obj)
1181 if (cl->upgrade) ev = ECORE_CON_EVENT_CLIENT_UPGRADE; 1181 if (cl->upgrade) ev = ECORE_CON_EVENT_CLIENT_UPGRADE;
1182 ecore_event_add(ev, e, 1182 ecore_event_add(ev, e,
1183 (Ecore_End_Cb)_ecore_con_event_client_add_free, cl->host_server); 1183 (Ecore_End_Cb)_ecore_con_event_client_add_free, cl->host_server);
1184 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_CONNECTION_UPGRADED, NULL)); 1184 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_CONNECTION_UPGRADED, NULL));
1185 _ecore_con_event_count++; 1185 _ecore_con_event_count++;
1186} 1186}
1187 1187
@@ -1263,7 +1263,7 @@ ecore_con_event_client_data(Ecore_Con_Client *obj, unsigned char *buf, int num,
1263 Ecore_Con_Event_Data_Received event_info = { NULL, 0 }; 1263 Ecore_Con_Event_Data_Received event_info = { NULL, 0 };
1264 event_info.data = e->data; 1264 event_info.data = e->data;
1265 event_info.size = e->size; 1265 event_info.size = e->size;
1266 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_DATA_RECEIVED, &event_info)); 1266 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_DATA_RECEIVED, &event_info));
1267 } 1267 }
1268 _ecore_con_event_count++; 1268 _ecore_con_event_count++;
1269} 1269}
@@ -1289,7 +1289,7 @@ _ecore_con_event_server_error(Ecore_Con_Server *obj, char *error, Eina_Bool dupl
1289 DBG("%s", error); 1289 DBG("%s", error);
1290 svr->event_count = eina_list_append(svr->event_count, e); 1290 svr->event_count = eina_list_append(svr->event_count, e);
1291 ecore_event_add(ECORE_CON_EVENT_SERVER_ERROR, e, (Ecore_End_Cb)_ecore_con_event_server_error_free, NULL); 1291 ecore_event_add(ECORE_CON_EVENT_SERVER_ERROR, e, (Ecore_End_Cb)_ecore_con_event_server_error_free, NULL);
1292 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_CONNECTION_ERROR, e->error)); 1292 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_CONNECTION_ERROR, e->error));
1293 _ecore_con_event_count++; 1293 _ecore_con_event_count++;
1294} 1294}
1295 1295
@@ -1310,7 +1310,7 @@ ecore_con_event_client_error(Ecore_Con_Client *obj, const char *error)
1310 cl->event_count = eina_list_append(cl->event_count, e); 1310 cl->event_count = eina_list_append(cl->event_count, e);
1311 host_server->event_count = eina_list_append(host_server->event_count, e); 1311 host_server->event_count = eina_list_append(host_server->event_count, e);
1312 ecore_event_add(ECORE_CON_EVENT_CLIENT_ERROR, e, (Ecore_End_Cb)_ecore_con_event_client_error_free, cl->host_server); 1312 ecore_event_add(ECORE_CON_EVENT_CLIENT_ERROR, e, (Ecore_End_Cb)_ecore_con_event_client_error_free, cl->host_server);
1313 eo_do(obj, eo_event_callback_call(ECORE_CON_BASE_EVENT_CONNECTION_ERROR, e->error)); 1313 eo_do(obj, eo_event_callback_call(obj, ECORE_CON_BASE_EVENT_CONNECTION_ERROR, e->error));
1314 _ecore_con_event_count++; 1314 _ecore_con_event_count++;
1315} 1315}
1316 1316
@@ -1397,7 +1397,7 @@ _ecore_con_server_eo_base_destructor(Eo *obj, Ecore_Con_Server_Data *svr)
1397 servers = eina_list_remove(servers, obj); 1397 servers = eina_list_remove(servers, obj);
1398 svr->data = NULL; 1398 svr->data = NULL;
1399 1399
1400 eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor()); 1400 eo_super_eo_destructor(ECORE_CON_SERVER_CLASS, obj);
1401end: 1401end:
1402 return; 1402 return;
1403} 1403}
@@ -1460,7 +1460,7 @@ _ecore_con_client_eo_base_destructor(Eo *obj, Ecore_Con_Client_Data *cl)
1460 eina_stringshare_del(cl->ip); 1460 eina_stringshare_del(cl->ip);
1461 cl->data = NULL; 1461 cl->data = NULL;
1462 1462
1463 eo_do_super(obj, ECORE_CON_CLIENT_CLASS, eo_destructor()); 1463 eo_super_eo_destructor(ECORE_CON_CLIENT_CLASS, obj);
1464} 1464}
1465 1465
1466static Eina_Bool 1466static Eina_Bool
@@ -2080,7 +2080,7 @@ _ecore_con_svr_tcp_handler(void *data,
2080 2080
2081 /* a new client */ 2081 /* a new client */
2082 2082
2083 obj = eo_add(ECORE_CON_CLIENT_CLASS, NULL); 2083 eo_add(obj, ECORE_CON_CLIENT_CLASS, NULL);
2084 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS); 2084 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS);
2085 if (!cl) 2085 if (!cl)
2086 { 2086 {
@@ -2355,7 +2355,7 @@ _ecore_con_svr_udp_handler(void *data,
2355 } 2355 }
2356 2356
2357/* Create a new client for use in the client data event */ 2357/* Create a new client for use in the client data event */
2358 obj = eo_add(ECORE_CON_CLIENT_CLASS, NULL); 2358 eo_add(obj, ECORE_CON_CLIENT_CLASS, NULL);
2359 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS); 2359 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS);
2360 EINA_SAFETY_ON_NULL_RETURN_VAL(cl, ECORE_CALLBACK_RENEW); 2360 EINA_SAFETY_ON_NULL_RETURN_VAL(cl, ECORE_CALLBACK_RENEW);
2361 2361
diff --git a/src/lib/ecore_con/ecore_con_eet.c b/src/lib/ecore_con/ecore_con_eet.c
index c85e287..609cf9f 100644
--- a/src/lib/ecore_con/ecore_con_eet.c
+++ b/src/lib/ecore_con/ecore_con_eet.c
@@ -580,7 +580,7 @@ _ecore_con_eet_base_register(Eo *obj EINA_UNUSED, Ecore_Con_Eet_Base_Data *pd, c
580EOLIAN static Eo_Base * 580EOLIAN static Eo_Base *
581_ecore_con_eet_server_obj_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Server_Obj_Data *pd EINA_UNUSED) 581_ecore_con_eet_server_obj_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Server_Obj_Data *pd EINA_UNUSED)
582{ 582{
583 obj = eo_do_super_ret(obj, ECORE_CON_EET_SERVER_OBJ_CLASS, obj, eo_constructor()); 583 obj = eo_super_eo_constructor( ECORE_CON_EET_SERVER_OBJ_CLASS, obj);
584 584
585 if (!obj) return NULL; 585 if (!obj) return NULL;
586 586
@@ -615,13 +615,13 @@ _ecore_con_eet_server_obj_eo_base_destructor(Eo *obj, Ecore_Con_Eet_Server_Obj_D
615 ecore_event_handler_del(pd->handler_del); 615 ecore_event_handler_del(pd->handler_del);
616 ecore_event_handler_del(pd->handler_data); 616 ecore_event_handler_del(pd->handler_data);
617 617
618 eo_do_super(obj, ECORE_CON_EET_SERVER_OBJ_CLASS, eo_destructor()); 618 eo_super_eo_destructor(ECORE_CON_EET_SERVER_OBJ_CLASS, obj);
619} 619}
620 620
621EOLIAN static Eo_Base * 621EOLIAN static Eo_Base *
622_ecore_con_eet_client_obj_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Client_Obj_Data *pd EINA_UNUSED) 622_ecore_con_eet_client_obj_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Client_Obj_Data *pd EINA_UNUSED)
623{ 623{
624 obj = eo_do_super_ret(obj, ECORE_CON_EET_CLIENT_OBJ_CLASS, obj, eo_constructor()); 624 eo_super_eo_constructor(ECORE_CON_EET_CLIENT_OBJ_CLASS, obj);
625 625
626 if (!obj) return NULL; 626 if (!obj) return NULL;
627 627
@@ -654,13 +654,13 @@ _ecore_con_eet_client_obj_eo_base_destructor(Eo *obj, Ecore_Con_Eet_Client_Obj_D
654 ecore_event_handler_del(pd->handler_del); 654 ecore_event_handler_del(pd->handler_del);
655 ecore_event_handler_del(pd->handler_data); 655 ecore_event_handler_del(pd->handler_data);
656 656
657 eo_do_super(obj, ECORE_CON_EET_CLIENT_OBJ_CLASS, eo_destructor()); 657 eo_super_eo_destructor(ECORE_CON_EET_CLIENT_OBJ_CLASS, obj);
658} 658}
659 659
660EOLIAN static Eo_Base * 660EOLIAN static Eo_Base *
661_ecore_con_eet_base_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Base_Data *pd) 661_ecore_con_eet_base_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Base_Data *pd)
662{ 662{
663 obj = eo_do_super_ret(obj, ECORE_CON_EET_BASE_CLASS, obj, eo_constructor()); 663 obj = eo_super_eo_constructor(ECORE_CON_EET_BASE_CLASS, obj);
664 664
665 if (!obj) return NULL; 665 if (!obj) return NULL;
666 666
@@ -675,7 +675,7 @@ _ecore_con_eet_base_eo_base_constructor(Eo *obj, Ecore_Con_Eet_Base_Data *pd)
675EOLIAN static void 675EOLIAN static void
676_ecore_con_eet_base_eo_base_destructor(Eo *obj, Ecore_Con_Eet_Base_Data *pd) 676_ecore_con_eet_base_eo_base_destructor(Eo *obj, Ecore_Con_Eet_Base_Data *pd)
677{ 677{
678 eo_do_super(obj, ECORE_CON_EET_BASE_CLASS, eo_destructor()); 678 eo_super_eo_destructor(ECORE_CON_EET_BASE_CLASS, obj);
679 679
680 eet_data_descriptor_free(pd->edd); 680 eet_data_descriptor_free(pd->edd);
681 eet_data_descriptor_free(pd->matching); 681 eet_data_descriptor_free(pd->matching);
@@ -722,8 +722,8 @@ ecore_con_eet_server_new(Ecore_Con_Server *server)
722 722
723 if (!server) return NULL; 723 if (!server) return NULL;
724 724
725 ece_obj = eo_add(ECORE_CON_EET_SERVER_OBJ_CLASS, NULL, 725 eo_add(ece_obj, ECORE_CON_EET_SERVER_OBJ_CLASS, NULL,
726 ecore_con_eet_base_server_set(server)); 726 ecore_con_eet_base_server_set(NULL, server));
727 727
728 return ece_obj; 728 return ece_obj;
729} 729}
@@ -735,8 +735,8 @@ ecore_con_eet_client_new(Ecore_Con_Server *server)
735 735
736 if (!server) return NULL; 736 if (!server) return NULL;
737 737
738 ece_obj = eo_add(ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL, 738 eo_add(ece_obj, ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL,
739 ecore_con_eet_base_server_set(server)); 739 ecore_con_eet_base_server_set(NULL, server));
740 740
741 return ece_obj; 741 return ece_obj;
742} 742}
@@ -750,31 +750,31 @@ ecore_con_eet_server_free(Ecore_Con_Eet *r)
750EAPI void 750EAPI void
751ecore_con_eet_register(Ecore_Con_Eet *ece, const char *name, Eet_Data_Descriptor *edd) 751ecore_con_eet_register(Ecore_Con_Eet *ece, const char *name, Eet_Data_Descriptor *edd)
752{ 752{
753 eo_do(ece, ecore_con_eet_base_register(name, edd)); 753 eo_do(ece, ecore_con_eet_base_register(ece, name, edd));
754} 754}
755 755
756EAPI void 756EAPI void
757ecore_con_eet_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Data_Cb func, const void *data) 757ecore_con_eet_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Data_Cb func, const void *data)
758{ 758{
759 eo_do(ece, ecore_con_eet_base_data_callback_set(name, func, data)); 759 eo_do(ece, ecore_con_eet_base_data_callback_set(ece, name, func, data));
760} 760}
761 761
762EAPI void 762EAPI void
763ecore_con_eet_data_callback_del(Ecore_Con_Eet *ece, const char *name) 763ecore_con_eet_data_callback_del(Ecore_Con_Eet *ece, const char *name)
764{ 764{
765 eo_do(ece, ecore_con_eet_base_data_callback_del(name)); 765 eo_do(ece, ecore_con_eet_base_data_callback_del(ece, name));
766} 766}
767 767
768EAPI void 768EAPI void
769ecore_con_eet_raw_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Raw_Data_Cb func, const void *data) 769ecore_con_eet_raw_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Raw_Data_Cb func, const void *data)
770{ 770{
771 eo_do(ece, ecore_con_eet_base_raw_data_callback_set(name, func, data)); 771 eo_do(ece, ecore_con_eet_base_raw_data_callback_set(ece, name, func, data));
772} 772}
773 773
774EAPI void 774EAPI void
775ecore_con_eet_raw_data_callback_del(Ecore_Con_Eet *ece, const char *name) 775ecore_con_eet_raw_data_callback_del(Ecore_Con_Eet *ece, const char *name)
776{ 776{
777 eo_do(ece, ecore_con_eet_base_raw_data_callback_del(name)); 777 eo_do(ece, ecore_con_eet_base_raw_data_callback_del(ece, name));
778} 778}
779 779
780EAPI void 780EAPI void
@@ -920,7 +920,7 @@ ecore_con_eet_server_disconnect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_S
920EAPI void 920EAPI void
921ecore_con_eet_data_set(Ecore_Con_Eet *ece, const void *data) 921ecore_con_eet_data_set(Ecore_Con_Eet *ece, const void *data)
922{ 922{
923 eo_do(ece,eo_key_data_set(ECORE_CON_EET_DATA_KEY, data)); 923 eo_do(ece,eo_key_data_set(ece, ECORE_CON_EET_DATA_KEY, data));
924} 924}
925 925
926EAPI const void * 926EAPI const void *
@@ -928,7 +928,7 @@ ecore_con_eet_data_get(Ecore_Con_Eet *ece)
928{ 928{
929 const void *temp; 929 const void *temp;
930 930
931 return eo_do_ret(ece, temp, eo_key_data_get(ECORE_CON_EET_DATA_KEY)); 931 return eo_do_ret(ece, temp, eo_key_data_get(ece, ECORE_CON_EET_DATA_KEY));
932} 932}
933 933
934EAPI Ecore_Con_Eet * 934EAPI Ecore_Con_Eet *
@@ -941,14 +941,14 @@ ecore_con_eet_reply(Ecore_Con_Reply *reply)
941EAPI void 941EAPI void
942ecore_con_eet_send(Ecore_Con_Reply *reply, const char *name, void *value) 942ecore_con_eet_send(Ecore_Con_Reply *reply, const char *name, void *value)
943{ 943{
944 eo_do(reply->ece, ecore_con_eet_base_send(reply, name, value)); 944 eo_do(reply->ece, ecore_con_eet_base_send(reply->ece, reply, name, value));
945} 945}
946 946
947EAPI void 947EAPI void
948ecore_con_eet_raw_send(Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, unsigned int length) 948ecore_con_eet_raw_send(Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, unsigned int length)
949{ 949{
950 eo_do(reply->ece, 950 eo_do(reply->ece,
951 ecore_con_eet_base_raw_send(reply, protocol_name, section, value, 951 ecore_con_eet_base_raw_send(reply->ece, reply, protocol_name, section, value,
952 length)); 952 length));
953} 953}
954 954
diff --git a/src/lib/ecore_con/ecore_con_legacy.c b/src/lib/ecore_con/ecore_con_legacy.c
index 0b84b90..23340fc 100644
--- a/src/lib/ecore_con/ecore_con_legacy.c
+++ b/src/lib/ecore_con/ecore_con_legacy.c
@@ -5,7 +5,7 @@ EAPI Eina_Bool
5ecore_con_url_url_set(Ecore_Con_Url *obj, const char *url) 5ecore_con_url_url_set(Ecore_Con_Url *obj, const char *url)
6{ 6{
7 Eina_Bool ret; 7 Eina_Bool ret;
8 eo_do((Ecore_Con_Url *)obj, ret = efl_network_url_set(url)); 8 eo_do((Ecore_Con_Url *)obj, ret = efl_network_url_set(obj, url));
9 return ret; 9 return ret;
10} 10}
11 11
@@ -13,7 +13,7 @@ EAPI const char *
13ecore_con_url_url_get(const Ecore_Con_Url *obj) 13ecore_con_url_url_get(const Ecore_Con_Url *obj)
14{ 14{
15 const char * ret; 15 const char * ret;
16 eo_do((Ecore_Con_Url *)obj, ret = efl_network_url_get()); 16 eo_do((Ecore_Con_Url *)obj, ret = efl_network_url_get(obj));
17 return ret; 17 return ret;
18} 18}
19 19
diff --git a/src/lib/ecore_con/ecore_con_local_win32.c b/src/lib/ecore_con/ecore_con_local_win32.c
index 4d0dedb..453f016 100644
--- a/src/lib/ecore_con/ecore_con_local_win32.c
+++ b/src/lib/ecore_con/ecore_con_local_win32.c
@@ -286,7 +286,8 @@ _ecore_con_local_win32_client_add(void *data, Ecore_Win32_Handler *wh)
286 (svr->client_count >= (unsigned int)svr->client_limit)) 286 (svr->client_count >= (unsigned int)svr->client_limit))
287 return ECORE_CALLBACK_CANCEL; 287 return ECORE_CALLBACK_CANCEL;
288 288
289 Ecore_Con_Client *cl_obj = eo_add(ECORE_CON_CLIENT_CLASS, NULL); 289 Ecore_Con_Client *cl_obj;
290 eo_add(cl_obj, ECORE_CON_CLIENT_CLASS, NULL);
290 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS); 291 Ecore_Con_Client_Data *cl = eo_data_scope_get(obj, ECORE_CON_CLIENT_CLASS);
291 if (!cl) 292 if (!cl)
292 { 293 {
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index d40fdc5..e257f6c 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -225,11 +225,11 @@ EAPI Ecore_Con_Url *
225ecore_con_url_new(const char *url) 225ecore_con_url_new(const char *url)
226{ 226{
227 Ecore_Con_Url *url_obj; 227 Ecore_Con_Url *url_obj;
228 url_obj = eo_add(EFL_NETWORK_URL_CLASS, NULL, 228 eo_add(url_obj, EFL_NETWORK_URL_CLASS, NULL,
229 efl_network_url_set(url)); 229 efl_network_url_set(NULL, url));
230 230
231 eo_do(url_obj, 231 eo_do(url_obj,
232 eo_event_callback_array_add(efl_network_url_event_table_callbacks(), 232 eo_event_callback_array_add(url_obj, efl_network_url_event_table_callbacks(),
233 NULL)); 233 NULL));
234 234
235 return url_obj; 235 return url_obj;
@@ -238,7 +238,7 @@ ecore_con_url_new(const char *url)
238EOLIAN static Eo * 238EOLIAN static Eo *
239_efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED) 239_efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED)
240{ 240{
241 url_obj = eo_do_super_ret(url_obj, MY_CLASS, url_obj, eo_constructor()); 241 url_obj = eo_super_eo_constructor( MY_CLASS, url_obj);
242 242
243 if (!_init_count || !_c_init()) 243 if (!_init_count || !_c_init())
244 { 244 {
@@ -338,7 +338,7 @@ _efl_network_url_eo_base_finalize(Efl_Network_Url *url_obj, Efl_Network_Url_Data
338 */ 338 */
339 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_CONNECTTIMEOUT, 30); 339 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_CONNECTTIMEOUT, 30);
340 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_FOLLOWLOCATION, 1); 340 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_FOLLOWLOCATION, 1);
341 return eo_do_super_ret(url_obj, MY_CLASS, url_obj, eo_finalize()); 341 return eo_super_eo_finalize( MY_CLASS, url_obj);
342} 342}
343 343
344EAPI Ecore_Con_Url * 344EAPI Ecore_Con_Url *
@@ -376,7 +376,7 @@ ecore_con_url_free(Ecore_Con_Url *url_obj)
376 return; 376 return;
377 377
378 eo_do(url_obj, 378 eo_do(url_obj,
379 eo_event_callback_array_del(efl_network_url_event_table_callbacks(), 379 eo_event_callback_array_del(url_obj, efl_network_url_event_table_callbacks(),
380 NULL)); 380 NULL));
381 381
382 eo_del(url_obj); 382 eo_del(url_obj);
@@ -400,7 +400,7 @@ _ecore_con_url_free_internal(Ecore_Con_Url *url_obj)
400EOLIAN static void 400EOLIAN static void
401_efl_network_url_eo_base_destructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con) 401_efl_network_url_eo_base_destructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con)
402{ 402{
403 eo_do_super(url_obj, MY_CLASS, eo_destructor()); 403 eo_super_eo_destructor(MY_CLASS, url_obj);
404 404
405 if (!_c) return; 405 if (!_c) return;
406 if (url_con->curl_easy) 406 if (url_con->curl_easy)
@@ -1145,7 +1145,7 @@ _ecore_con_url_event_url_complete(Ecore_Con_Url *url_obj, CURLMsg *curlmsg)
1145 e.status = status; 1145 e.status = status;
1146 e.url_con = url_obj; 1146 e.url_con = url_obj;
1147 url_con->event_count++; 1147 url_con->event_count++;
1148 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_COMPLETE, &e)); 1148 eo_do(url_obj, eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_COMPLETE, &e));
1149} 1149}
1150 1150
1151static void 1151static void
@@ -1206,7 +1206,7 @@ _ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp)
1206 e.size = real_size; 1206 e.size = real_size;
1207 e.data = buffer; 1207 e.data = buffer;
1208 url_con->event_count++; 1208 url_con->event_count++;
1209 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_DATA, &e)); 1209 eo_do(url_obj, eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_DATA, &e));
1210 } 1210 }
1211 else 1211 else
1212 { 1212 {
@@ -1265,7 +1265,7 @@ _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double u
1265 e.up.total = ultotal; 1265 e.up.total = ultotal;
1266 e.up.now = ulnow; 1266 e.up.now = ulnow;
1267 url_con->event_count++; 1267 url_con->event_count++;
1268 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_PROGRESS, &e)); 1268 eo_do(url_obj, eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_PROGRESS, &e));
1269 1269
1270 return 0; 1270 return 0;
1271} 1271}
diff --git a/src/lib/ector/cairo/ector_cairo_private.h b/src/lib/ector/cairo/ector_cairo_private.h
index 2b5735a..b45f2f5 100644
--- a/src/lib/ector/cairo/ector_cairo_private.h
+++ b/src/lib/ector/cairo/ector_cairo_private.h
@@ -63,10 +63,10 @@ _ector_cairo_symbol_get(Eo *obj, const char *name)
63 Eo *parent; 63 Eo *parent;
64 void *sym; 64 void *sym;
65 65
66 eo_do(obj, parent = eo_parent_get()); 66 eo_do(obj, parent = eo_parent_get(obj));
67 if (!parent) return NULL; 67 if (!parent) return NULL;
68 68
69 eo_do(parent, sym = ector_cairo_surface_symbol_get(name)); 69 eo_do(parent, sym = ector_cairo_surface_symbol_get(parent, name));
70 return sym; 70 return sym;
71} 71}
72 72
diff --git a/src/lib/ector/cairo/ector_cairo_surface.c b/src/lib/ector/cairo/ector_cairo_surface.c
index bd44405..6005866 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.c
+++ b/src/lib/ector/cairo/ector_cairo_surface.c
@@ -61,14 +61,16 @@ _ector_cairo_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
61 Ector_Cairo_Surface_Data *pd EINA_UNUSED, 61 Ector_Cairo_Surface_Data *pd EINA_UNUSED,
62 const Eo_Class *type) 62 const Eo_Class *type)
63{ 63{
64 Eo* o = NULL;
64 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN) 65 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
65 return eo_add(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj); 66 eo_add(o, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj);
66 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN) 67 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
67 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj); 68 eo_add(o, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj);
68 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN) 69 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
69 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj); 70 eo_add(o, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj);
70 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type)); 71 else
71 return NULL; 72 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
73 return o;
72} 74}
73 75
74typedef struct _cairo_surface_t cairo_surface_t; 76typedef struct _cairo_surface_t cairo_surface_t;
@@ -121,7 +123,7 @@ static Eo *
121_ector_cairo_surface_eo_base_constructor(Eo *obj, 123_ector_cairo_surface_eo_base_constructor(Eo *obj,
122 Ector_Cairo_Surface_Data *pd) 124 Ector_Cairo_Surface_Data *pd)
123{ 125{
124 obj = eo_do_super_ret(obj, ECTOR_CAIRO_SURFACE_CLASS, obj, eo_constructor()); 126 obj = eo_super_eo_constructor( ECTOR_CAIRO_SURFACE_CLASS, obj);
125 _cairo_count++; 127 _cairo_count++;
126 128
127 _ector_cairo_surface_context_set(obj, pd, NULL); 129 _ector_cairo_surface_context_set(obj, pd, NULL);
@@ -133,7 +135,7 @@ static void
133_ector_cairo_surface_eo_base_destructor(Eo *obj EINA_UNUSED, 135_ector_cairo_surface_eo_base_destructor(Eo *obj EINA_UNUSED,
134 Ector_Cairo_Surface_Data *pd EINA_UNUSED) 136 Ector_Cairo_Surface_Data *pd EINA_UNUSED)
135{ 137{
136 eo_do_super(obj, ECTOR_CAIRO_SURFACE_CLASS, eo_destructor()); 138 eo_super_eo_destructor(ECTOR_CAIRO_SURFACE_CLASS, obj);
137 139
138 140
139 141
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_base.c b/src/lib/ector/cairo/ector_renderer_cairo_base.c
index 420ce1f..73a9aaf 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_base.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_base.c
@@ -101,7 +101,7 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_prepare(Eo *obj, Ector_Re
101 { 101 {
102 Eo *parent; 102 Eo *parent;
103 103
104 eo_do(obj, parent = eo_parent_get()); 104 eo_do(obj, parent = eo_parent_get(obj));
105 if (!parent) return EINA_FALSE; 105 if (!parent) return EINA_FALSE;
106 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj); 106 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj);
107 } 107 }
@@ -198,7 +198,7 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_draw(Eo *obj,
198static Eo * 198static Eo *
199_ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED) 199_ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED)
200{ 200{
201 obj = eo_do_super_ret(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, obj, eo_constructor()); 201 obj = eo_super_eo_constructor( ECTOR_RENDERER_CAIRO_BASE_CLASS, obj);
202 202
203 pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 203 pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
204 204
@@ -216,11 +216,11 @@ _ector_renderer_cairo_base_eo_base_destructor(Eo *obj, Ector_Renderer_Cairo_Base
216 216
217 free(pd->m); 217 free(pd->m);
218 218
219 eo_do(obj, parent = eo_parent_get()); 219 eo_do(obj, parent = eo_parent_get(obj));
220 eo_data_xunref(parent, pd->parent, obj); 220 eo_data_xunref(parent, pd->parent, obj);
221 eo_data_xunref(obj, pd->generic, obj); 221 eo_data_xunref(obj, pd->generic, obj);
222 222
223 eo_do_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, eo_destructor()); 223 eo_super_eo_destructor(ECTOR_RENDERER_CAIRO_BASE_CLASS, obj);
224} 224}
225 225
226#include "ector_renderer_cairo_base.eo.c" 226#include "ector_renderer_cairo_base.eo.c"
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c b/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
index 21ba878..67eb0d9 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
@@ -51,13 +51,13 @@ static Eina_Bool
51_ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_prepare(Eo *obj, 51_ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_prepare(Eo *obj,
52 Ector_Renderer_Cairo_Gradient_Linear_Data *pd) 52 Ector_Renderer_Cairo_Gradient_Linear_Data *pd)
53{ 53{
54 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, ector_renderer_prepare()); 54 eo_super_ector_renderer_prepare(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj);
55 55
56 if (!pd->parent) 56 if (!pd->parent)
57 { 57 {
58 Eo *parent; 58 Eo *parent;
59 59
60 eo_do(obj, parent = eo_parent_get()); 60 eo_do(obj, parent = eo_parent_get(obj));
61 if (!parent) return EINA_FALSE; 61 if (!parent) return EINA_FALSE;
62 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj); 62 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj);
63 } 63 }
@@ -82,7 +82,7 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_draw(Eo *obj,
82 pat = _ector_renderer_cairo_gradient_linear_prepare(obj, gld, gd, mul_col); 82 pat = _ector_renderer_cairo_gradient_linear_prepare(obj, gld, gd, mul_col);
83 if (!pat) return EINA_FALSE; 83 if (!pat) return EINA_FALSE;
84 84
85 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, ector_renderer_draw(op, clips, mul_col)); 85 eo_super_ector_renderer_draw(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj, op, clips, mul_col);
86 86
87 USE(obj, cairo_rectangle, EINA_FALSE); 87 USE(obj, cairo_rectangle, EINA_FALSE);
88 USE(obj, cairo_fill, EINA_FALSE); 88 USE(obj, cairo_fill, EINA_FALSE);
@@ -147,10 +147,10 @@ _ector_renderer_cairo_gradient_linear_eo_base_destructor(Eo *obj,
147{ 147{
148 Eo *parent; 148 Eo *parent;
149 149
150 eo_do(obj, parent = eo_parent_get()); 150 eo_do(obj, parent = eo_parent_get(obj));
151 eo_data_xunref(parent, pd->parent, obj); 151 eo_data_xunref(parent, pd->parent, obj);
152 152
153 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, eo_destructor()); 153 eo_super_eo_destructor(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj);
154} 154}
155 155
156void 156void
@@ -159,8 +159,7 @@ _ector_renderer_cairo_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj,
159 const Efl_Gfx_Gradient_Stop *colors, 159 const Efl_Gfx_Gradient_Stop *colors,
160 unsigned int length) 160 unsigned int length)
161{ 161{
162 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, 162 eo_super_efl_gfx_gradient_stop_set(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj, colors, length);
163 efl_gfx_gradient_stop_set(colors, length));
164} 163}
165 164
166static unsigned int 165static unsigned int
@@ -170,8 +169,7 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_crc_get(Eo *ob
170 Ector_Renderer_Generic_Gradient_Data *gd; 169 Ector_Renderer_Generic_Gradient_Data *gd;
171 unsigned int crc; 170 unsigned int crc;
172 171
173 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, 172 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj);
174 crc = ector_renderer_crc_get());
175 173
176 gld = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN); 174 gld = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN);
177 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN); 175 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN);
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c b/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
index 4f8754f..c893219 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
@@ -34,13 +34,13 @@ struct _Ector_Renderer_Cairo_Gradient_Radial_Data
34static Eina_Bool 34static Eina_Bool
35_ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_prepare(Eo *obj, Ector_Renderer_Cairo_Gradient_Radial_Data *pd) 35_ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_prepare(Eo *obj, Ector_Renderer_Cairo_Gradient_Radial_Data *pd)
36{ 36{
37 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, ector_renderer_prepare()); 37 eo_super_ector_renderer_prepare(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj);
38 38
39 if (!pd->parent) 39 if (!pd->parent)
40 { 40 {
41 Eo *parent; 41 Eo *parent;
42 42
43 eo_do(obj, parent = eo_parent_get()); 43 eo_do(obj, parent = eo_parent_get(obj));
44 if (!parent) return EINA_FALSE; 44 if (!parent) return EINA_FALSE;
45 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj); 45 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj);
46 } 46 }
@@ -86,7 +86,7 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_draw(Eo *obj,
86 pat = _ector_renderer_cairo_gradient_radial_prepare(obj, grd, gd, mul_col); 86 pat = _ector_renderer_cairo_gradient_radial_prepare(obj, grd, gd, mul_col);
87 if (!pat) return EINA_FALSE; 87 if (!pat) return EINA_FALSE;
88 88
89 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, ector_renderer_draw(op, clips, mul_col)); 89 eo_super_ector_renderer_draw(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj, op, clips, mul_col);
90 90
91 USE(obj, cairo_arc, EINA_FALSE); 91 USE(obj, cairo_arc, EINA_FALSE);
92 USE(obj, cairo_fill, EINA_FALSE); 92 USE(obj, cairo_fill, EINA_FALSE);
@@ -152,10 +152,10 @@ _ector_renderer_cairo_gradient_radial_eo_base_destructor(Eo *obj,
152{ 152{
153 Eo *parent; 153 Eo *parent;
154 154
155 eo_do(obj, parent = eo_parent_get()); 155 eo_do(obj, parent = eo_parent_get(obj));
156 eo_data_xunref(parent, pd->parent, obj); 156 eo_data_xunref(parent, pd->parent, obj);
157 157
158 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, eo_destructor()); 158 eo_super_eo_destructor(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj);
159} 159}
160 160
161void 161void
@@ -164,8 +164,7 @@ _ector_renderer_cairo_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj,
164 const Efl_Gfx_Gradient_Stop *colors, 164 const Efl_Gfx_Gradient_Stop *colors,
165 unsigned int length) 165 unsigned int length)
166{ 166{
167 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, 167 eo_super_efl_gfx_gradient_stop_set(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj, colors, length);
168 efl_gfx_gradient_stop_set(colors, length));
169} 168}
170 169
171static unsigned int 170static unsigned int
@@ -175,8 +174,7 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_crc_get(Eo *ob
175 Ector_Renderer_Generic_Gradient_Data *gd; 174 Ector_Renderer_Generic_Gradient_Data *gd;
176 unsigned int crc; 175 unsigned int crc;
177 176
178 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, 177 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj);
179 crc = ector_renderer_crc_get());
180 178
181 grd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN); 179 grd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN);
182 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN); 180 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN);
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_shape.c b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
index 0f9193e..da4871c 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
@@ -85,27 +85,27 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_prepare(Eo *obj, Ector_R
85 const Efl_Gfx_Path_Command *cmds = NULL; 85 const Efl_Gfx_Path_Command *cmds = NULL;
86 const double *pts = NULL; 86 const double *pts = NULL;
87 87
88 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, ector_renderer_prepare()); 88 eo_super_ector_renderer_prepare(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj);
89 89
90 if (pd->shape->fill) 90 if (pd->shape->fill)
91 eo_do(pd->shape->fill, ector_renderer_prepare()); 91 eo_do(pd->shape->fill, ector_renderer_prepare(pd->shape->fill));
92 if (pd->shape->stroke.fill) 92 if (pd->shape->stroke.fill)
93 eo_do(pd->shape->stroke.fill, ector_renderer_prepare()); 93 eo_do(pd->shape->stroke.fill, ector_renderer_prepare(pd->shape->stroke.fill));
94 if (pd->shape->stroke.marker) 94 if (pd->shape->stroke.marker)
95 eo_do(pd->shape->stroke.marker, ector_renderer_prepare()); 95 eo_do(pd->shape->stroke.marker, ector_renderer_prepare(pd->shape->stroke.marker));
96 96
97 // shouldn't that be moved to the cairo base object 97 // shouldn't that be moved to the cairo base object
98 if (!pd->parent) 98 if (!pd->parent)
99 { 99 {
100 Eo *parent; 100 Eo *parent;
101 101
102 eo_do(obj, parent = eo_parent_get()); 102 eo_do(obj, parent = eo_parent_get(obj));
103 if (!parent) return EINA_FALSE; 103 if (!parent) return EINA_FALSE;
104 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj); 104 pd->parent = eo_data_xref(parent, ECTOR_CAIRO_SURFACE_CLASS, obj);
105 if (!pd->parent) return EINA_FALSE; 105 if (!pd->parent) return EINA_FALSE;
106 } 106 }
107 107
108 eo_do(obj, efl_gfx_shape_path_get(&cmds, &pts)); 108 eo_do(obj, efl_gfx_shape_path_get(obj, &cmds, &pts));
109 if (!pd->path && cmds) 109 if (!pd->path && cmds)
110 { 110 {
111 USE(obj, cairo_new_path, EINA_FALSE); 111 USE(obj, cairo_new_path, EINA_FALSE);
@@ -172,7 +172,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rend
172 USE(obj, cairo_save, EINA_FALSE); 172 USE(obj, cairo_save, EINA_FALSE);
173 cairo_save(pd->parent->cairo); 173 cairo_save(pd->parent->cairo);
174 174
175 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, ector_renderer_draw(op, clips, mul_col)); 175 eo_super_ector_renderer_draw(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj, op, clips, mul_col);
176 176
177 USE(obj, cairo_new_path, EINA_FALSE); 177 USE(obj, cairo_new_path, EINA_FALSE);
178 USE(obj, cairo_append_path, EINA_FALSE); 178 USE(obj, cairo_append_path, EINA_FALSE);
@@ -181,7 +181,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rend
181 cairo_append_path(pd->parent->cairo, pd->path); 181 cairo_append_path(pd->parent->cairo, pd->path);
182 182
183 if (pd->shape->fill) 183 if (pd->shape->fill)
184 eo_do(pd->shape->fill, ector_renderer_cairo_base_fill(mul_col)); 184 eo_do(pd->shape->fill, ector_renderer_cairo_base_fill(pd->shape->fill, mul_col));
185 185
186 if (pd->shape->stroke.fill || pd->shape->stroke.color.a > 0) 186 if (pd->shape->stroke.fill || pd->shape->stroke.color.a > 0)
187 { 187 {
@@ -195,7 +195,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rend
195 cairo_fill_preserve(pd->parent->cairo); 195 cairo_fill_preserve(pd->parent->cairo);
196 196
197 if (pd->shape->stroke.fill) 197 if (pd->shape->stroke.fill)
198 eo_do(pd->shape->stroke.fill, ector_renderer_cairo_base_fill(mul_col)); 198 eo_do(pd->shape->stroke.fill, ector_renderer_cairo_base_fill(pd->shape->stroke.fill, mul_col));
199 else 199 else
200 { 200 {
201 r = (((pd->shape->stroke.color.r * R_VAL(&mul_col)) + 0xff) >> 8); 201 r = (((pd->shape->stroke.color.r * R_VAL(&mul_col)) + 0xff) >> 8);
@@ -256,7 +256,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_bounds_get(Eo *obj,
256 Ector_Renderer_Cairo_Base_Data *bd; 256 Ector_Renderer_Cairo_Base_Data *bd;
257 257
258 // FIXME: It should be possible to actually ask cairo about that 258 // FIXME: It should be possible to actually ask cairo about that
259 eo_do(obj, efl_gfx_shape_bounds_get(r)); 259 eo_do(obj, efl_gfx_shape_bounds_get(obj, r));
260 260
261 bd = eo_data_scope_get(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS); 261 bd = eo_data_scope_get(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS);
262 r->x += bd->generic->origin.x; 262 r->x += bd->generic->origin.x;
@@ -266,12 +266,12 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_bounds_get(Eo *obj,
266Eo * 266Eo *
267_ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd) 267_ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd)
268{ 268{
269 obj = eo_do_super_ret(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj, eo_constructor()); 269 obj = eo_super_eo_constructor( ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj);
270 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); 270 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj);
271 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 271 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
272 272
273 eo_do(obj, 273 eo_do(obj,
274 eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd)); 274 eo_event_callback_add(obj, EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd));
275 275
276 return obj; 276 return obj;
277} 277}
@@ -282,15 +282,15 @@ _ector_renderer_cairo_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Cairo_Sha
282 Eo *parent; 282 Eo *parent;
283 //FIXME, As base class destructor can't call destructor of mixin class. 283 //FIXME, As base class destructor can't call destructor of mixin class.
284 // call explicit API to free shape data. 284 // call explicit API to free shape data.
285 eo_do(obj, efl_gfx_shape_reset()); 285 eo_do(obj, efl_gfx_shape_reset(obj));
286 286
287 eo_do(obj, parent = eo_parent_get()); 287 eo_do(obj, parent = eo_parent_get(obj));
288 eo_data_xunref(parent, pd->parent, obj); 288 eo_data_xunref(parent, pd->parent, obj);
289 289
290 eo_data_xunref(obj, pd->shape, obj); 290 eo_data_xunref(obj, pd->shape, obj);
291 eo_data_xunref(obj, pd->base, obj); 291 eo_data_xunref(obj, pd->base, obj);
292 292
293 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, eo_destructor()); 293 eo_super_eo_destructor(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj);
294 294
295 USE(obj, cairo_path_destroy, ); 295 USE(obj, cairo_path_destroy, );
296 if (pd->path) cairo_path_destroy(pd->path); 296 if (pd->path) cairo_path_destroy(pd->path);
@@ -302,8 +302,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_crc_get(Eo *obj,
302{ 302{
303 unsigned int crc; 303 unsigned int crc;
304 304
305 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, 305 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj);
306 crc = ector_renderer_crc_get());
307 306
308 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE); 307 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE);
309 crc = eina_crc((void*) &pd->shape->stroke.scale, sizeof (pd->shape->stroke.scale) * 3, crc, EINA_FALSE); // scale, width, centered 308 crc = eina_crc((void*) &pd->shape->stroke.scale, sizeof (pd->shape->stroke.scale) * 3, crc, EINA_FALSE); // scale, width, centered
diff --git a/src/lib/ector/ector_private.h b/src/lib/ector/ector_private.h
index 099542b..ac01318 100644
--- a/src/lib/ector/ector_private.h
+++ b/src/lib/ector/ector_private.h
@@ -150,7 +150,7 @@ _renderer_crc_get(Eo *obj, unsigned int crc)
150{ 150{
151 unsigned int id; 151 unsigned int id;
152 152
153 eo_do(obj, id = ector_renderer_crc_get()); 153 eo_do(obj, id = ector_renderer_crc_get(obj));
154 crc = eina_crc((void*) &id, sizeof (id), crc, EINA_FALSE); 154 crc = eina_crc((void*) &id, sizeof (id), crc, EINA_FALSE);
155 return crc; 155 return crc;
156} 156}
diff --git a/src/lib/ector/ector_renderer_base.c b/src/lib/ector/ector_renderer_base.c
index 4c84eba..40f365f 100644
--- a/src/lib/ector/ector_renderer_base.c
+++ b/src/lib/ector/ector_renderer_base.c
@@ -11,7 +11,7 @@ static void
11_ector_renderer_generic_base_eo_base_destructor(Eo *obj, Ector_Renderer_Generic_Base_Data *pd) 11_ector_renderer_generic_base_eo_base_destructor(Eo *obj, Ector_Renderer_Generic_Base_Data *pd)
12{ 12{
13 if (pd->m) free(pd->m); 13 if (pd->m) free(pd->m);
14 eo_do_super(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, eo_destructor()); 14 eo_super_eo_destructor(ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
15} 15}
16 16
17static void 17static void
@@ -130,7 +130,7 @@ _ector_renderer_generic_base_prepare(Eo *obj EINA_UNUSED,
130 Ector_Renderer_Generic_Base_Data *pd) 130 Ector_Renderer_Generic_Base_Data *pd)
131{ 131{
132 if (pd->mask) 132 if (pd->mask)
133 eo_do(pd->mask, ector_renderer_prepare()); 133 eo_do(pd->mask, ector_renderer_prepare(pd->mask));
134 134
135 return EINA_TRUE; 135 return EINA_TRUE;
136} 136}
diff --git a/src/lib/ector/software/ector_renderer_software_gradient_linear.c b/src/lib/ector/software/ector_renderer_software_gradient_linear.c
index a7ce3ec..240fb64 100644
--- a/src/lib/ector/software/ector_renderer_software_gradient_linear.c
+++ b/src/lib/ector/software/ector_renderer_software_gradient_linear.c
@@ -42,7 +42,7 @@ _ector_renderer_software_gradient_linear_ector_renderer_generic_base_prepare(Eo
42 { 42 {
43 Eo *parent; 43 Eo *parent;
44 44
45 eo_do(obj, parent = eo_parent_get()); 45 eo_do(obj, parent = eo_parent_get(obj));
46 if (!parent) return EINA_FALSE; 46 if (!parent) return EINA_FALSE;
47 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj); 47 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj);
48 } 48 }
@@ -75,7 +75,7 @@ Eo *
75_ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj, 75_ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj,
76 Ector_Renderer_Software_Gradient_Data *pd) 76 Ector_Renderer_Software_Gradient_Data *pd)
77{ 77{
78 obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj, eo_constructor()); 78 obj = eo_super_eo_constructor( ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj);
79 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); 79 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj);
80 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN, obj); 80 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN, obj);
81 81
@@ -90,20 +90,19 @@ _ector_renderer_software_gradient_linear_eo_base_destructor(Eo *obj,
90 90
91 destroy_color_table(pd); 91 destroy_color_table(pd);
92 92
93 eo_do(obj, parent = eo_parent_get()); 93 eo_do(obj, parent = eo_parent_get(obj));
94 eo_data_xunref(parent, pd->surface, obj); 94 eo_data_xunref(parent, pd->surface, obj);
95 95
96 eo_data_xunref(obj, pd->gd, obj); 96 eo_data_xunref(obj, pd->gd, obj);
97 eo_data_xunref(obj, pd->gld, obj); 97 eo_data_xunref(obj, pd->gld, obj);
98 98
99 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, eo_destructor()); 99 eo_super_eo_destructor(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj);
100} 100}
101 101
102void 102void
103_ector_renderer_software_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_Software_Gradient_Data *pd, const Efl_Gfx_Gradient_Stop *colors, unsigned int length) 103_ector_renderer_software_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_Software_Gradient_Data *pd, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
104{ 104{
105 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, 105 eo_super_efl_gfx_gradient_stop_set(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj, colors, length);
106 efl_gfx_gradient_stop_set(colors, length));
107 106
108 destroy_color_table(pd); 107 destroy_color_table(pd);
109} 108}
@@ -113,8 +112,7 @@ _ector_renderer_software_gradient_linear_ector_renderer_generic_base_crc_get(Eo
113{ 112{
114 unsigned int crc; 113 unsigned int crc;
115 114
116 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, 115 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj);
117 crc = ector_renderer_crc_get());
118 116
119 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 117 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
120 if (pd->gd->colors_count) 118 if (pd->gd->colors_count)
diff --git a/src/lib/ector/software/ector_renderer_software_gradient_radial.c b/src/lib/ector/software/ector_renderer_software_gradient_radial.c
index 74a8dab..ee761b1 100644
--- a/src/lib/ector/software/ector_renderer_software_gradient_radial.c
+++ b/src/lib/ector/software/ector_renderer_software_gradient_radial.c
@@ -52,7 +52,7 @@ _ector_renderer_software_gradient_radial_ector_renderer_generic_base_prepare(Eo
52 { 52 {
53 Eo *parent; 53 Eo *parent;
54 54
55 eo_do(obj, parent = eo_parent_get()); 55 eo_do(obj, parent = eo_parent_get(obj));
56 if (!parent) return EINA_FALSE; 56 if (!parent) return EINA_FALSE;
57 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj); 57 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj);
58 } 58 }
@@ -83,7 +83,7 @@ Eo *
83_ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj, 83_ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj,
84 Ector_Renderer_Software_Gradient_Data *pd) 84 Ector_Renderer_Software_Gradient_Data *pd)
85{ 85{
86 obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj, eo_constructor()); 86 obj = eo_super_eo_constructor( ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj);
87 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); 87 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj);
88 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj); 88 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj);
89 89
@@ -98,20 +98,19 @@ _ector_renderer_software_gradient_radial_eo_base_destructor(Eo *obj,
98 98
99 destroy_color_table(pd); 99 destroy_color_table(pd);
100 100
101 eo_do(obj, parent = eo_parent_get()); 101 eo_do(obj, parent = eo_parent_get(obj));
102 eo_data_xunref(parent, pd->surface, obj); 102 eo_data_xunref(parent, pd->surface, obj);
103 103
104 eo_data_xunref(obj, pd->gd, obj); 104 eo_data_xunref(obj, pd->gd, obj);
105 eo_data_xunref(obj, pd->gld, obj); 105 eo_data_xunref(obj, pd->gld, obj);
106 106
107 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, eo_destructor()); 107 eo_super_eo_destructor(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj);
108} 108}
109 109
110void 110void
111_ector_renderer_software_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_Software_Gradient_Data *pd, const Efl_Gfx_Gradient_Stop *colors, unsigned int length) 111_ector_renderer_software_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_Software_Gradient_Data *pd, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
112{ 112{
113 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, 113 eo_super_efl_gfx_gradient_stop_set(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj, colors, length);
114 efl_gfx_gradient_stop_set(colors, length));
115 114
116 destroy_color_table(pd); 115 destroy_color_table(pd);
117} 116}
@@ -121,8 +120,8 @@ _ector_renderer_software_gradient_radial_ector_renderer_generic_base_crc_get(Eo
121{ 120{
122 unsigned int crc; 121 unsigned int crc;
123 122
124 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, 123
125 crc = ector_renderer_crc_get()); 124 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj);
126 125
127 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 126 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
128 if (pd->gd->colors_count) 127 if (pd->gd->colors_count)
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c b/src/lib/ector/software/ector_renderer_software_shape.c
index d659c92..9d6a505 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -520,7 +520,7 @@ _update_rle(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
520 Eina_Bool close_path; 520 Eina_Bool close_path;
521 Outline *outline, *dash_outline; 521 Outline *outline, *dash_outline;
522 522
523 eo_do(obj, efl_gfx_shape_path_get(&cmds, &pts)); 523 eo_do(obj, efl_gfx_shape_path_get(obj, &cmds, &pts));
524 if (cmds && (_generate_stroke_data(pd) || _generate_shape_data(pd))) 524 if (cmds && (_generate_stroke_data(pd) || _generate_shape_data(pd)))
525 { 525 {
526 outline = _outline_create(); 526 outline = _outline_create();
@@ -570,17 +570,17 @@ _ector_renderer_software_shape_ector_renderer_generic_base_prepare(Eo *obj,
570{ 570{
571 // FIXME: shouldn't that be part of the shape generic implementation ? 571 // FIXME: shouldn't that be part of the shape generic implementation ?
572 if (pd->shape->fill) 572 if (pd->shape->fill)
573 eo_do(pd->shape->fill, ector_renderer_prepare()); 573 eo_do(pd->shape->fill, ector_renderer_prepare(pd->shape->fill));
574 if (pd->shape->stroke.fill) 574 if (pd->shape->stroke.fill)
575 eo_do(pd->shape->stroke.fill, ector_renderer_prepare()); 575 eo_do(pd->shape->stroke.fill, ector_renderer_prepare(pd->shape->stroke.fill));
576 if (pd->shape->stroke.marker) 576 if (pd->shape->stroke.marker)
577 eo_do(pd->shape->stroke.marker, ector_renderer_prepare()); 577 eo_do(pd->shape->stroke.marker, ector_renderer_prepare(pd->shape->stroke.marker));
578 578
579 // shouldn't that be moved to the software base object 579 // shouldn't that be moved to the software base object
580 if (!pd->surface) 580 if (!pd->surface)
581 { 581 {
582 Eo *parent; 582 Eo *parent;
583 eo_do(obj, parent = eo_parent_get()); 583 eo_do(obj, parent = eo_parent_get(obj));
584 if (!parent) return EINA_FALSE; 584 if (!parent) return EINA_FALSE;
585 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj); 585 pd->surface = eo_data_xref(parent, ECTOR_SOFTWARE_SURFACE_CLASS, obj);
586 if (!pd->surface) return EINA_FALSE; 586 if (!pd->surface) return EINA_FALSE;
@@ -609,7 +609,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_draw(Eo *obj,
609 609
610 if (pd->shape->fill) 610 if (pd->shape->fill)
611 { 611 {
612 eo_do(pd->shape->fill, ector_renderer_software_base_fill()); 612 eo_do(pd->shape->fill, ector_renderer_software_base_fill(pd->shape->fill));
613 ector_software_rasterizer_draw_rle_data(pd->surface->software, 613 ector_software_rasterizer_draw_rle_data(pd->surface->software,
614 x, y, mul_col, op, 614 x, y, mul_col, op,
615 pd->shape_data); 615 pd->shape_data);
@@ -631,7 +631,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_draw(Eo *obj,
631 631
632 if (pd->shape->stroke.fill) 632 if (pd->shape->stroke.fill)
633 { 633 {
634 eo_do(pd->shape->stroke.fill, ector_renderer_software_base_fill()); 634 eo_do(pd->shape->stroke.fill, ector_renderer_software_base_fill(pd->shape->stroke.fill));
635 ector_software_rasterizer_draw_rle_data(pd->surface->software, 635 ector_software_rasterizer_draw_rle_data(pd->surface->software,
636 x, y, mul_col, op, 636 x, y, mul_col, op,
637 pd->outline_data); 637 pd->outline_data);
@@ -674,7 +674,7 @@ _ector_renderer_software_shape_efl_gfx_shape_path_set(Eo *obj,
674 pd->shape_data = NULL; 674 pd->shape_data = NULL;
675 pd->outline_data = NULL; 675 pd->outline_data = NULL;
676 676
677 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, efl_gfx_shape_path_set(op, points)); 677 eo_super_efl_gfx_shape_path_set(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj, op, points);
678} 678}
679 679
680 680
@@ -697,11 +697,11 @@ _ector_renderer_software_shape_path_changed(void *data, Eo *obj EINA_UNUSED,
697Eo * 697Eo *
698_ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd) 698_ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
699{ 699{
700 obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj, eo_constructor()); 700 obj = eo_super_eo_constructor( ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj);
701 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); 701 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj);
702 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 702 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
703 eo_do(obj, 703 eo_do(obj,
704 eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd)); 704 eo_event_callback_add(obj, EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd));
705 705
706 return obj; 706 return obj;
707} 707}
@@ -712,17 +712,17 @@ _ector_renderer_software_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Softwa
712 Eo *parent; 712 Eo *parent;
713 //FIXME, As base class destructor can't call destructor of mixin class. 713 //FIXME, As base class destructor can't call destructor of mixin class.
714 // call explicit API to free shape data. 714 // call explicit API to free shape data.
715 eo_do(obj, efl_gfx_shape_reset()); 715 eo_do(obj, efl_gfx_shape_reset(obj));
716 716
717 if (pd->shape_data) ector_software_rasterizer_destroy_rle_data(pd->shape_data); 717 if (pd->shape_data) ector_software_rasterizer_destroy_rle_data(pd->shape_data);
718 if (pd->outline_data) ector_software_rasterizer_destroy_rle_data(pd->outline_data); 718 if (pd->outline_data) ector_software_rasterizer_destroy_rle_data(pd->outline_data);
719 719
720 eo_do(obj, parent = eo_parent_get()); 720 eo_do(obj, parent = eo_parent_get(obj));
721 eo_data_xunref(parent, pd->surface, obj); 721 eo_data_xunref(parent, pd->surface, obj);
722 722
723 eo_data_xunref(obj, pd->shape, obj); 723 eo_data_xunref(obj, pd->shape, obj);
724 eo_data_xunref(obj, pd->base, obj); 724 eo_data_xunref(obj, pd->base, obj);
725 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, eo_destructor()); 725 eo_super_eo_destructor(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj);
726} 726}
727 727
728 728
@@ -732,7 +732,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_crc_get(Eo *obj,
732{ 732{
733 unsigned int crc; 733 unsigned int crc;
734 734
735 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, crc = ector_renderer_crc_get()); 735 crc = eo_super_ector_renderer_crc_get(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj);
736 736
737 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE); 737 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE);
738 crc = eina_crc((void*) &pd->shape->stroke.scale, sizeof (pd->shape->stroke.scale) * 3, crc, EINA_FALSE); // scale, width, centered 738 crc = eina_crc((void*) &pd->shape->stroke.scale, sizeof (pd->shape->stroke.scale) * 3, crc, EINA_FALSE); // scale, width, centered
diff --git a/src/lib/ector/software/ector_software_surface.c b/src/lib/ector/software/ector_software_surface.c
index 0391150..8c3d81a 100644
--- a/src/lib/ector/software/ector_software_surface.c
+++ b/src/lib/ector/software/ector_software_surface.c
@@ -18,14 +18,16 @@ _ector_software_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
18 Ector_Software_Surface_Data *pd EINA_UNUSED, 18 Ector_Software_Surface_Data *pd EINA_UNUSED,
19 const Eo_Class *type) 19 const Eo_Class *type)
20{ 20{
21 Eo* o = NULL;
21 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN) 22 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
22 return eo_add(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj); 23 eo_add(o, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj);
23 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN) 24 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
24 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj); 25 eo_add(o, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj);
25 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN) 26 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
26 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj); 27 eo_add(o, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj);
27 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type)); 28 else
28 return NULL; 29 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
30 return o;
29} 31}
30 32
31static void 33static void
@@ -67,7 +69,7 @@ static Eo *
67_ector_software_surface_eo_base_constructor(Eo *obj, 69_ector_software_surface_eo_base_constructor(Eo *obj,
68 Ector_Software_Surface_Data *pd EINA_UNUSED) 70 Ector_Software_Surface_Data *pd EINA_UNUSED)
69{ 71{
70 obj = eo_do_super_ret(obj, ECTOR_SOFTWARE_SURFACE_CLASS, obj, eo_constructor()); 72 obj = eo_super_eo_constructor( ECTOR_SOFTWARE_SURFACE_CLASS, obj);
71 pd->software = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer)); 73 pd->software = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer));
72 ector_software_rasterizer_init(pd->software); 74 ector_software_rasterizer_init(pd->software);
73 return obj; 75 return obj;
@@ -80,7 +82,7 @@ _ector_software_surface_eo_base_destructor(Eo *obj EINA_UNUSED,
80 ector_software_rasterizer_done(pd->software); 82 ector_software_rasterizer_done(pd->software);
81 free(pd->software); 83 free(pd->software);
82 pd->software = NULL; 84 pd->software = NULL;
83 eo_do_super(obj, ECTOR_SOFTWARE_SURFACE_CLASS, eo_destructor()); 85 eo_super_eo_destructor(ECTOR_SOFTWARE_SURFACE_CLASS, obj);
84} 86}
85 87
86static void 88static void
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index e2a662f..ee0f929 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -58,12 +58,12 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
58 eina_quaternion_scale(&quaternion, &quaternion, 1/norm); \ 58 eina_quaternion_scale(&quaternion, &quaternion, 1/norm); \
59 \ 59 \
60 eo_do(ep->node, \ 60 eo_do(ep->node, \
61 evas_canvas3d_node_orientation_set(quaternion.x, quaternion.y, \ 61 evas_canvas3d_node_orientation_set(ep->node, quaternion.x, quaternion.y, \
62 quaternion.z, quaternion.w)); 62 quaternion.z, quaternion.w));
63 63
64#define SET_LOOK_AT(type) \ 64#define SET_LOOK_AT(type) \
65 eo_do(ep->node, \ 65 eo_do(ep->node, \
66 evas_canvas3d_node_look_at_set(pd_##type->type.position.space, \ 66 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, \
67 pd_##type->type.orientation.data[0], \ 67 pd_##type->type.orientation.data[0], \
68 pd_##type->type.orientation.data[1], \ 68 pd_##type->type.orientation.data[1], \
69 pd_##type->type.orientation.data[2], \ 69 pd_##type->type.orientation.data[2], \
@@ -77,9 +77,9 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
77 Evas_Real x, y ,z; \ 77 Evas_Real x, y ,z; \
78 look_to = ed->table_parts[pd_##type->type.orientation.look_to % ed->table_parts_size]; \ 78 look_to = ed->table_parts[pd_##type->type.orientation.look_to % ed->table_parts_size]; \
79 eo_do(look_to->node, \ 79 eo_do(look_to->node, \
80 evas_canvas3d_node_position_get(pd_##type->type.position.space, &x, &y, &z)); \ 80 evas_canvas3d_node_position_get(look_to->node, pd_##type->type.position.space, &x, &y, &z)); \
81 eo_do(ep->node, \ 81 eo_do(ep->node, \
82 evas_canvas3d_node_look_at_set(pd_##type->type.position.space, x, y, z, \ 82 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, x, y, z, \
83 pd_##type->type.position.space, \ 83 pd_##type->type.position.space, \
84 pd_##type->type.orientation.data[3], \ 84 pd_##type->type.orientation.data[3], \
85 pd_##type->type.orientation.data[4], \ 85 pd_##type->type.orientation.data[4], \
@@ -87,7 +87,7 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
87 87
88#define SET_ANGLE_AXIS(type) \ 88#define SET_ANGLE_AXIS(type) \
89 eo_do(ep->node, \ 89 eo_do(ep->node, \
90 evas_canvas3d_node_orientation_angle_axis_set(pd_##type->type.orientation.data[0], \ 90 evas_canvas3d_node_orientation_angle_axis_set(ep->node, pd_##type->type.orientation.data[0], \
91 pd_##type->type.orientation.data[1], \ 91 pd_##type->type.orientation.data[1], \
92 pd_##type->type.orientation.data[2], \ 92 pd_##type->type.orientation.data[2], \
93 pd_##type->type.orientation.data[3])); 93 pd_##type->type.orientation.data[3]));
@@ -843,7 +843,7 @@ _edje_recalc_do(Edje *ed)
843 if (!ed->calc_only) 843 if (!ed->calc_only)
844 { 844 {
845 if (ed->recalc_call) 845 if (ed->recalc_call)
846 eo_do(ed->obj, eo_event_callback_call(EDJE_OBJECT_EVENT_RECALC, NULL)); 846 eo_do(ed->obj, eo_event_callback_call(ed->obj, EDJE_OBJECT_EVENT_RECALC, NULL));
847 } 847 }
848 else 848 else
849 evas_object_smart_need_recalculate_set(ed->obj, need_calc); 849 evas_object_smart_need_recalculate_set(ed->obj, need_calc);
@@ -855,8 +855,8 @@ _edje_recalc_do(Edje *ed)
855 855
856 ed->recalc_hints = EINA_FALSE; 856 ed->recalc_hints = EINA_FALSE;
857 857
858 eo_do(ed->obj, edje_obj_size_min_calc(&w, &h)); 858 eo_do(ed->obj, edje_obj_size_min_calc(ed->obj, &w, &h));
859 eo_do(ed->obj, evas_obj_size_hint_min_set(w, h)); 859 eo_do(ed->obj, evas_obj_size_hint_min_set(ed->obj, w, h));
860 } 860 }
861 861
862 if (!ed->collection) return; 862 if (!ed->collection) return;
@@ -1436,8 +1436,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1436 1436
1437 if (ep->part->scale) base_s = TO_DOUBLE(sc); 1437 if (ep->part->scale) base_s = TO_DOUBLE(sc);
1438 eo_do(ep->object, 1438 eo_do(ep->object,
1439 evas_obj_scale_set(base_s), 1439 evas_obj_scale_set(ep->object, base_s),
1440 evas_obj_textblock_size_native_get(&tw, &th)); 1440 evas_obj_textblock_size_native_get(ep->object, &tw, &th));
1441 1441
1442 orig_s = base_s; 1442 orig_s = base_s;
1443 /* Now make it bigger so calculations will be more accurate 1443 /* Now make it bigger so calculations will be more accurate
@@ -1446,8 +1446,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1446 orig_s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s, 1446 orig_s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s,
1447 orig_s * TO_INT(params->eval.w) / tw); 1447 orig_s * TO_INT(params->eval.w) / tw);
1448 eo_do(ep->object, 1448 eo_do(ep->object,
1449 evas_obj_scale_set(orig_s), 1449 evas_obj_scale_set(ep->object, orig_s),
1450 evas_obj_textblock_size_native_get(&tw, &th)); 1450 evas_obj_textblock_size_native_get(ep->object, &tw, &th));
1451 } 1451 }
1452 if (chosen_desc->text.fit_x) 1452 if (chosen_desc->text.fit_x)
1453 { 1453 {
@@ -1456,8 +1456,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1456 s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s, 1456 s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s,
1457 orig_s * TO_INT(params->eval.w) / tw); 1457 orig_s * TO_INT(params->eval.w) / tw);
1458 eo_do(ep->object, 1458 eo_do(ep->object,
1459 evas_obj_scale_set(s), 1459 evas_obj_scale_set(ep->object, s),
1460 evas_obj_textblock_size_native_get(NULL, NULL)); 1460 evas_obj_textblock_size_native_get(ep->object, NULL, NULL));
1461 } 1461 }
1462 } 1462 }
1463 if (chosen_desc->text.fit_y) 1463 if (chosen_desc->text.fit_y)
@@ -1474,8 +1474,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1474 } 1474 }
1475 1475
1476 eo_do(ep->object, 1476 eo_do(ep->object,
1477 evas_obj_scale_set(s), 1477 evas_obj_scale_set(ep->object, s),
1478 evas_obj_textblock_size_native_get(NULL, NULL)); 1478 evas_obj_textblock_size_native_get(ep->object, NULL, NULL));
1479 } 1479 }
1480 } 1480 }
1481 1481
@@ -1485,7 +1485,7 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1485 int i = 5; /* Tries before we give up. */ 1485 int i = 5; /* Tries before we give up. */
1486 Evas_Coord fw, fh; 1486 Evas_Coord fw, fh;
1487 eo_do(ep->object, 1487 eo_do(ep->object,
1488 evas_obj_textblock_size_native_get(&fw, &fh)); 1488 evas_obj_textblock_size_native_get(ep->object, &fw, &fh));
1489 1489
1490 /* If we are still too big, try reducing the size to 1490 /* If we are still too big, try reducing the size to
1491 * 95% each try. */ 1491 * 95% each try. */
@@ -1501,8 +1501,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1501 s = tmp_s; 1501 s = tmp_s;
1502 1502
1503 eo_do(ep->object, 1503 eo_do(ep->object,
1504 evas_obj_scale_set(s), 1504 evas_obj_scale_set(ep->object, s),
1505 evas_obj_textblock_size_native_get(&fw, &fh)); 1505 evas_obj_textblock_size_native_get(ep->object, &fw, &fh));
1506 i--; 1506 i--;
1507 } 1507 }
1508 } 1508 }
@@ -1535,8 +1535,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1535 if (!chosen_desc->text.min_x) 1535 if (!chosen_desc->text.min_x)
1536 { 1536 {
1537 eo_do(ep->object, 1537 eo_do(ep->object,
1538 efl_gfx_size_set(TO_INT(params->eval.w), TO_INT(params->eval.h)), 1538 efl_gfx_size_set(ep->object, TO_INT(params->eval.w), TO_INT(params->eval.h)),
1539 evas_obj_textblock_size_formatted_get(&tw, &th)); 1539 evas_obj_textblock_size_formatted_get(ep->object, &tw, &th));
1540 } 1540 }
1541 else 1541 else
1542 evas_object_textblock_size_native_get(ep->object, &tw, &th); 1542 evas_object_textblock_size_native_get(ep->object, &tw, &th);
@@ -1563,8 +1563,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
1563 if (!chosen_desc->text.max_x) 1563 if (!chosen_desc->text.max_x)
1564 { 1564 {
1565 eo_do(ep->object, 1565 eo_do(ep->object,
1566 efl_gfx_size_set(TO_INT(params->eval.w), TO_INT(params->eval.h)), 1566 efl_gfx_size_set(ep->object, TO_INT(params->eval.w), TO_INT(params->eval.h)),
1567 evas_obj_textblock_size_formatted_get(&tw, &th)); 1567 evas_obj_textblock_size_formatted_get(ep->object, &tw, &th));
1568 } 1568 }
1569 else 1569 else
1570 evas_object_textblock_size_native_get(ep->object, &tw, &th); 1570 evas_object_textblock_size_native_get(ep->object, &tw, &th);
@@ -1651,7 +1651,7 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
1651 return; 1651 return;
1652 1652
1653 // Note: No need to add padding to that, it's already in the geometry 1653 // Note: No need to add padding to that, it's already in the geometry
1654 eo_do(ep->object, efl_gfx_size_get(&mw, &mh)); 1654 eo_do(ep->object, efl_gfx_size_get(ep->object, &mw, &mh));
1655 1655
1656 if (chosen_desc->text.max_x) 1656 if (chosen_desc->text.max_x)
1657 { 1657 {
@@ -2503,7 +2503,7 @@ _edje_part_recalc_single_filter(Edje *ed,
2503 code = _edje_filter_get(ed, filter); 2503 code = _edje_filter_get(ed, filter);
2504 if (!code) 2504 if (!code)
2505 { 2505 {
2506 eo_do(obj, efl_gfx_filter_program_set(NULL, NULL)); 2506 eo_do(obj, efl_gfx_filter_program_set(obj, NULL, NULL));
2507 return; 2507 return;
2508 } 2508 }
2509 2509
@@ -2525,7 +2525,7 @@ _edje_part_recalc_single_filter(Edje *ed,
2525 continue; 2525 continue;
2526 if (!data->value) 2526 if (!data->value)
2527 { 2527 {
2528 efl_gfx_filter_data_set(data->name, NULL, EINA_FALSE); 2528 efl_gfx_filter_data_set(obj, data->name, NULL, EINA_FALSE);
2529 } 2529 }
2530 else if (!strncmp(data->value, "color_class('", sizeof("color_class('") - 1)) 2530 else if (!strncmp(data->value, "color_class('", sizeof("color_class('") - 1))
2531 { 2531 {
@@ -2555,7 +2555,7 @@ _edje_part_recalc_single_filter(Edje *ed,
2555 (int) cc->r2, (int) cc->g2, (int) cc->b2, (int) cc->a2, 2555 (int) cc->r2, (int) cc->g2, (int) cc->b2, (int) cc->a2,
2556 (int) cc->r3, (int) cc->g3, (int) cc->b3, (int) cc->a3); 2556 (int) cc->r3, (int) cc->g3, (int) cc->b3, (int) cc->a3);
2557 buffer[len - 1] = 0; 2557 buffer[len - 1] = 0;
2558 efl_gfx_filter_data_set(data->name, buffer, EINA_TRUE); 2558 efl_gfx_filter_data_set(obj, data->name, buffer, EINA_TRUE);
2559 } 2559 }
2560 else 2560 else
2561 { 2561 {
@@ -2572,10 +2572,10 @@ _edje_part_recalc_single_filter(Edje *ed,
2572 } 2572 }
2573 } 2573 }
2574 else 2574 else
2575 efl_gfx_filter_data_set(data->name, data->value, EINA_FALSE); 2575 efl_gfx_filter_data_set(obj, data->name, data->value, EINA_FALSE);
2576 } 2576 }
2577 } 2577 }
2578 efl_gfx_filter_program_set(code, filter->name); 2578 efl_gfx_filter_program_set(obj, code, filter->name);
2579 if (prev_sources != filter_sources) 2579 if (prev_sources != filter_sources)
2580 { 2580 {
2581 /* remove sources that are not there anymore 2581 /* remove sources that are not there anymore
@@ -2595,12 +2595,12 @@ _edje_part_recalc_single_filter(Edje *ed,
2595 { 2595 {
2596 part = strchr(src1, ':'); 2596 part = strchr(src1, ':');
2597 if (!part) 2597 if (!part)
2598 efl_gfx_filter_source_set(src1, NULL); 2598 efl_gfx_filter_source_set(obj, src1, NULL);
2599 else 2599 else
2600 { 2600 {
2601 char *name = strdup(src1); 2601 char *name = strdup(src1);
2602 name[part - src1] = 0; 2602 name[part - src1] = 0;
2603 efl_gfx_filter_source_set(name, NULL); 2603 efl_gfx_filter_source_set(obj, name, NULL);
2604 free(name); 2604 free(name);
2605 } 2605 }
2606 } 2606 }
@@ -2619,20 +2619,20 @@ _edje_part_recalc_single_filter(Edje *ed,
2619 else 2619 else
2620 part = src1; 2620 part = src1;
2621 rp = _edje_real_part_get(ed, part); 2621 rp = _edje_real_part_get(ed, part);
2622 efl_gfx_filter_source_set(name ? name : part, rp ? rp->object : NULL); 2622 efl_gfx_filter_source_set(obj, name ? name : part, rp ? rp->object : NULL);
2623 free(name); 2623 free(name);
2624 } 2624 }
2625 } 2625 }
2626 /* pass edje state for transitions */ 2626 /* pass edje state for transitions */
2627 if (ep->param2) 2627 if (ep->param2)
2628 { 2628 {
2629 efl_gfx_filter_state_set(chosen_desc->state.name, chosen_desc->state.value, 2629 efl_gfx_filter_state_set(obj, chosen_desc->state.name, chosen_desc->state.value,
2630 ep->param2->description->state.name, ep->param2->description->state.value, 2630 ep->param2->description->state.name, ep->param2->description->state.value,
2631 pos); 2631 pos);
2632 } 2632 }
2633 else 2633 else
2634 { 2634 {
2635 efl_gfx_filter_state_set(chosen_desc->state.name, chosen_desc->state.value, 2635 efl_gfx_filter_state_set(obj, chosen_desc->state.name, chosen_desc->state.value,
2636 NULL, 0.0, pos); 2636 NULL, 0.0, pos);
2637 } 2637 }
2638 ); 2638 );
@@ -2812,9 +2812,9 @@ _edje_part_recalc_single(Edje *ed,
2812 Evas_Coord lminw = 0, lminh = 0; 2812 Evas_Coord lminw = 0, lminh = 0;
2813 2813
2814 eo_do(ep->object, 2814 eo_do(ep->object,
2815 evas_obj_smart_need_recalculate_set(1), 2815 evas_obj_smart_need_recalculate_set(ep->object, 1),
2816 evas_obj_smart_calculate(), 2816 evas_obj_smart_calculate(ep->object),
2817 evas_obj_size_hint_min_get(&lminw, &lminh)); 2817 evas_obj_size_hint_min_get(ep->object, &lminw, &lminh));
2818 if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h) 2818 if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h)
2819 { 2819 {
2820 if (lminw > minw) minw = lminw; 2820 if (lminw > minw) minw = lminw;
@@ -2831,9 +2831,9 @@ _edje_part_recalc_single(Edje *ed,
2831 Evas_Coord lminw = 0, lminh = 0; 2831 Evas_Coord lminw = 0, lminh = 0;
2832 2832
2833 eo_do(ep->object, 2833 eo_do(ep->object,
2834 evas_obj_smart_need_recalculate_set(1), 2834 evas_obj_smart_need_recalculate_set(ep->object, 1),
2835 evas_obj_smart_calculate(), 2835 evas_obj_smart_calculate(ep->object),
2836 evas_obj_size_hint_min_get(&lminw, &lminh)); 2836 evas_obj_size_hint_min_get(ep->object, &lminw, &lminh));
2837 if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h) 2837 if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h)
2838 { 2838 {
2839 if (lminw > minw) minw = lminw; 2839 if (lminw > minw) minw = lminw;
@@ -2994,14 +2994,14 @@ _edje_table_recalc_apply(Edje *ed EINA_UNUSED,
2994 Edje_Part_Description_Table *chosen_desc) 2994 Edje_Part_Description_Table *chosen_desc)
2995{ 2995{
2996 eo_do(ep->object, 2996 eo_do(ep->object,
2997 evas_obj_table_homogeneous_set(chosen_desc->table.homogeneous), 2997 evas_obj_table_homogeneous_set(ep->object, chosen_desc->table.homogeneous),
2998 evas_obj_table_align_set(TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y)), 2998 evas_obj_table_align_set(ep->object, TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y)),
2999 evas_obj_table_padding_set(chosen_desc->table.padding.x, chosen_desc->table.padding.y)); 2999 evas_obj_table_padding_set(ep->object, chosen_desc->table.padding.x, chosen_desc->table.padding.y));
3000 if (evas_object_smart_need_recalculate_get(ep->object)) 3000 if (evas_object_smart_need_recalculate_get(ep->object))
3001 { 3001 {
3002 eo_do(ep->object, 3002 eo_do(ep->object,
3003 evas_obj_smart_need_recalculate_set(0), 3003 evas_obj_smart_need_recalculate_set(ep->object, 0),
3004 evas_obj_smart_calculate()); 3004 evas_obj_smart_calculate(ep->object));
3005 } 3005 }
3006} 3006}
3007 3007
@@ -3064,13 +3064,13 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
3064 } 3064 }
3065 3065
3066 eo_do(ep->object, 3066 eo_do(ep->object,
3067 efl_gfx_fill_set(p3->type.common.fill.x, 3067 efl_gfx_fill_set(ep->object, p3->type.common.fill.x,
3068 p3->type.common.fill.y, 3068 p3->type.common.fill.y,
3069 p3->type.common.fill.w, 3069 p3->type.common.fill.w,
3070 p3->type.common.fill.h), 3070 p3->type.common.fill.h),
3071 efl_image_smooth_scale_set(p3->smooth), 3071 efl_image_smooth_scale_set(ep->object, p3->smooth),
3072 evas_obj_image_source_visible_set(chosen_desc->proxy.source_visible), 3072 evas_obj_image_source_visible_set(ep->object, chosen_desc->proxy.source_visible),
3073 evas_obj_image_source_clip_set(chosen_desc->proxy.source_clip)); 3073 evas_obj_image_source_clip_set(ep->object, chosen_desc->proxy.source_clip));
3074} 3074}
3075 3075
3076static void 3076static void
@@ -3105,9 +3105,9 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
3105 } 3105 }
3106 3106
3107 eo_do(ep->object, 3107 eo_do(ep->object,
3108 efl_gfx_fill_set(p3->type.common.fill.x, p3->type.common.fill.y, 3108 efl_gfx_fill_set(ep->object, p3->type.common.fill.x, p3->type.common.fill.y,
3109 p3->type.common.fill.w, p3->type.common.fill.h), 3109 p3->type.common.fill.w, p3->type.common.fill.h),
3110 efl_image_smooth_scale_set(p3->smooth)); 3110 efl_image_smooth_scale_set(ep->object, p3->smooth));
3111 if (chosen_desc->image.border.scale) 3111 if (chosen_desc->image.border.scale)
3112 { 3112 {
3113 if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0)) 3113 if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
@@ -4345,7 +4345,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4345 /* visibility and color have no meaning on SWALLOW and GROUP part. */ 4345 /* visibility and color have no meaning on SWALLOW and GROUP part. */
4346#ifdef HAVE_EPHYSICS 4346#ifdef HAVE_EPHYSICS
4347 eo_do(ep->object, 4347 eo_do(ep->object,
4348 efl_gfx_size_set(pf->final.w, pf->final.h)); 4348 efl_gfx_size_set(ep->object, pf->final.w, pf->final.h));
4349 if ((ep->part->physics_body) && (!ep->body)) 4349 if ((ep->part->physics_body) && (!ep->body))
4350 { 4350 {
4351 if (_edje_physics_world_geometry_check(ed->world)) 4351 if (_edje_physics_world_geometry_check(ed->world))
@@ -4363,7 +4363,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4363 } 4363 }
4364 else 4364 else
4365 eo_do(ep->object, 4365 eo_do(ep->object,
4366 efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y)); 4366 efl_gfx_position_set(ep->object, ed->x + pf->final.x, ed->y + pf->final.y));
4367#else 4367#else
4368 eo_do(ep->object, 4368 eo_do(ep->object,
4369 efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y), 4369 efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y),
@@ -4373,8 +4373,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4373 if (ep->nested_smart) /* Move, Resize all nested parts */ 4373 if (ep->nested_smart) /* Move, Resize all nested parts */
4374 { /* Not really needed but will improve the bounding box evaluation done by Evas */ 4374 { /* Not really needed but will improve the bounding box evaluation done by Evas */
4375 eo_do(ep->nested_smart, 4375 eo_do(ep->nested_smart,
4376 efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y), 4376 efl_gfx_position_set(ep->nested_smart, ed->x + pf->final.x, ed->y + pf->final.y),
4377 efl_gfx_size_set(pf->final.w, pf->final.h)); 4377 efl_gfx_size_set(ep->nested_smart, pf->final.w, pf->final.h));
4378 } 4378 }
4379 if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) 4379 if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
4380 _edje_entry_real_part_configure(ed, ep); 4380 _edje_entry_real_part_configure(ed, ep);
@@ -4406,14 +4406,14 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4406 Edje_Part_Description_Camera *pd_camera; 4406 Edje_Part_Description_Camera *pd_camera;
4407 4407
4408 pd_camera = (Edje_Part_Description_Camera*) ep->chosen_description; 4408 pd_camera = (Edje_Part_Description_Camera*) ep->chosen_description;
4409 eo_do(ep->node, camera = evas_canvas3d_node_camera_get()); 4409 eo_do(ep->node, camera = evas_canvas3d_node_camera_get(ep->node));
4410 4410
4411 eo_do(camera, 4411 eo_do(camera,
4412 evas_canvas3d_camera_projection_perspective_set(pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect, 4412 evas_canvas3d_camera_projection_perspective_set(camera, pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect,
4413 pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far)); 4413 pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far));
4414 4414
4415 eo_do(ep->node, 4415 eo_do(ep->node,
4416 evas_canvas3d_node_position_set(pd_camera->camera.position.point.x, pd_camera->camera.position.point.y, 4416 evas_canvas3d_node_position_set(ep->node, pd_camera->camera.position.point.x, pd_camera->camera.position.point.y,
4417 pd_camera->camera.position.point.z)); 4417 pd_camera->camera.position.point.z));
4418 switch (pd_camera->camera.orientation.type) 4418 switch (pd_camera->camera.orientation.type)
4419 { 4419 {
@@ -4443,19 +4443,19 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4443 Edje_Part_Description_Light *pd_light; 4443 Edje_Part_Description_Light *pd_light;
4444 4444
4445 pd_light = (Edje_Part_Description_Light*) ep->chosen_description; 4445 pd_light = (Edje_Part_Description_Light*) ep->chosen_description;
4446 eo_do(ep->node, light_node = evas_canvas3d_node_light_get()); 4446 eo_do(ep->node, light_node = evas_canvas3d_node_light_get(ep->node));
4447 4447
4448 eo_do(light_node, 4448 eo_do(light_node,
4449 evas_canvas3d_light_ambient_set(pd_light->light.properties.ambient.r / 255, pd_light->light.properties.ambient.g / 255, 4449 evas_canvas3d_light_ambient_set(light_node, pd_light->light.properties.ambient.r / 255, pd_light->light.properties.ambient.g / 255,
4450 pd_light->light.properties.ambient.b / 255, pd_light->light.properties.ambient.a / 255), 4450 pd_light->light.properties.ambient.b / 255, pd_light->light.properties.ambient.a / 255),
4451 evas_canvas3d_light_diffuse_set(pd_light->light.properties.diffuse.r / 255, pd_light->light.properties.diffuse.g / 255, 4451 evas_canvas3d_light_diffuse_set(light_node, pd_light->light.properties.diffuse.r / 255, pd_light->light.properties.diffuse.g / 255,
4452 pd_light->light.properties.diffuse.b / 255, pd_light->light.properties.diffuse.a / 255), 4452 pd_light->light.properties.diffuse.b / 255, pd_light->light.properties.diffuse.a / 255),
4453 evas_canvas3d_light_specular_set(pd_light->light.properties.specular.r / 255, pd_light->light.properties.specular.g / 255, 4453 evas_canvas3d_light_specular_set(light_node, pd_light->light.properties.specular.r / 255, pd_light->light.properties.specular.g / 255,
4454 pd_light->light.properties.specular.b / 255, pd_light->light.properties.specular.a / 255), 4454 pd_light->light.properties.specular.b / 255, pd_light->light.properties.specular.a / 255),
4455 evas_canvas3d_light_directional_set(EINA_TRUE)); 4455 evas_canvas3d_light_directional_set(light_node, EINA_TRUE));
4456 4456
4457 eo_do(ep->node, 4457 eo_do(ep->node,
4458 evas_canvas3d_node_position_set(pd_light->light.position.point.x, pd_light->light.position.point.y, 4458 evas_canvas3d_node_position_set(ep->node, pd_light->light.position.point.x, pd_light->light.position.point.y,
4459 pd_light->light.position.point.z)); 4459 pd_light->light.position.point.z));
4460 switch (pd_light->light.orientation.type) 4460 switch (pd_light->light.orientation.type)
4461 { 4461 {
@@ -4489,36 +4489,36 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4489 const Eina_List *meshes; 4489 const Eina_List *meshes;
4490 const Eina_List *list; 4490 const Eina_List *list;
4491 4491
4492 eo_do(ep->node, meshes = evas_canvas3d_node_mesh_list_get()); 4492 eo_do(ep->node, meshes = evas_canvas3d_node_mesh_list_get(ep->node));
4493 4493
4494 EINA_LIST_FOREACH(meshes, list, mesh) 4494 EINA_LIST_FOREACH(meshes, list, mesh)
4495 { 4495 {
4496 eo_do(mesh, material = evas_canvas3d_mesh_frame_material_get(0)); 4496 eo_do(mesh, material = evas_canvas3d_mesh_frame_material_get(mesh, 0));
4497 eo_do(material, texture = evas_canvas3d_material_texture_get(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE)); 4497 eo_do(material, texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE));
4498 4498
4499 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) ep->chosen_description; 4499 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) ep->chosen_description;
4500 4500
4501 eo_do(material, 4501 eo_do(material,
4502 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 4502 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
4503 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE), 4503 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE),
4504 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE), 4504 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE),
4505 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal), 4505 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal),
4506 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, 4506 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT,
4507 pd_mesh_node->mesh_node.properties.ambient.r / 255, 4507 pd_mesh_node->mesh_node.properties.ambient.r / 255,
4508 pd_mesh_node->mesh_node.properties.ambient.g / 255, 4508 pd_mesh_node->mesh_node.properties.ambient.g / 255,
4509 pd_mesh_node->mesh_node.properties.ambient.b / 255, 4509 pd_mesh_node->mesh_node.properties.ambient.b / 255,
4510 pd_mesh_node->mesh_node.properties.ambient.a / 255), 4510 pd_mesh_node->mesh_node.properties.ambient.a / 255),
4511 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, 4511 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE,
4512 pd_mesh_node->mesh_node.properties.diffuse.r / 255, 4512 pd_mesh_node->mesh_node.properties.diffuse.r / 255,
4513 pd_mesh_node->mesh_node.properties.diffuse.g / 255, 4513 pd_mesh_node->mesh_node.properties.diffuse.g / 255,
4514 pd_mesh_node->mesh_node.properties.diffuse.b / 255, 4514 pd_mesh_node->mesh_node.properties.diffuse.b / 255,
4515 pd_mesh_node->mesh_node.properties.diffuse.a / 255), 4515 pd_mesh_node->mesh_node.properties.diffuse.a / 255),
4516 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 4516 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR,
4517 pd_mesh_node->mesh_node.properties.specular.r / 255, 4517 pd_mesh_node->mesh_node.properties.specular.r / 255,
4518 pd_mesh_node->mesh_node.properties.specular.g / 255, 4518 pd_mesh_node->mesh_node.properties.specular.g / 255,
4519 pd_mesh_node->mesh_node.properties.specular.b / 255, 4519 pd_mesh_node->mesh_node.properties.specular.b / 255,
4520 pd_mesh_node->mesh_node.properties.specular.a / 255), 4520 pd_mesh_node->mesh_node.properties.specular.a / 255),
4521 evas_canvas3d_material_shininess_set(pd_mesh_node->mesh_node.properties.shininess)); 4521 evas_canvas3d_material_shininess_set(material, pd_mesh_node->mesh_node.properties.shininess));
4522 4522
4523 switch(pd_mesh_node->mesh_node.mesh.primitive) 4523 switch(pd_mesh_node->mesh_node.mesh.primitive)
4524 { 4524 {
@@ -4527,10 +4527,10 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4527 Eo *primitive = NULL; 4527 Eo *primitive = NULL;
4528 4528
4529 eo_do(primitive, 4529 eo_do(primitive,
4530 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 4530 evas_canvas3d_primitive_form_set(primitive, EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
4531 4531
4532 eo_do(mesh, 4532 eo_do(mesh,
4533 evas_canvas3d_mesh_from_primitive_set(0, primitive)); 4533 evas_canvas3d_mesh_from_primitive_set(mesh, 0, primitive));
4534 break; 4534 break;
4535 } 4535 }
4536 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE: 4536 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE:
@@ -4538,11 +4538,11 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4538 Eo *primitive = NULL; 4538 Eo *primitive = NULL;
4539 4539
4540 eo_do(primitive, 4540 eo_do(primitive,
4541 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 4541 evas_canvas3d_primitive_form_set(primitive, EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
4542 evas_canvas3d_primitive_precision_set(20)); 4542 evas_canvas3d_primitive_precision_set(primitive, 20));
4543 4543
4544 eo_do(mesh, 4544 eo_do(mesh,
4545 evas_canvas3d_mesh_from_primitive_set(0, primitive)); 4545 evas_canvas3d_mesh_from_primitive_set(mesh, 0, primitive));
4546 break; 4546 break;
4547 } 4547 }
4548 default: 4548 default:
@@ -4554,7 +4554,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4554 proxy = NULL; 4554 proxy = NULL;
4555 4555
4556 eo_do(material, 4556 eo_do(material,
4557 texture = evas_canvas3d_material_texture_get(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE)); 4557 texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE));
4558 4558
4559 //proxy = _edje_image_name_find(ed, pd_mesh_node->mesh_node.texture.id); 4559 //proxy = _edje_image_name_find(ed, pd_mesh_node->mesh_node.texture.id);
4560 /*FIXME Conflict with function _edje_image_name_find (two places in edje_utils and edje_edit.c, 4560 /*FIXME Conflict with function _edje_image_name_find (two places in edje_utils and edje_edit.c,
@@ -4563,22 +4563,22 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4563 if (proxy) 4563 if (proxy)
4564 { 4564 {
4565 eo_do(texture, 4565 eo_do(texture,
4566 evas_canvas3d_texture_file_set(eina_stringshare_add(proxy), NULL), 4566 evas_canvas3d_texture_file_set(texture, eina_stringshare_add(proxy), NULL),
4567 evas_canvas3d_texture_filter_set(pd_mesh_node->mesh_node.texture.filter1, 4567 evas_canvas3d_texture_filter_set(texture, pd_mesh_node->mesh_node.texture.filter1,
4568 pd_mesh_node->mesh_node.texture.filter2), 4568 pd_mesh_node->mesh_node.texture.filter2),
4569 evas_canvas3d_texture_wrap_set(pd_mesh_node->mesh_node.texture.wrap1, 4569 evas_canvas3d_texture_wrap_set(texture, pd_mesh_node->mesh_node.texture.wrap1,
4570 pd_mesh_node->mesh_node.texture.wrap2)); 4570 pd_mesh_node->mesh_node.texture.wrap2));
4571 } 4571 }
4572 } 4572 }
4573 4573
4574 eo_do(mesh, 4574 eo_do(mesh,
4575 evas_canvas3d_mesh_frame_material_set(0, material), 4575 evas_canvas3d_mesh_frame_material_set(mesh, 0, material),
4576 evas_canvas3d_mesh_shade_mode_set(pd_mesh_node->mesh_node.properties.shade), 4576 evas_canvas3d_mesh_shade_mode_set(mesh, pd_mesh_node->mesh_node.properties.shade),
4577 evas_canvas3d_mesh_vertex_assembly_set(pd_mesh_node->mesh_node.mesh.assembly)); 4577 evas_canvas3d_mesh_vertex_assembly_set(mesh, pd_mesh_node->mesh_node.mesh.assembly));
4578 eo_do(ep->node, 4578 eo_do(ep->node,
4579 evas_canvas3d_node_scale_set(ep->part->scale_3d.x, ep->part->scale_3d.y, 4579 evas_canvas3d_node_scale_set(ep->node, ep->part->scale_3d.x, ep->part->scale_3d.y,
4580 ep->part->scale_3d.z), 4580 ep->part->scale_3d.z),
4581 evas_canvas3d_node_position_set(pd_mesh_node->mesh_node.position.point.x, 4581 evas_canvas3d_node_position_set(ep->node, pd_mesh_node->mesh_node.position.point.x,
4582 pd_mesh_node->mesh_node.position.point.y, 4582 pd_mesh_node->mesh_node.position.point.y,
4583 pd_mesh_node->mesh_node.position.point.z)); 4583 pd_mesh_node->mesh_node.position.point.z));
4584 switch (pd_mesh_node->mesh_node.orientation.type) 4584 switch (pd_mesh_node->mesh_node.orientation.type)
@@ -4668,9 +4668,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4668 if (ep->part->type == EDJE_PART_TYPE_GROUP) 4668 if (ep->part->type == EDJE_PART_TYPE_GROUP)
4669 vis = evas_object_visible_get(ed->obj); 4669 vis = evas_object_visible_get(ed->obj);
4670 eo_do(ep->typedata.swallow->swallowed_object, 4670 eo_do(ep->typedata.swallow->swallowed_object,
4671 efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y), 4671 efl_gfx_position_set(ep->typedata.swallow->swallowed_object, ed->x + pf->final.x, ed->y + pf->final.y),
4672 efl_gfx_size_set(pf->final.w, pf->final.h), 4672 efl_gfx_size_set(ep->typedata.swallow->swallowed_object, pf->final.w, pf->final.h),
4673 efl_gfx_visible_set(vis)); 4673 efl_gfx_visible_set(ep->typedata.swallow->swallowed_object, vis));
4674 } 4674 }
4675 else evas_object_hide(ep->typedata.swallow->swallowed_object); 4675 else evas_object_hide(ep->typedata.swallow->swallowed_object);
4676 mo = ep->typedata.swallow->swallowed_object; 4676 mo = ep->typedata.swallow->swallowed_object;
@@ -4694,8 +4694,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4694 if (map_obj) 4694 if (map_obj)
4695 { 4695 {
4696 eo_do(map_obj, 4696 eo_do(map_obj,
4697 evas_obj_map_set(map), 4697 evas_obj_map_set(map_obj, map),
4698 evas_obj_map_enable_set(EINA_TRUE)); 4698 evas_obj_map_enable_set(map_obj, EINA_TRUE));
4699 } 4699 }
4700 } 4700 }
4701 else 4701 else
@@ -4703,8 +4703,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4703 if (ep->nested_smart) /* Cancel map of smart obj holding nested parts */ 4703 if (ep->nested_smart) /* Cancel map of smart obj holding nested parts */
4704 { 4704 {
4705 eo_do(ep->nested_smart, 4705 eo_do(ep->nested_smart,
4706 evas_obj_map_enable_set(EINA_FALSE), 4706 evas_obj_map_enable_set(ep->nested_smart, EINA_FALSE),
4707 evas_obj_map_set(NULL)); 4707 evas_obj_map_set(ep->nested_smart, NULL));
4708 } 4708 }
4709 else 4709 else
4710 { 4710 {
@@ -4714,8 +4714,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4714#endif 4714#endif
4715 if (mo) 4715 if (mo)
4716 eo_do(mo, 4716 eo_do(mo,
4717 evas_obj_map_enable_set(0), 4717 evas_obj_map_enable_set(mo, 0),
4718 evas_obj_map_set(NULL)); 4718 evas_obj_map_set(mo, NULL));
4719#ifdef HAVE_EPHYSICS 4719#ifdef HAVE_EPHYSICS
4720 } 4720 }
4721#endif 4721#endif
diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
index 39a6255..7600b42 100644
--- a/src/lib/edje/edje_callbacks.c
+++ b/src/lib/edje/edje_callbacks.c
@@ -466,28 +466,28 @@ EO_CALLBACKS_ARRAY_DEFINE(edje_focus_callbacks,
466void 466void
467_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp) 467_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
468{ 468{
469 eo_do(obj, eo_event_callback_array_add(edje_callbacks(), ed)); 469 eo_do(obj, eo_event_callback_array_add(obj, edje_callbacks(), ed));
470 evas_object_data_set(obj, "real_part", rp); 470 evas_object_data_set(obj, "real_part", rp);
471} 471}
472 472
473void 473void
474_edje_callbacks_del(Evas_Object *obj, Edje *ed) 474_edje_callbacks_del(Evas_Object *obj, Edje *ed)
475{ 475{
476 eo_do(obj, eo_event_callback_array_del(edje_callbacks(), ed)); 476 eo_do(obj, eo_event_callback_array_del(obj, edje_callbacks(), ed));
477 evas_object_data_del(obj, "real_part"); 477