summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore/ecore_anim.c18
-rw-r--r--src/lib/ecore/ecore_exe.c12
-rw-r--r--src/lib/ecore/ecore_exe_posix.c2
-rw-r--r--src/lib/ecore/ecore_exe_win32.c4
-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.c10
-rw-r--r--src/lib/ecore/ecore_poller.c13
-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.c20
-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.c75
-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_url.c23
-rw-r--r--src/lib/ecore_evas/ecore_evas.c4
-rw-r--r--src/lib/ector/cairo/ector_cairo_private.h2
-rw-r--r--src/lib/ector/cairo/ector_cairo_software_surface.c13
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.c13
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_base.c6
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c14
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c14
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_shape.c34
-rw-r--r--src/lib/ector/ector_private.h2
-rw-r--r--src/lib/ector/ector_renderer_generic_base.c6
-rw-r--r--src/lib/ector/ector_renderer_generic_buffer.c2
-rw-r--r--src/lib/ector/gl/ector_gl_surface.c15
-rw-r--r--src/lib/ector/gl/ector_renderer_gl_base.c5
-rw-r--r--src/lib/ector/gl/ector_renderer_gl_gradient_linear.c11
-rw-r--r--src/lib/ector/gl/ector_renderer_gl_gradient_radial.c11
-rw-r--r--src/lib/ector/gl/ector_renderer_gl_shape.c21
-rw-r--r--src/lib/ector/software/ector_renderer_software_buffer.c4
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_linear.c10
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_radial.c10
-rw-r--r--src/lib/ector/software/ector_renderer_software_shape.c28
-rw-r--r--src/lib/ector/software/ector_software_buffer.c6
-rw-r--r--src/lib/ector/software/ector_software_rasterizer.c4
-rw-r--r--src/lib/ector/software/ector_software_surface.c16
-rw-r--r--src/lib/edje/edje_callbacks.c8
-rw-r--r--src/lib/edje/edje_edit.c8
-rw-r--r--src/lib/edje/edje_load.c36
-rw-r--r--src/lib/edje/edje_multisense.c24
-rw-r--r--src/lib/edje/edje_program.c8
-rw-r--r--src/lib/edje/edje_smart.c30
-rw-r--r--src/lib/edje/edje_util.c5
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c80
-rw-r--r--src/lib/efl/interfaces/efl_model_common.c8
-rw-r--r--src/lib/eio/eio_model.c24
-rw-r--r--src/lib/eldbus/eldbus_model_arguments.c10
-rw-r--r--src/lib/eldbus/eldbus_model_connection.c9
-rw-r--r--src/lib/eldbus/eldbus_model_method.c6
-rw-r--r--src/lib/eldbus/eldbus_model_object.c9
-rw-r--r--src/lib/eldbus/eldbus_model_proxy.c16
-rw-r--r--src/lib/eldbus/eldbus_model_signal.c10
-rw-r--r--src/lib/emotion/emotion_smart.c88
-rw-r--r--src/lib/eo/eo_base_class.c28
-rw-r--r--src/lib/evas/Evas_Legacy.h9
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c26
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c32
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c14
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c48
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c146
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c6
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c40
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c42
-rw-r--r--src/lib/evas/canvas/evas_clip.c12
-rw-r--r--src/lib/evas/canvas/evas_data.c7
-rw-r--r--src/lib/evas/canvas/evas_events.c14
-rw-r--r--src/lib/evas/canvas/evas_filter_mixin.c28
-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.c4
-rw-r--r--src/lib/evas/canvas/evas_object_box.c61
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c4
-rw-r--r--src/lib/evas/canvas/evas_object_image.c58
-rw-r--r--src/lib/evas/canvas/evas_object_line.c2
-rw-r--r--src/lib/evas/canvas/evas_object_main.c101
-rw-r--r--src/lib/evas/canvas/evas_object_polygon.c4
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c2
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c36
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c6
-rw-r--r--src/lib/evas/canvas/evas_object_table.c14
-rw-r--r--src/lib/evas/canvas/evas_object_text.c48
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c29
-rw-r--r--src/lib/evas/canvas/evas_object_textgrid.c20
-rw-r--r--src/lib/evas/canvas/evas_object_vg.c8
-rw-r--r--src/lib/evas/canvas/evas_out.c12
-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.c16
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient.c17
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_linear.c42
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c50
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c65
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/evas_vg_root_node.c11
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c153
-rw-r--r--src/lib/evas/canvas/render2/evas_render2.c6
-rw-r--r--src/lib/evas/canvas/render2/evas_render2_old.c6
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.c30
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.h26
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load_save_common.c24
-rw-r--r--src/lib/evas/filters/evas_filter.c2
-rw-r--r--src/lib/evas/filters/evas_filter_blend.c8
-rw-r--r--src/lib/evas/filters/evas_filter_blur.c8
-rw-r--r--src/lib/evas/filters/evas_filter_bump.c12
-rw-r--r--src/lib/evas/filters/evas_filter_curve.c8
-rw-r--r--src/lib/evas/filters/evas_filter_displace.c12
-rw-r--r--src/lib/evas/filters/evas_filter_fill.c2
-rw-r--r--src/lib/evas/filters/evas_filter_mask.c24
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c27
-rw-r--r--src/lib/evas/filters/evas_filter_private.h4
-rw-r--r--src/lib/evas/filters/evas_filter_transform.c4
-rw-r--r--src/lib/evas/filters/evas_filter_utils.c4
123 files changed, 1152 insertions, 1339 deletions
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index a5f4d9d..d54e92f 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_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,7 @@ 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 animator = eo_add(MY_CLASS, _ecore_parent, ecore_animator_constructor(eoid, func, data));
376 ecore_animator_constructor(func, data));
377 return animator; 376 return animator;
378} 377}
379 378
@@ -389,8 +388,7 @@ ecore_animator_timeline_add(double runtime,
389 const void *data) 388 const void *data)
390{ 389{
391 Ecore_Animator *animator; 390 Ecore_Animator *animator;
392 animator = eo_add(MY_CLASS, _ecore_parent, 391 animator = eo_add(MY_CLASS, _ecore_parent, ecore_animator_timeline_constructor(eoid, runtime, func, data));
393 ecore_animator_timeline_constructor(runtime, func, data));
394 return animator; 392 return animator;
395} 393}
396 394
@@ -682,7 +680,7 @@ _ecore_animator_eo_base_destructor(Eo *obj, Ecore_Animator_Data *pd)
682 pd->delete_me = EINA_TRUE; 680 pd->delete_me = EINA_TRUE;
683 animators_delete_me++; 681 animators_delete_me++;
684 682
685 eo_do_super(obj, MY_CLASS, eo_destructor()); 683 eo_destructor(eo_super(obj, MY_CLASS));
686} 684}
687 685
688EOLIAN static Eo * 686EOLIAN static Eo *
@@ -693,7 +691,7 @@ _ecore_animator_eo_base_finalize(Eo *obj, Ecore_Animator_Data *pd)
693 return NULL; 691 return NULL;
694 } 692 }
695 693
696 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 694 return eo_finalize(eo_super(obj, MY_CLASS));
697} 695}
698 696
699EAPI void 697EAPI void
@@ -718,7 +716,7 @@ EAPI void
718ecore_animator_freeze(Ecore_Animator *animator) 716ecore_animator_freeze(Ecore_Animator *animator)
719{ 717{
720 ECORE_ANIMATOR_CHECK(animator); 718 ECORE_ANIMATOR_CHECK(animator);
721 eo_do(animator, eo_event_freeze()); 719 eo_event_freeze(animator);
722} 720}
723 721
724EOLIAN static void 722EOLIAN static void
@@ -738,7 +736,7 @@ EAPI void
738ecore_animator_thaw(Ecore_Animator *animator) 736ecore_animator_thaw(Ecore_Animator *animator)
739{ 737{
740 ECORE_ANIMATOR_CHECK(animator); 738 ECORE_ANIMATOR_CHECK(animator);
741 eo_do(animator, eo_event_thaw()); 739 eo_event_thaw(animator);
742} 740}
743 741
744EOLIAN static void 742EOLIAN static void
@@ -813,7 +811,7 @@ _ecore_animator_shutdown(void)
813 if (animator->suspended) animators_suspended--; 811 if (animator->suspended) animators_suspended--;
814 animators = (Ecore_Animator_Data *)eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators)); 812 animators = (Ecore_Animator_Data *)eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators));
815 813
816 eo_do(animator->obj, eo_parent_set(NULL)); 814 eo_parent_set(animator->obj, NULL);
817 if (eo_destructed_is(animator->obj)) 815 if (eo_destructed_is(animator->obj))
818 eo_manual_free(animator->obj); 816 eo_manual_free(animator->obj);
819 else 817 else
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index e31f96e..75c577b 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -67,7 +67,7 @@ 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 = eo_add(MY_CLASS, NULL, ecore_obj_exe_command_set(eoid, exe_cmd, flags));
71 if (ret) 71 if (ret)
72 { 72 {
73 Ecore_Exe_Data *pd = eo_data_scope_get(ret, MY_CLASS); 73 Ecore_Exe_Data *pd = eo_data_scope_get(ret, MY_CLASS);
@@ -95,7 +95,7 @@ EOLIAN static Eo *
95_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe) 95_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe)
96{ 96{
97 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 97 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
98 eo_do_super(obj, MY_CLASS, obj = eo_finalize()); 98 obj = eo_finalize(eo_super(obj, MY_CLASS));
99 99
100 if (!obj) 100 if (!obj)
101 return obj; 101 return obj;
@@ -216,7 +216,7 @@ ecore_exe_free(Ecore_Exe *obj)
216EOLIAN static void 216EOLIAN static void
217_ecore_exe_eo_base_destructor(Eo *obj, Ecore_Exe_Data *exe) 217_ecore_exe_eo_base_destructor(Eo *obj, Ecore_Exe_Data *exe)
218{ 218{
219 eo_do_super(obj, ECORE_EXE_CLASS, eo_destructor()); 219 eo_destructor(eo_super(obj, ECORE_EXE_CLASS));
220 220
221 _impl_ecore_exe_eo_base_destructor(obj, exe); 221 _impl_ecore_exe_eo_base_destructor(obj, exe);
222} 222}
@@ -247,7 +247,7 @@ ecore_exe_cmd_get(const Ecore_Exe *obj)
247 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 247 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
248 const char *ret = NULL; 248 const char *ret = NULL;
249 249
250 eo_do(obj, ecore_obj_exe_command_get(&ret, NULL)); 250 ecore_obj_exe_command_get(obj, &ret, NULL);
251 251
252 return ret; 252 return ret;
253} 253}
@@ -292,13 +292,13 @@ ecore_exe_flags_get(const Ecore_Exe *obj)
292EAPI void 292EAPI void
293ecore_exe_pause(Ecore_Exe *obj) 293ecore_exe_pause(Ecore_Exe *obj)
294{ 294{
295 eo_do(obj, efl_control_suspend_set(EINA_TRUE)); 295 efl_control_suspend_set(obj, EINA_TRUE);
296} 296}
297 297
298EAPI void 298EAPI void
299ecore_exe_continue(Ecore_Exe *obj) 299ecore_exe_continue(Ecore_Exe *obj)
300{ 300{
301 eo_do(obj, efl_control_suspend_set(EINA_FALSE)); 301 efl_control_suspend_set(obj, EINA_FALSE);
302} 302}
303 303
304EOLIAN static void 304EOLIAN static void
diff --git a/src/lib/ecore/ecore_exe_posix.c b/src/lib/ecore/ecore_exe_posix.c
index e416e23..7c503a6 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_event_callback_call(obj, eo_event, e);
1175 } 1175 }
1176 } 1176 }
1177 } 1177 }
diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c
index 42cc5ce..bc40414 100644
--- a/src/lib/ecore/ecore_exe_win32.c
+++ b/src/lib/ecore/ecore_exe_win32.c
@@ -158,7 +158,7 @@ _ecore_exe_pipe_read_thread_cb(void *data)
158 ecore_event_add(ECORE_EXE_EVENT_DATA, event_data, 158 ecore_event_add(ECORE_EXE_EVENT_DATA, event_data,
159 _ecore_exe_event_exe_data_free, 159 _ecore_exe_event_exe_data_free,
160 NULL); 160 NULL);
161 eo_do(obj, eo_event_callback_call(ECORE_EXE_EVENT_DATA_GET, event_data)); 161 eo_event_callback_call(obj, ECORE_EXE_EVENT_DATA_GET, event_data);
162 } 162 }
163 163
164 current_buf = NULL; 164 current_buf = NULL;
@@ -228,7 +228,7 @@ _ecore_exe_pipe_error_thread_cb(void *data)
228 ecore_event_add(ECORE_EXE_EVENT_ERROR, event_data, 228 ecore_event_add(ECORE_EXE_EVENT_ERROR, event_data,
229 _ecore_exe_event_exe_data_free, 229 _ecore_exe_event_exe_data_free,
230 NULL); 230 NULL);
231 eo_do(obj, eo_event_callback_call(ECORE_EXE_EVENT_DATA_ERROR, event_data)); 231 eo_event_callback_call(obj, ECORE_EXE_EVENT_DATA_ERROR, event_data);
232 } 232 }
233 233
234 current_buf = NULL; 234 current_buf = NULL;
diff --git a/src/lib/ecore/ecore_idle_enterer.c b/src/lib/ecore/ecore_idle_enterer.c
index 6c40158..a7cbfa5 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 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_after_constructor(eoid, func, data));
65 return ie; 65 return ie;
66} 66}
67 67
@@ -78,7 +78,7 @@ ecore_idle_enterer_before_add(Ecore_Task_Cb func,
78 const void *data) 78 const void *data)
79{ 79{
80 Ecore_Idle_Enterer *ie = NULL; 80 Ecore_Idle_Enterer *ie = NULL;
81 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(func, data)); 81 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(eoid, func, data));
82 return ie; 82 return ie;
83} 83}
84 84
@@ -117,7 +117,7 @@ _ecore_idle_enterer_eo_base_destructor(Eo *obj, Ecore_Idle_Enterer_Data *idle_en
117 idle_enterer->delete_me = 1; 117 idle_enterer->delete_me = 1;
118 idle_enterers_delete_me = 1; 118 idle_enterers_delete_me = 1;
119 119
120 eo_do_super(obj, MY_CLASS, eo_destructor()); 120 eo_destructor(eo_super(obj, MY_CLASS));
121} 121}
122 122
123EOLIAN static Eo * 123EOLIAN static Eo *
@@ -128,7 +128,7 @@ _ecore_idle_enterer_eo_base_finalize(Eo *obj, Ecore_Idle_Enterer_Data *idle_ente
128 return NULL; 128 return NULL;
129 } 129 }
130 130
131 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 131 return eo_finalize(eo_super(obj, MY_CLASS));
132} 132}
133 133
134void 134void
@@ -139,7 +139,7 @@ _ecore_idle_enterer_shutdown(void)
139 { 139 {
140 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(idle_enterers)); 140 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(idle_enterers));
141 141
142 eo_do(ie->obj, eo_parent_set(NULL)); 142 eo_parent_set(ie->obj, NULL);
143 if (eo_destructed_is(ie->obj)) 143 if (eo_destructed_is(ie->obj))
144 eo_manual_free(ie->obj); 144 eo_manual_free(ie->obj);
145 else 145 else
@@ -201,7 +201,7 @@ _ecore_idle_enterer_call(void)
201 201
202 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie)); 202 idle_enterers = (Ecore_Idle_Enterer_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie));
203 203
204 eo_do(ie->obj, eo_parent_set(NULL)); 204 eo_parent_set(ie->obj, NULL);
205 if (eo_destructed_is(ie->obj)) 205 if (eo_destructed_is(ie->obj))
206 eo_manual_free(ie->obj); 206 eo_manual_free(ie->obj);
207 else 207 else
diff --git a/src/lib/ecore/ecore_idle_exiter.c b/src/lib/ecore/ecore_idle_exiter.c
index d4e6962..5074b13 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 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(eoid, func, data));
41 return ie; 41 return ie;
42} 42}
43 43
@@ -88,7 +88,7 @@ _ecore_idle_exiter_eo_base_finalize(Eo *obj, Ecore_Idle_Exiter_Data *idle_exiter
88 return NULL; 88 return NULL;
89 } 89 }
90 90
91 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 91 return eo_finalize(eo_super(obj, MY_CLASS));
92} 92}
93 93
94EOLIAN static void 94EOLIAN static void
@@ -98,7 +98,7 @@ _ecore_idle_exiter_eo_base_destructor(Eo *obj, Ecore_Idle_Exiter_Data *idle_exit
98 idle_exiter->delete_me = 1; 98 idle_exiter->delete_me = 1;
99 idle_exiters_delete_me = 1; 99 idle_exiters_delete_me = 1;
100 100
101 eo_do_super(obj, MY_CLASS, eo_destructor()); 101 eo_destructor(eo_super(obj, MY_CLASS));
102} 102}
103 103
104void 104void
@@ -109,7 +109,7 @@ _ecore_idle_exiter_shutdown(void)
109 { 109 {
110 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(idle_exiters)); 110 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(idle_exiters));
111 111
112 eo_do(ie->obj, eo_parent_set(NULL)); 112 eo_parent_set(ie->obj, NULL);
113 if (eo_destructed_is(ie->obj)) 113 if (eo_destructed_is(ie->obj))
114 eo_manual_free(ie->obj); 114 eo_manual_free(ie->obj);
115 else 115 else
@@ -172,7 +172,7 @@ _ecore_idle_exiter_call(void)
172 172
173 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie)); 173 idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie));
174 174
175 eo_do(ie->obj, eo_parent_set(NULL)); 175 eo_parent_set(ie->obj, NULL);
176 if (eo_destructed_is(ie->obj)) 176 if (eo_destructed_is(ie->obj))
177 eo_manual_free(ie->obj); 177 eo_manual_free(ie->obj);
178 else 178 else
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index 6cd3ba1..f68d424 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -35,7 +35,7 @@ EAPI Ecore_Idler *
35ecore_idler_add(Ecore_Task_Cb func, 35ecore_idler_add(Ecore_Task_Cb func,
36 const void *data) 36 const void *data)
37{ 37{
38 return eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(func, data)); 38 return eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(eoid, func, data));
39} 39}
40 40
41EOLIAN static void 41EOLIAN static void
@@ -86,7 +86,7 @@ _ecore_idler_eo_base_destructor(Eo *obj, Ecore_Idler_Data *idler)
86 idler->delete_me = 1; 86 idler->delete_me = 1;
87 idlers_delete_me = 1; 87 idlers_delete_me = 1;
88 88
89 eo_do_super(obj, MY_CLASS, eo_destructor()); 89 eo_destructor(eo_super(obj, MY_CLASS));
90} 90}
91 91
92EOLIAN static Eo * 92EOLIAN static Eo *
@@ -97,7 +97,7 @@ _ecore_idler_eo_base_finalize(Eo *obj, Ecore_Idler_Data *idler)
97 return NULL; 97 return NULL;
98 } 98 }
99 99
100 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 100 return eo_finalize(eo_super(obj, MY_CLASS));
101} 101}
102 102
103void 103void
@@ -108,7 +108,7 @@ _ecore_idler_shutdown(void)
108 { 108 {
109 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(idlers)); 109 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(idlers));
110 110
111 eo_do(ie->obj, eo_parent_set(NULL)); 111 eo_parent_set(ie->obj, NULL);
112 if (eo_destructed_is(ie->obj)) 112 if (eo_destructed_is(ie->obj))
113 eo_manual_free(ie->obj); 113 eo_manual_free(ie->obj);
114 else 114 else
@@ -167,7 +167,7 @@ _ecore_idler_all_call(void)
167 167
168 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie)); 168 idlers = (Ecore_Idler_Data *)eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie));
169 169
170 eo_do(ie->obj, eo_parent_set(NULL)); 170 eo_parent_set(ie->obj, NULL);
171 if (eo_destructed_is(ie->obj)) 171 if (eo_destructed_is(ie->obj))
172 eo_manual_free(ie->obj); 172 eo_manual_free(ie->obj);
173 else 173 else
diff --git a/src/lib/ecore/ecore_job.c b/src/lib/ecore/ecore_job.c
index ed988ab..1f459c7 100644
--- a/src/lib/ecore/ecore_job.c
+++ b/src/lib/ecore/ecore_job.c
@@ -49,7 +49,7 @@ 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 = eo_add(MY_CLASS, _ecore_parent, ecore_job_constructor(eoid, func, data));
53 return job; 53 return job;
54} 54}
55 55
@@ -88,7 +88,7 @@ ecore_job_del(Ecore_Job *obj)
88 Ecore_Job_Data *job = eo_data_scope_get(obj, MY_CLASS); 88 Ecore_Job_Data *job = eo_data_scope_get(obj, MY_CLASS);
89 data = job->data; 89 data = job->data;
90 ecore_event_del(job->event); 90 ecore_event_del(job->event);
91 eo_do(obj, eo_parent_set(NULL)); 91 eo_parent_set(obj, NULL);
92 return data; 92 return data;
93} 93}
94 94
@@ -96,7 +96,7 @@ EOLIAN static void
96_ecore_job_eo_base_destructor(Eo *obj, Ecore_Job_Data *_pd EINA_UNUSED) 96_ecore_job_eo_base_destructor(Eo *obj, Ecore_Job_Data *_pd EINA_UNUSED)
97{ 97{
98 /*FIXME: check if ecore_event_del should be called from here*/ 98 /*FIXME: check if ecore_event_del should be called from here*/
99 eo_do_super(obj, MY_CLASS, eo_destructor()); 99 eo_destructor(eo_super(obj, MY_CLASS));
100} 100}
101 101
102EOLIAN static Eo * 102EOLIAN static Eo *
@@ -107,7 +107,7 @@ _ecore_job_eo_base_finalize(Eo *obj, Ecore_Job_Data *pd)
107 return NULL; 107 return NULL;
108 } 108 }
109 109
110 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 110 return eo_finalize(eo_super(obj, MY_CLASS));
111} 111}
112 112
113static Eina_Bool 113static Eina_Bool
@@ -126,7 +126,7 @@ static void
126_ecore_job_event_free(void *data, 126_ecore_job_event_free(void *data,
127 void *job EINA_UNUSED) 127 void *job EINA_UNUSED)
128{ 128{
129 eo_do(data, eo_parent_set(NULL)); 129 eo_parent_set(data, NULL);
130 130
131 Ecore_Job *obj = data; 131 Ecore_Job *obj = data;
132 132
diff --git a/src/lib/ecore/ecore_poller.c b/src/lib/ecore/ecore_poller.c
index 348a734..79f2a78 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_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,7 @@ 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 poller = eo_add(MY_CLASS, _ecore_parent, ecore_poller_constructor(eoid, type, interval, func, data));
241 ecore_poller_constructor(type, interval, func, data));
242 return poller; 241 return poller;
243} 242}
244 243
@@ -352,7 +351,7 @@ ecore_poller_del(Ecore_Poller *obj)
352 data = poller->data; 351 data = poller->data;
353 pollers[poller->ibit] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller)); 352 pollers[poller->ibit] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller));
354 353
355 eo_do(poller->obj, eo_parent_set(NULL)); 354 eo_parent_set(poller->obj, NULL);
356 if (eo_destructed_is(poller->obj)) 355 if (eo_destructed_is(poller->obj))
357 eo_manual_free(obj); 356 eo_manual_free(obj);
358 else 357 else
@@ -371,7 +370,7 @@ _ecore_poller_eo_base_destructor(Eo *obj, Ecore_Poller_Data *pd)
371 poller_delete_count++; 370 poller_delete_count++;
372 } 371 }
373 372
374 eo_do_super(obj, MY_CLASS, eo_destructor()); 373 eo_destructor(eo_super(obj, MY_CLASS));
375} 374}
376 375
377EOLIAN static Eo * 376EOLIAN static Eo *
@@ -382,7 +381,7 @@ _ecore_poller_eo_base_finalize(Eo *obj, Ecore_Poller_Data *pd)
382 return NULL; 381 return NULL;
383 } 382 }
384 383
385 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 384 return eo_finalize(eo_super(obj, MY_CLASS));
386} 385}
387 386
388void 387void
@@ -396,7 +395,7 @@ _ecore_poller_shutdown(void)
396 while ((poller = pollers[i])) 395 while ((poller = pollers[i]))
397 { 396 {
398 pollers[i] = (Ecore_Poller_Data *)eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(pollers[i])); 397 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)); 398 eo_parent_set(poller->obj, NULL);
400 if (eo_destructed_is(poller->obj)) 399 if (eo_destructed_is(poller->obj))
401 eo_manual_free(poller->obj); 400 eo_manual_free(poller->obj);
402 else 401 else
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index 11a6ad1..7343a7f 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -93,7 +93,7 @@ ecore_timer_add(double in,
93 Ecore_Timer *timer = NULL; 93 Ecore_Timer *timer = NULL;
94 94
95 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 95 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
96 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(in, func, data)); 96 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(eoid, in, func, data));
97 return timer; 97 return timer;
98} 98}
99 99
@@ -232,7 +232,7 @@ EAPI void
232ecore_timer_freeze(Ecore_Timer *timer) 232ecore_timer_freeze(Ecore_Timer *timer)
233{ 233{
234 ECORE_TIMER_CHECK(timer); 234 ECORE_TIMER_CHECK(timer);
235 eo_do(timer, eo_event_freeze()); 235 eo_event_freeze(timer);
236} 236}
237 237
238EOLIAN static void 238EOLIAN static void
@@ -261,7 +261,7 @@ ecore_timer_freeze_get(Ecore_Timer *timer)
261{ 261{
262 int r = 0; 262 int r = 0;
263 263
264 eo_do(timer, r = eo_event_freeze_count_get()); 264 r = eo_event_freeze_count_get(timer);
265 return !!r; 265 return !!r;
266} 266}
267 267
@@ -277,7 +277,7 @@ EAPI void
277ecore_timer_thaw(Ecore_Timer *timer) 277ecore_timer_thaw(Ecore_Timer *timer)
278{ 278{
279 ECORE_TIMER_CHECK(timer); 279 ECORE_TIMER_CHECK(timer);
280 eo_do(timer, eo_event_thaw()); 280 eo_event_thaw(timer);
281} 281}
282 282
283EOLIAN static void 283EOLIAN static void
@@ -357,7 +357,7 @@ _ecore_timer_loop_add(double in,
357 const void *data) 357 const void *data)
358{ 358{
359 Ecore_Timer *timer = NULL; 359 Ecore_Timer *timer = NULL;
360 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(in, func, data)); 360 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(eoid, in, func, data));
361 361
362 return timer; 362 return timer;
363} 363}
@@ -397,7 +397,7 @@ _ecore_timer_del(Ecore_Timer *obj)
397 if (timer->delete_me) 397 if (timer->delete_me)
398 timers_delete_me--; 398 timers_delete_me--;
399 399
400 eo_do(obj, eo_parent_set(NULL)); 400 eo_parent_set(obj, NULL);
401 401
402 if (eo_destructed_is(obj)) 402 if (eo_destructed_is(obj))
403 eo_manual_free(obj); 403 eo_manual_free(obj);
@@ -421,7 +421,7 @@ _ecore_timer_eo_base_destructor(Eo *obj, Ecore_Timer_Data *pd)
421 timers_delete_me++; 421 timers_delete_me++;
422 } 422 }
423 423
424 eo_do_super(obj, MY_CLASS, eo_destructor()); 424 eo_destructor(eo_super(obj, MY_CLASS));
425} 425}
426 426
427EOLIAN static Eo * 427EOLIAN static Eo *
@@ -432,7 +432,7 @@ _ecore_timer_eo_base_finalize(Eo *obj, Ecore_Timer_Data *pd)
432 return NULL; 432 return NULL;
433 } 433 }
434 434
435 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 435 return eo_finalize(eo_super(obj, MY_CLASS));
436} 436}
437 437
438void 438void
@@ -445,7 +445,7 @@ _ecore_timer_shutdown(void)
445 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timers)); 445 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timers));
446 446
447 eo_data_unref(timer->obj, timer); 447 eo_data_unref(timer->obj, timer);
448 eo_do(timer->obj, eo_parent_set(NULL)); 448 eo_parent_set(timer->obj, NULL);
449 if (eo_destructed_is(timer->obj)) 449 if (eo_destructed_is(timer->obj))
450 eo_manual_free(timer->obj); 450 eo_manual_free(timer->obj);
451 else 451 else
@@ -457,7 +457,7 @@ _ecore_timer_shutdown(void)
457 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended)); 457 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended));
458 458
459 eo_data_unref(timer->obj, timer); 459 eo_data_unref(timer->obj, timer);
460 eo_do(timer->obj, eo_parent_set(NULL)); 460 eo_parent_set(timer->obj, NULL);
461 if (eo_destructed_is(timer->obj)) 461 if (eo_destructed_is(timer->obj))
462 eo_manual_free(timer->obj); 462 eo_manual_free(timer->obj);
463 else 463 else
@@ -489,7 +489,7 @@ _ecore_timer_cleanup(void)
489 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer)); 489 timers = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
490 490
491 eo_data_unref(timer->obj, timer); 491 eo_data_unref(timer->obj, timer);
492 eo_do(timer->obj, eo_parent_set(NULL)); 492 eo_parent_set(timer->obj, NULL);
493 if (eo_destructed_is(timer->obj)) 493 if (eo_destructed_is(timer->obj))
494 eo_manual_free(timer->obj); 494 eo_manual_free(timer->obj);
495 else 495 else
@@ -514,7 +514,7 @@ _ecore_timer_cleanup(void)
514 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); 514 suspended = (Ecore_Timer_Data *)eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer));
515 515
516 eo_data_unref(timer->obj, timer); 516 eo_data_unref(timer->obj, timer);
517 eo_do(timer->obj, eo_parent_set(NULL)); 517 eo_parent_set(timer->obj, NULL);
518 if (eo_destructed_is(timer->obj)) 518 if (eo_destructed_is(timer->obj))
519 eo_manual_free(timer->obj); 519 eo_manual_free(timer->obj);
520 else 520 else
diff --git a/src/lib/ecore_audio/ecore_audio_obj.c b/src/lib/ecore_audio/ecore_audio_obj.c
index 3607cd9..bef68c8 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_constructor(eo_super(eo_obj, MY_CLASS));
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..c69bd2f 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_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_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 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 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_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 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 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_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_constructor(eo_super(eo_obj, MY_CLASS));
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 ecore_audio_obj_out_input_detach(obj->output, eo_obj);
188 188
189 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 189 eo_destructor(eo_super(eo_obj, MY_CLASS));
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..cefe28b 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_destructor(eo_super(eo_obj, MY_CLASS));
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..ff35a98 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_key_data_set(eo_super(eo_obj, MY_CLASS), 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_key_data_get(eo_super(eo_obj, MY_CLASS), 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_constructor(eo_super(eo_obj, MY_CLASS));
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..c34245f 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 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) 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_constructor(eo_super(eo_obj, MY_CLASS));
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 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_destructor(eo_super(eo_obj, MY_CLASS));
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..aa0d76b 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
@@ -185,7 +185,7 @@ _audio_io_proc_cb(AudioObjectID obj_id EINA_UNUSED,
185 185
186 if (helper->fake_stereo) 186 if (helper->fake_stereo)
187 { 187 {
188 eo_do(helper->input, bread = ecore_audio_obj_in_read(buf, size * 2)); 188 bread = ecore_audio_obj_in_read(helper->input, buf, size * 2);
189 189
190 for (k = bread - 1; k >= 0; --k) 190 for (k = bread - 1; k >= 0; --k)
191 { 191 {
@@ -196,7 +196,7 @@ _audio_io_proc_cb(AudioObjectID obj_id EINA_UNUSED,
196 } 196 }
197 else 197 else
198 { 198 {
199 eo_do(helper->input, bread = ecore_audio_obj_in_read(buf, size * 4)); 199 bread = ecore_audio_obj_in_read(helper->input, buf, size * 4);
200 bread /= 4; 200 bread /= 4;
201 } 201 }
202 202
@@ -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 ecore_audio_obj_volume_set(eo_super(obj, 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 = ecore_audio_obj_out_input_attach(eo_super(obj, 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)");
@@ -266,10 +266,10 @@ _ecore_audio_out_core_audio_ecore_audio_out_input_attach(Eo *obj, Ecore_Audio_Ou
266 } 266 }
267 267
268 /* Forward samplerate to CoreAudio */ 268 /* Forward samplerate to CoreAudio */
269 eo_do(input, helper->format.mSampleRate = ecore_audio_obj_in_samplerate_get()); 269 helper->format.mSampleRate = ecore_audio_obj_in_samplerate_get(input);
270 270
271 /* Set channels. If only 1 channel, emulate stereo */ 271 /* Set channels. If only 1 channel, emulate stereo */
272 eo_do(input, channels = ecore_audio_obj_in_channels_get()); 272 channels = ecore_audio_obj_in_channels_get(input);
273 if (channels == 1) 273 if (channels == 1)
274 { 274 {
275 DBG("Fake stereo enabled for input %p", input); 275 DBG("Fake stereo enabled for input %p", input);
@@ -303,7 +303,7 @@ _ecore_audio_out_core_audio_ecore_audio_out_input_attach(Eo *obj, Ecore_Audio_Ou
303 } 303 }
304 304
305 /* Keep track of data for deallocation */ 305 /* Keep track of data for deallocation */
306 eo_do(input, eo_key_data_set("coreaudio_data", helper)); 306 eo_key_data_set(input, "coreaudio_data", helper);
307 307
308 /* Start playing */ 308 /* Start playing */
309 helper->is_playing = EINA_TRUE; 309 helper->is_playing = EINA_TRUE;
@@ -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 ecore_audio_obj_out_input_detach(eo_super(obj, MY_CLASS), input);
326return_failure: 326return_failure:
327 return EINA_FALSE; 327 return EINA_FALSE;
328} 328}
@@ -335,10 +335,10 @@ _ecore_audio_out_core_audio_ecore_audio_out_input_detach(Eo *obj, Ecore_Audio_Ou
335 335
336 DBG("Detach"); 336 DBG("Detach");
337 /* Free helper */ 337 /* Free helper */
338 eo_do(input, data = eo_key_data_get("coreaudio_data")); 338 data = eo_key_data_get(input, "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 = ecore_audio_obj_out_input_detach(eo_super(obj, 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 2c869fd..95aa0c0 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 ecore_audio_obj_volume_set(eo_super(eo_obj, MY_CLASS), 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 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 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, const Eo_Event *e
96 int samplerate = 0; 96 int samplerate = 0;
97 double speed = 0; 97 double speed = 0;
98 98
99 eo_do(event->obj, samplerate = ecore_audio_obj_in_samplerate_get()); 99 samplerate = ecore_audio_obj_in_samplerate_get(event->obj);
100 eo_do(event->obj, speed = ecore_audio_obj_in_speed_get()); 100 speed = ecore_audio_obj_in_speed_get(event->obj);
101 101
102 eo_do(event->obj, stream = eo_key_data_get("pulse_data")); 102 stream = eo_key_data_get(event->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 = ecore_audio_obj_out_input_attach(eo_super(eo_obj, MY_CLASS), 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 ss.rate = ecore_audio_obj_in_samplerate_get(in);
124 eo_do(in, speed = ecore_audio_obj_in_speed_get()); 124 speed = ecore_audio_obj_in_speed_get(in);
125 eo_do(in, ss.channels = ecore_audio_obj_in_channels_get()); 125 ss.channels = ecore_audio_obj_in_channels_get(in);
126 eo_do(in, name = ecore_audio_obj_name_get()); 126 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 ecore_audio_obj_out_input_detach(eo_super(eo_obj, MY_CLASS), 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_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_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, const Eo_Event *event) 151static Eina_Bool _delayed_attach_cb(void *data, const Eo_Event *event)
152{ 152{
153 Eo *in = data; 153 Eo *in = data;
154 eo_do(event->obj, eo_event_callback_del(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in)); 154 eo_event_callback_del(event->obj, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, _delayed_attach_cb, in);
155 155
156 _input_attach_internal(event->obj, in); 156 _input_attach_internal(event->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_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 = ecore_audio_obj_out_input_detach(eo_super(eo_obj, MY_CLASS), 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 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_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_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_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_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
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_destructor(eo_super(eo_obj, MY_CLASS));
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..e24cfeb 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 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 = ecore_audio_obj_out_input_attach(eo_super(eo_obj, MY_CLASS), 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 obj->sfinfo.samplerate = ecore_audio_obj_in_samplerate_get(in);
74 eo_do(in, obj->sfinfo.channels = ecore_audio_obj_in_channels_get()); 74 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 ecore_audio_obj_out_input_detach(eo_super(eo_obj, MY_CLASS), 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_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
167 167
168 eo_do(eo_obj, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_OGG)); 168 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_destructor(eo_super(eo_obj, MY_CLASS));
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 a08a151..8dd9d82 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_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,7 @@ _efl_network_base_lookup(Eo *kls_obj EINA_UNUSED, void *pd EINA_UNUSED, const ch
306 if (!name || !done_cb) 306 if (!name || !done_cb)
307 return EINA_FALSE; 307 return EINA_FALSE;
308 308
309 obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 309 obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, efl_network_server_connection_type_set(eoid, ECORE_CON_REMOTE_TCP), efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, 1025));
310 efl_network_server_connection_type_set(ECORE_CON_REMOTE_TCP),
311 efl_network_server_name_set(name),
312 efl_network_base_port_set(1025));
313 310
314 lk = malloc(sizeof (Ecore_Con_Lookup)); 311 lk = malloc(sizeof (Ecore_Con_Lookup));
315 if (!lk) 312 if (!lk)
@@ -363,10 +360,7 @@ ecore_con_server_add(Ecore_Con_Type compl_type,
363 360
364 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */ 361 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */
365 /* remote system socket: TCP/IP: [name]:[port] */ 362 /* remote system socket: TCP/IP: [name]:[port] */
366 obj = eo_add(EFL_NETWORK_SERVER_CLASS, NULL, 363 obj = eo_add(EFL_NETWORK_SERVER_CLASS, NULL, efl_network_server_connection_type_set(eoid, compl_type), efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, port));
367 efl_network_server_connection_type_set(compl_type),
368 efl_network_server_name_set(name),
369 efl_network_base_port_set(port));
370 364
371 ecore_con_server_data_set(obj, (void *) data); 365 ecore_con_server_data_set(obj, (void *) data);
372 366
@@ -376,7 +370,7 @@ ecore_con_server_add(Ecore_Con_Type compl_type,
376EOLIAN static Eo * 370EOLIAN static Eo *
377_efl_network_server_eo_base_constructor(Ecore_Con_Server *obj, Efl_Network_Server_Data *svr) 371_efl_network_server_eo_base_constructor(Ecore_Con_Server *obj, Efl_Network_Server_Data *svr)
378{ 372{
379 obj = eo_do_super_ret(obj, EFL_NETWORK_SERVER_CLASS, obj, eo_constructor()); 373 obj = eo_constructor(eo_super(obj, EFL_NETWORK_SERVER_CLASS));
380 374
381 svr->fd = -1; 375 svr->fd = -1;
382 svr->reject_excess_clients = EINA_FALSE; 376 svr->reject_excess_clients = EINA_FALSE;
@@ -392,7 +386,7 @@ _efl_network_server_eo_base_finalize(Ecore_Con_Server *obj, Efl_Network_Server_D
392 Ecore_Con_Type compl_type = svr->type; 386 Ecore_Con_Type compl_type = svr->type;
393 Ecore_Con_Type type; 387 Ecore_Con_Type type;
394 388
395 eo_do_super(obj, EFL_NETWORK_SERVER_CLASS, eo_finalize()); 389 eo_finalize(eo_super(obj, EFL_NETWORK_SERVER_CLASS));
396 390
397 svr->created = EINA_TRUE; 391 svr->created = EINA_TRUE;
398 svr->ppid = getpid(); 392 svr->ppid = getpid();
@@ -462,10 +456,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type,
462 /* local user socket: FILE: ~/.ecore/[name]/[port] */ 456 /* local user socket: FILE: ~/.ecore/[name]/[port] */
463 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */ 457 /* local system socket: FILE: /tmp/.ecore_service|[name]|[port] */
464 /* remote system socket: TCP/IP: [name]:[port] */ 458 /* remote system socket: TCP/IP: [name]:[port] */
465 obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 459 obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, efl_network_server_connection_type_set(eoid, compl_type), efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, port));
466 efl_network_server_connection_type_set(compl_type),
467 efl_network_server_name_set(name),
468 efl_network_base_port_set(port));
469 460
470 ecore_con_server_data_set(obj, (void *) data); 461 ecore_con_server_data_set(obj, (void *) data);
471 462
@@ -481,7 +472,7 @@ _efl_network_connector_eo_base_finalize(Ecore_Con_Server *obj, void *pd EINA_UNU
481 472
482 /* XXX: We intentionally put SERVER class here and not connector, as we'd 473 /* XXX: We intentionally put SERVER class here and not connector, as we'd
483 * like to skip that one. */ 474 * like to skip that one. */
484 eo_do_super(obj, EFL_NETWORK_SERVER_CLASS, eo_finalize()); 475 eo_finalize(eo_super(obj, EFL_NETWORK_SERVER_CLASS));
485 476
486 svr->use_cert = (compl_type & ECORE_CON_SSL & ECORE_CON_LOAD_CERT) == ECORE_CON_LOAD_CERT; 477 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; 478 svr->disable_proxy = (compl_type & ECORE_CON_SUPER_SSL & ECORE_CON_NO_PROXY) == ECORE_CON_NO_PROXY;
@@ -548,7 +539,7 @@ error:
548EAPI void 539EAPI void
549ecore_con_server_timeout_set(Ecore_Con *obj, double timeout) 540ecore_con_server_timeout_set(Ecore_Con *obj, double timeout)
550{ 541{
551 eo_do((Ecore_Con *)obj, efl_network_base_timeout_set(timeout)); 542 efl_network_base_timeout_set((Ecore_Con *)obj, timeout);
552} 543}
553 544
554EOLIAN static void 545EOLIAN static void
@@ -566,7 +557,7 @@ EAPI double
566ecore_con_server_timeout_get(const Ecore_Con *obj) 557ecore_con_server_timeout_get(const Ecore_Con *obj)
567{ 558{
568 double ret; 559 double ret;
569 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_timeout_get()); 560 return efl_network_base_timeout_get((Ecore_Con *)obj);
570} 561}
571 562
572EOLIAN static double 563EOLIAN static double
@@ -620,7 +611,7 @@ EAPI Eina_Bool
620ecore_con_server_connected_get(const Ecore_Con *obj) 611ecore_con_server_connected_get(const Ecore_Con *obj)
621{ 612{
622 Eina_Bool ret; 613 Eina_Bool ret;
623 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_connected_get()); 614 return efl_network_base_connected_get((Ecore_Con *)obj);
624} 615}
625 616
626EOLIAN static Eina_Bool 617EOLIAN static Eina_Bool
@@ -670,7 +661,7 @@ EAPI int
670ecore_con_server_port_get(const Ecore_Con *obj) 661ecore_con_server_port_get(const Ecore_Con *obj)
671{ 662{
672 int ret; 663 int ret;
673 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_port_get()); 664 return efl_network_base_port_get((Ecore_Con *)obj);
674} 665}
675 666
676EOLIAN static void 667EOLIAN static void
@@ -691,7 +682,7 @@ EAPI int
691ecore_con_server_send(Ecore_Con *obj, const void *data, int size) 682ecore_con_server_send(Ecore_Con *obj, const void *data, int size)
692{ 683{
693 int ret; 684 int ret;
694 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_send(data, size)); 685 return efl_network_base_send((Ecore_Con *)obj, data, size);
695} 686}
696 687
697EOLIAN static int 688EOLIAN static int
@@ -748,7 +739,7 @@ EAPI const char *
748ecore_con_server_ip_get(const Ecore_Con *obj) 739ecore_con_server_ip_get(const Ecore_Con *obj)
749{ 740{
750 const char *ret; 741 const char *ret;
751 return eo_do_ret(obj, ret, efl_network_base_ip_get()); 742 return efl_network_base_ip_get(obj);
752} 743}
753 744
754EOLIAN static const char * 745EOLIAN static const char *
@@ -761,7 +752,7 @@ EAPI double
761ecore_con_server_uptime_get(const Ecore_Con *obj) 752ecore_con_server_uptime_get(const Ecore_Con *obj)
762{ 753{
763 double ret; 754 double ret;
764 return eo_do_ret(obj, ret, efl_network_base_uptime_get()); 755 return efl_network_base_uptime_get(obj);
765} 756}
766 757
767EOLIAN static double 758EOLIAN static double
@@ -773,7 +764,7 @@ _efl_network_server_efl_network_base_uptime_get(Eo *obj EINA_UNUSED, Efl_Network
773EAPI void 764EAPI void
774ecore_con_server_flush(Ecore_Con *obj) 765ecore_con_server_flush(Ecore_Con *obj)
775{ 766{
776 eo_do((Ecore_Con *)obj, efl_network_base_flush()); 767 efl_network_base_flush((Ecore_Con *)obj);
777} 768}
778 769
779EOLIAN static void 770EOLIAN static void
@@ -803,7 +794,7 @@ EAPI int
803ecore_con_client_send(Ecore_Con *obj, const void *data, int size) 794ecore_con_client_send(Ecore_Con *obj, const void *data, int size)
804{ 795{
805 int ret; 796 int ret;
806 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_send(data, size)); 797 return efl_network_base_send((Ecore_Con *)obj, data, size);
807} 798}
808 799
809EOLIAN static int 800EOLIAN static int
@@ -871,7 +862,7 @@ EAPI Eina_Bool
871ecore_con_client_connected_get(const Ecore_Con *obj) 862ecore_con_client_connected_get(const Ecore_Con *obj)
872{ 863{
873 Eina_Bool ret; 864 Eina_Bool ret;
874 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_connected_get()); 865 return efl_network_base_connected_get((Ecore_Con *)obj);
875} 866}
876 867
877EOLIAN static void 868EOLIAN static void
@@ -885,7 +876,7 @@ _efl_network_client_efl_network_base_timeout_set(Eo *obj, Efl_Network_Client_Dat
885EAPI void 876EAPI void
886ecore_con_client_timeout_set(Ecore_Con *obj, double timeout) 877ecore_con_client_timeout_set(Ecore_Con *obj, double timeout)
887{ 878{
888 eo_do((Ecore_Con *)obj, efl_network_base_timeout_set(timeout)); 879 efl_network_base_timeout_set((Ecore_Con *)obj, timeout);
889} 880}
890 881
891EOLIAN static double 882EOLIAN static double
@@ -898,7 +889,7 @@ EAPI double
898ecore_con_client_timeout_get(const Ecore_Con *obj) 889ecore_con_client_timeout_get(const Ecore_Con *obj)
899{ 890{
900 double ret; 891 double ret;
901 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_timeout_get()); 892 return efl_network_base_timeout_get((Ecore_Con *)obj);
902} 893}
903 894
904EAPI void * 895EAPI void *
@@ -950,7 +941,7 @@ EAPI const char *
950ecore_con_client_ip_get(const Ecore_Con *obj) 941ecore_con_client_ip_get(const Ecore_Con *obj)
951{ 942{
952 const char *ret; 943 const char *ret;
953 return eo_do_ret(obj, ret, efl_network_base_ip_get()); 944 return efl_network_base_ip_get(obj);
954} 945}
955 946
956EOLIAN static int 947EOLIAN static int
@@ -978,7 +969,7 @@ EAPI int
978ecore_con_client_port_get(const Ecore_Con *obj) 969ecore_con_client_port_get(const Ecore_Con *obj)
979{ 970{
980 int ret; 971 int ret;
981 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_port_get()); 972 return efl_network_base_port_get((Ecore_Con *)obj);
982} 973}
983 974
984EOLIAN static double 975EOLIAN static double
@@ -991,7 +982,7 @@ EAPI double
991ecore_con_client_uptime_get(const Ecore_Con *obj) 982ecore_con_client_uptime_get(const Ecore_Con *obj)
992{ 983{
993 double ret; 984 double ret;
994 return eo_do_ret(obj, ret, efl_network_base_uptime_get()); 985 return efl_network_base_uptime_get(obj);
995} 986}
996 987
997EOLIAN static void 988EOLIAN static void
@@ -1003,14 +994,14 @@ _efl_network_client_efl_network_base_flush(Eo *obj, Efl_Network_Client_Data *cl
1003EAPI void 994EAPI void
1004ecore_con_client_flush(Ecore_Con *obj) 995ecore_con_client_flush(Ecore_Con *obj)
1005{ 996{
1006 eo_do((Ecore_Con *)obj, efl_network_base_flush()); 997 efl_network_base_flush((Ecore_Con *)obj);
1007} 998}
1008 999
1009EAPI int 1000EAPI int
1010ecore_con_server_fd_get(const Ecore_Con *obj) 1001ecore_con_server_fd_get(const Ecore_Con *obj)
1011{ 1002{
1012 int ret; 1003 int ret;
1013 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_fd_get()); 1004 return efl_network_base_fd_get((Ecore_Con *)obj);
1014} 1005}
1015 1006
1016EOLIAN static int 1007EOLIAN static int
@@ -1031,7 +1022,7 @@ EAPI int
1031ecore_con_client_fd_get(const Ecore_Con *obj) 1022ecore_con_client_fd_get(const Ecore_Con *obj)
1032{ 1023{
1033 int ret; 1024 int ret;
1034 return eo_do_ret((Ecore_Con *)obj, ret, efl_network_base_fd_get()); 1025 return efl_network_base_fd_get((Ecore_Con *)obj);
1035} 1026}
1036 1027
1037/** 1028/**
@@ -1077,7 +1068,7 @@ ecore_con_event_server_add(Ecore_Con_Server *obj)
1077 if (svr->upgrade) ev = ECORE_CON_EVENT_SERVER_UPGRADE; 1068 if (svr->upgrade) ev = ECORE_CON_EVENT_SERVER_UPGRADE;
1078 ecore_event_add(ev, e, 1069 ecore_event_add(ev, e,
1079 _ecore_con_event_server_add_free, NULL); 1070 _ecore_con_event_server_add_free, NULL);
1080 eo_do(obj, eo_event_callback_call(EFL_NETWORK_BASE_EVENT_CONNECTION_UPGRADED, NULL)); 1071 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_CONNECTION_UPGRADED, NULL);
1081 _ecore_con_event_count++; 1072 _ecore_con_event_count++;
1082} 1073}
1083 1074
@@ -1156,7 +1147,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 }; 1147 Ecore_Con_Event_Data_Received event_info = { NULL, 0 };
1157 event_info.data = e->data; 1148 event_info.data = e->data;
1158 event_info.size = e->size; 1149 event_info.size = e->size;
1159 eo_do(obj, eo_event_callback_call(EFL_NETWORK_BASE_EVENT_DATA_RECEIVED, &event_info)); 1150 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_DATA_RECEIVED, &event_info);
1160 } 1151 }
1161 _ecore_con_event_count++; 1152 _ecore_con_event_count++;
1162} 1153}
@@ -1181,7 +1172,7 @@ ecore_con_event_client_add(Ecore_Con_Client *obj)
1181 if (cl->upgrade) ev = ECORE_CON_EVENT_CLIENT_UPGRADE; 1172 if (cl->upgrade) ev = ECORE_CON_EVENT_CLIENT_UPGRADE;
1182 ecore_event_add(ev, e, 1173 ecore_event_add(ev, e,
1183 (Ecore_End_Cb)_ecore_con_event_client_add_free, cl->host_server); 1174 (Ecore_End_Cb)_ecore_con_event_client_add_free, cl->host_server);
1184 eo_do(obj, eo_event_callback_call(EFL_NETWORK_BASE_EVENT_CONNECTION_UPGRADED, NULL)); 1175 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_CONNECTION_UPGRADED, NULL);
1185 _ecore_con_event_count++; 1176 _ecore_con_event_count++;
1186} 1177}
1187 1178
@@ -1263,7 +1254,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 }; 1254 Ecore_Con_Event_Data_Received event_info = { NULL, 0 };
1264 event_info.data = e->data; 1255 event_info.data = e->data;
1265 event_info.size = e->size; 1256 event_info.size = e->size;
1266 eo_do(obj, eo_event_callback_call(EFL_NETWORK_BASE_EVENT_DATA_RECEIVED, &event_info)); 1257 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_DATA_RECEIVED, &event_info);
1267 } 1258 }
1268 _ecore_con_event_count++; 1259 _ecore_con_event_count++;
1269} 1260}
@@ -1289,7 +1280,7 @@ _ecore_con_event_server_error(Ecore_Con_Server *obj, char *error, Eina_Bool dupl
1289 DBG("%s", error); 1280 DBG("%s", error);
1290 svr->event_count = eina_list_append(svr->event_count, e); 1281 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); 1282 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(EFL_NETWORK_BASE_EVENT_CONNECTION_ERROR, e->error)); 1283 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_CONNECTION_ERROR, e->error);
1293 _ecore_con_event_count++; 1284 _ecore_con_event_count++;
1294} 1285}
1295 1286
@@ -1310,7 +1301,7 @@ ecore_con_event_client_error(Ecore_Con_Client *obj, const char *error)
1310 cl->event_count = eina_list_append(cl->event_count, e); 1301 cl->event_count = eina_list_append(cl->event_count, e);
1311 host_server->event_count = eina_list_append(host_server->event_count, e); 1302 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); 1303 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(EFL_NETWORK_BASE_EVENT_CONNECTION_ERROR, e->error)); 1304 eo_event_callback_call(obj, EFL_NETWORK_BASE_EVENT_CONNECTION_ERROR, e->error);
1314 _ecore_con_event_count++; 1305 _ecore_con_event_count++;
1315} 1306}
1316 1307
@@ -1397,7 +1388,7 @@ _efl_network_server_eo_base_destructor(Eo *obj, Efl_Network_Server_Data *svr)
1397 servers = eina_list_remove(servers, obj); 1388 servers = eina_list_remove(servers, obj);
1398 svr->data = NULL; 1389 svr->data = NULL;
1399 1390
1400 eo_do_super(obj, EFL_NETWORK_SERVER_CLASS, eo_destructor()); 1391 eo_destructor(eo_super(obj, EFL_NETWORK_SERVER_CLASS));
1401end: 1392end:
1402 return; 1393 return;
1403} 1394}
@@ -1460,7 +1451,7 @@ _efl_network_client_eo_base_destructor(Eo *obj, Efl_Network_Client_Data *cl)
1460 eina_stringshare_del(cl->ip); 1451 eina_stringshare_del(cl->ip);
1461 cl->data = NULL; 1452 cl->data = NULL;
1462 1453
1463 eo_do_super(obj, EFL_NETWORK_CLIENT_CLASS, eo_destructor()); 1454 eo_destructor(eo_super(obj, EFL_NETWORK_CLIENT_CLASS));
1464} 1455}
1465 1456
1466static Eina_Bool 1457static Eina_Bool
diff --git a/src/lib/ecore_con/ecore_con_eet.c b/src/lib/ecore_con/ecore_con_eet.c
index 9720b57..800770c 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_constructor(eo_super(obj, ECORE_CON_EET_SERVER_OBJ_CLASS));
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_destructor(eo_super(obj, ECORE_CON_EET_SERVER_OBJ_CLASS));
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 obj = eo_constructor(eo_super(obj, ECORE_CON_EET_CLIENT_OBJ_CLASS));
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_destructor(eo_super(obj, ECORE_CON_EET_CLIENT_OBJ_CLASS));
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_constructor(eo_super(obj, ECORE_CON_EET_BASE_CLASS));
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_destructor(eo_super(obj, ECORE_CON_EET_BASE_CLASS));
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,7 @@ 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 ece_obj = eo_add(ECORE_CON_EET_SERVER_OBJ_CLASS, NULL, ecore_con_eet_base_server_set(eoid, server));
726 ecore_con_eet_base_server_set(server));
727 726
728 return ece_obj; 727 return ece_obj;
729} 728}
@@ -735,8 +734,7 @@ ecore_con_eet_client_new(Ecore_Con_Server *server)
735 734
736 if (!server) return NULL; 735 if (!server) return NULL;
737 736
738 ece_obj = eo_add(ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL, 737 ece_obj = eo_add(ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL, ecore_con_eet_base_server_set(eoid, server));
739 ecore_con_eet_base_server_set(server));
740 738
741 return ece_obj; 739 return ece_obj;
742} 740}
@@ -750,31 +748,31 @@ ecore_con_eet_server_free(Ecore_Con_Eet *r)
750EAPI void 748EAPI void
751ecore_con_eet_register(Ecore_Con_Eet *ece, const char *name, Eet_Data_Descriptor *edd) 749ecore_con_eet_register(Ecore_Con_Eet *ece, const char *name, Eet_Data_Descriptor *edd)
752{ 750{
753 eo_do(ece, ecore_con_eet_base_register(name, edd)); 751 ecore_con_eet_base_register(ece, name, edd);
754} 752}
755 753
756EAPI void 754EAPI void
757ecore_con_eet_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Data_Cb func, const void *data) 755ecore_con_eet_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Data_Cb func, const void *data)
758{ 756{
759 eo_do(ece, ecore_con_eet_base_data_callback_set(name, func, data)); 757 ecore_con_eet_base_data_callback_set(ece, name, func, data);
760} 758}
761 759
762EAPI void 760EAPI void
763ecore_con_eet_data_callback_del(Ecore_Con_Eet *ece, const char *name) 761ecore_con_eet_data_callback_del(Ecore_Con_Eet *ece, const char *name)
764{ 762{
765 eo_do(ece, ecore_con_eet_base_data_callback_del(name)); 763 ecore_con_eet_base_data_callback_del(ece, name);
766} 764}
767 765
768EAPI void 766EAPI 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) 767ecore_con_eet_raw_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Raw_Data_Cb func, const void *data)
770{ 768{
771 eo_do(ece, ecore_con_eet_base_raw_data_callback_set(name, func, data)); 769 ecore_con_eet_base_raw_data_callback_set(ece, name, func, data);
772} 770}
773 771
774EAPI void 772EAPI void
775ecore_con_eet_raw_data_callback_del(Ecore_Con_Eet *ece, const char *name) 773ecore_con_eet_raw_data_callback_del(Ecore_Con_Eet *ece, const char *name)
776{ 774{
777 eo_do(ece, ecore_con_eet_base_raw_data_callback_del(name)); 775 ecore_con_eet_base_raw_data_callback_del(ece, name);
778} 776}
779 777
780EAPI void 778EAPI void
@@ -920,7 +918,7 @@ ecore_con_eet_server_disconnect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_S
920EAPI void 918EAPI void
921ecore_con_eet_data_set(Ecore_Con_Eet *ece, const void *data) 919ecore_con_eet_data_set(Ecore_Con_Eet *ece, const void *data)
922{ 920{
923 eo_do(ece,eo_key_data_set(ECORE_CON_EET_DATA_KEY, data)); 921 eo_key_data_set(ece, ECORE_CON_EET_DATA_KEY, data);
924} 922}
925 923
926EAPI const void * 924EAPI const void *
@@ -928,7 +926,7 @@ ecore_con_eet_data_get(Ecore_Con_Eet *ece)
928{ 926{
929 const void *temp; 927 const void *temp;
930 928
931 return eo_do_ret(ece, temp, eo_key_data_get(ECORE_CON_EET_DATA_KEY)); 929 return eo_key_data_get(ece, ECORE_CON_EET_DATA_KEY);
932} 930}
933 931
934EAPI Ecore_Con_Eet * 932EAPI Ecore_Con_Eet *
@@ -941,15 +939,13 @@ ecore_con_eet_reply(Ecore_Con_Reply *reply)
941EAPI void 939EAPI void
942ecore_con_eet_send(Ecore_Con_Reply *reply, const char *name, void *value) 940ecore_con_eet_send(Ecore_Con_Reply *reply, const char *name, void *value)
943{ 941{
944 eo_do(reply->ece, ecore_con_eet_base_send(reply, name, value)); 942 ecore_con_eet_base_send(reply->ece, reply, name, value);
945} 943}
946 944
947EAPI void 945EAPI void
948ecore_con_eet_raw_send(Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, unsigned int length) 946ecore_con_eet_raw_send(Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, unsigned int length)
949{ 947{
950 eo_do(reply->ece, 948 ecore_con_eet_base_raw_send(reply->ece, reply, protocol_name, section, value, length);
951 ecore_con_eet_base_raw_send(reply, protocol_name, section, value,
952 length));
953} 949}
954 950
955#include "ecore_con_eet_base.eo.c" 951#include "ecore_con_eet_base.eo.c"
diff --git a/src/lib/ecore_con/ecore_con_legacy.c b/src/lib/ecore_con/ecore_con_legacy.c
index 0b84b90..fd05522 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 ret = efl_network_url_set((Ecore_Con_Url *)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 ret = efl_network_url_get((Ecore_Con_Url *)obj);
17 return ret; 17 return ret;
18} 18}
19 19
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index 049d4f2..000bf4d 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -225,12 +225,9 @@ 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 url_obj = eo_add(EFL_NETWORK_URL_CLASS, NULL, efl_network_url_set(eoid, url));
229 efl_network_url_set(url));
230 229
231 eo_do(url_obj, 230 eo_event_callback_array_add(url_obj, efl_network_url_event_table_callbacks(), NULL);
232 eo_event_callback_array_add(efl_network_url_event_table_callbacks(),
233 NULL));
234 231
235 return url_obj; 232 return url_obj;
236} 233}
@@ -238,7 +235,7 @@ ecore_con_url_new(const char *url)
238EOLIAN static Eo * 235EOLIAN static Eo *
239_efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED) 236_efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED)
240{ 237{
241 url_obj = eo_do_super_ret(url_obj, MY_CLASS, url_obj, eo_constructor()); 238 url_obj = eo_constructor(eo_super(url_obj, MY_CLASS));
242 239
243 if (!_init_count || !_c_init()) 240 if (!_init_count || !_c_init())
244 { 241 {
@@ -338,7 +335,7 @@ _efl_network_url_eo_base_finalize(Efl_Network_Url *url_obj, Efl_Network_Url_Data
338 */ 335 */
339 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_CONNECTTIMEOUT, 30); 336 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_CONNECTTIMEOUT, 30);
340 _c->curl_easy_setopt(url_con->curl_easy, CURLOPT_FOLLOWLOCATION, 1); 337 _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()); 338 return eo_finalize(eo_super(url_obj, MY_CLASS));
342} 339}
343 340
344EAPI Ecore_Con_Url * 341EAPI Ecore_Con_Url *
@@ -375,9 +372,7 @@ ecore_con_url_free(Ecore_Con_Url *url_obj)
375 if (!eo_isa(url_obj, EFL_NETWORK_URL_CLASS)) 372 if (!eo_isa(url_obj, EFL_NETWORK_URL_CLASS))
376 return; 373 return;
377 374
378 eo_do(url_obj, 375 eo_event_callback_array_del(url_obj, efl_network_url_event_table_callbacks(), NULL);
379 eo_event_callback_array_del(efl_network_url_event_table_callbacks(),
380 NULL));
381 376
382 eo_del(url_obj); 377 eo_del(url_obj);
383} 378}
@@ -400,7 +395,7 @@ _ecore_con_url_free_internal(Ecore_Con_Url *url_obj)
400EOLIAN static void 395EOLIAN static void
401_efl_network_url_eo_base_destructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con) 396_efl_network_url_eo_base_destructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con)
402{ 397{
403 eo_do_super(url_obj, MY_CLASS, eo_destructor()); 398 eo_destructor(eo_super(url_obj, MY_CLASS));
404 399
405 if (!_c) return; 400 if (!_c) return;
406 if (url_con->curl_easy) 401 if (url_con->curl_easy)
@@ -1145,7 +1140,7 @@ _ecore_con_url_event_url_complete(Ecore_Con_Url *url_obj, CURLMsg *curlmsg)
1145 e.status = status; 1140 e.status = status;
1146 e.url_con = url_obj; 1141 e.url_con = url_obj;
1147 url_con->event_count++; 1142 url_con->event_count++;
1148 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_COMPLETE, &e)); 1143 eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_COMPLETE, &e);
1149} 1144}
1150 1145
1151static void 1146static void
@@ -1206,7 +1201,7 @@ _ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp)
1206 e.size = real_size; 1201 e.size = real_size;
1207 e.data = buffer; 1202 e.data = buffer;
1208 url_con->event_count++; 1203 url_con->event_count++;
1209 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_DATA, &e)); 1204 eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_DATA, &e);
1210 } 1205 }
1211 else 1206 else
1212 { 1207 {
@@ -1265,7 +1260,7 @@ _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double u
1265 e.up.total = ultotal; 1260 e.up.total = ultotal;
1266 e.up.now = ulnow; 1261 e.up.now = ulnow;
1267 url_con->event_count++; 1262 url_con->event_count++;
1268 eo_do(url_obj, eo_event_callback_call(EFL_NETWORK_URL_EVENT_PROGRESS, &e)); 1263 eo_event_callback_call(url_obj, EFL_NETWORK_URL_EVENT_PROGRESS, &e);
1269 1264
1270 return 0; 1265 return 0;
1271} 1266}
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 7b5a3a5..2a135f9 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3087,7 +3087,7 @@ ecore_evas_animator_tick(Ecore_Evas *ee, Eina_Rectangle *viewport)
3087 a.update_area = *viewport; 3087 a.update_area = *viewport;
3088 } 3088 }
3089 3089
3090 eo_do(ee->evas, eo_event_callback_call(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, &a)); 3090 eo_event_callback_call(ee->evas, EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, &a);
3091 3091
3092 // FIXME: We do not support partial animator in the subcanvas 3092 // FIXME: We do not support partial animator in the subcanvas
3093 EINA_LIST_FOREACH(ee->sub_ecore_evas, l, subee) 3093 EINA_LIST_FOREACH(ee->sub_ecore_evas, l, subee)
@@ -3219,7 +3219,7 @@ _ecore_evas_register(Ecore_Evas *ee)
3219 ecore_evases = (Ecore_Evas *)eina_inlist_prepend 3219 ecore_evases = (Ecore_Evas *)eina_inlist_prepend
3220 (EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee)); 3220 (EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
3221 3221
3222 eo_do(ee->evas, eo_event_callback_array_add(animator_watch(), ee)); 3222 eo_event_callback_array_add(ee->evas, animator_watch(), ee);
3223 3223
3224#ifdef RENDER_SYNC 3224#ifdef RENDER_SYNC
3225 ecore_evas_first = EINA_TRUE; 3225 ecore_evas_first = EINA_TRUE;
diff --git a/src/lib/ector/cairo/ector_cairo_private.h b/src/lib/ector/cairo/ector_cairo_private.h
index 4b9ac0c..1b38e34 100644
--- a/src/lib/ector/cairo/ector_cairo_private.h
+++ b/src/lib/ector/cairo/ector_cairo_private.h
@@ -65,7 +65,7 @@ _ector_cairo_symbol_get(Ector_Renderer_Generic_Base_Data *base,
65{ 65{
66 void *sym; 66 void *sym;
67 67
68 eo_do(base->surface, sym = ector_cairo_surface_symbol_get(name)); 68 sym = ector_cairo_surface_symbol_get(base->surface, name);
69 return sym; 69 return sym;
70} 70}
71 71
diff --git a/src/lib/ector/cairo/ector_cairo_software_surface.c b/src/lib/ector/cairo/ector_cairo_software_surface.c
index ef4100f..2ce001e 100644
--- a/src/lib/ector/cairo/ector_cairo_software_surface.c
+++ b/src/lib/ector/cairo/ector_cairo_software_surface.c
@@ -18,8 +18,7 @@ _ector_cairo_symbol_get(Eo *ector_surface, const char *name)
18{ 18{
19 void *sym; 19 void *sym;
20 20
21 eo_do(ector_surface, 21 sym = ector_cairo_surface_symbol_get(ector_surface, name);
22 sym = ector_cairo_surface_symbol_get(name));
23 return sym; 22 return sym;
24} 23}
25 24
@@ -74,9 +73,7 @@ _ector_cairo_software_surface_ector_generic_buffer_pixels_set(Eo *obj, Ector_Cai
74 cairo_surface_destroy(pd->surface); 73 cairo_surface_destroy(pd->surface);
75 pd->surface = NULL; 74 pd->surface = NULL;
76 75
77 eo_do_super(obj, MY_CLASS, 76 ok = ector_buffer_pixels_set(eo_super(obj, MY_CLASS), pixels, width, height, stride, cspace, writable, l, r, t, b);
78 ok = ector_buffer_pixels_set(pixels, width, height, stride,
79 cspace, writable, l, r, t, b));
80 77
81 if (ok && pixels) 78 if (ok && pixels)
82 { 79 {
@@ -90,7 +87,7 @@ _ector_cairo_software_surface_ector_generic_buffer_pixels_set(Eo *obj, Ector_Cai
90 87
91 end: 88 end:
92 /* evas_common_cpu_end_opt(); // do we need this? */ 89 /* evas_common_cpu_end_opt(); // do we need this? */
93 eo_do(obj, ector_cairo_surface_context_set(ctx)); 90 ector_cairo_surface_context_set(obj, ctx);
94 return ok; 91 return ok;
95} 92}
96 93
@@ -105,7 +102,7 @@ _ector_cairo_software_surface_surface_get(Eo *obj EINA_UNUSED, Ector_Cairo_Softw
105static Eo_Base * 102static Eo_Base *
106_ector_cairo_software_surface_eo_base_constructor(Eo *obj, Ector_Cairo_Software_Surface_Data *pd) 103_ector_cairo_software_surface_eo_base_constructor(Eo *obj, Ector_Cairo_Software_Surface_Data *pd)
107{ 104{
108 eo_do_super(obj, MY_CLASS, obj = eo_constructor()); 105 obj = eo_constructor(eo_super(obj, MY_CLASS));
109 106
110 if (!obj) return NULL; 107 if (!obj) return NULL;
111 pd->base = eo_data_ref(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN); 108 pd->base = eo_data_ref(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN);
@@ -118,7 +115,7 @@ EOLIAN static void
118_ector_cairo_software_surface_eo_base_destructor(Eo *obj, Ector_Cairo_Software_Surface_Data *pd) 115_ector_cairo_software_surface_eo_base_destructor(Eo *obj, Ector_Cairo_Software_Surface_Data *pd)
119{ 116{
120 eo_data_unref(obj, pd->base); 117 eo_data_unref(obj, pd->base);
121 eo_do_super(obj, MY_CLASS, eo_destructor()); 118 eo_destructor(eo_super(obj, MY_CLASS));
122} 119}
123 120
124#include "ector_cairo_software_surface.eo.c" 121#include "ector_cairo_software_surface.eo.c"
diff --git a/src/lib/ector/cairo/ector_cairo_surface.c b/src/lib/ector/cairo/ector_cairo_surface.c
index 12538e7..3cc47e3 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.c
+++ b/src/lib/ector/cairo/ector_cairo_surface.c
@@ -62,14 +62,11 @@ _ector_cairo_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
62 const Eo_Class *type) 62 const Eo_Class *type)
63{ 63{
64 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN) 64 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
65 return eo_add(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, NULL, 65 return eo_add(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
66 ector_renderer_surface_set(obj));
67 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN) 66 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
68 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, NULL, 67 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
69 ector_renderer_surface_set(obj));
70 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN) 68 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
71 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, NULL, 69 return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
72 ector_renderer_surface_set(obj));
73 70
74 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type)); 71 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
75 return NULL; 72 return NULL;
@@ -124,7 +121,7 @@ _ector_cairo_surface_eo_base_constructor(Eo *obj,
124 USE(obj, cairo_image_surface_create, NULL); 121 USE(obj, cairo_image_surface_create, NULL);
125 USE(obj, cairo_create, NULL); 122 USE(obj, cairo_create, NULL);
126 123
127 eo_do_super(obj, ECTOR_CAIRO_SURFACE_CLASS, obj = eo_constructor()); 124 obj = eo_constructor(eo_super(obj, ECTOR_CAIRO_SURFACE_CLASS));
128 if (!obj) return NULL; 125 if (!obj) return NULL;
129 126
130 _cairo_count++; 127 _cairo_count++;
@@ -138,7 +135,7 @@ static void
138_ector_cairo_surface_eo_base_destructor(Eo *obj EINA_UNUSED, 135_ector_cairo_surface_eo_base_destructor(Eo *obj EINA_UNUSED,
139 Ector_Cairo_Surface_Data *pd EINA_UNUSED) 136 Ector_Cairo_Surface_Data *pd EINA_UNUSED)
140{ 137{
141 eo_do_super(obj, ECTOR_CAIRO_SURFACE_CLASS, eo_destructor()); 138 eo_destructor(eo_super(obj, ECTOR_CAIRO_SURFACE_CLASS));
142 139
143 if (--_cairo_count) return ; 140 if (--_cairo_count) return ;
144 if (_cairo_so) eina_module_free(_cairo_so); 141 if (_cairo_so) eina_module_free(_cairo_so);
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_base.c b/src/lib/ector/cairo/ector_renderer_cairo_base.c
index 24acfa0..1afc3d5 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_base.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_base.c
@@ -182,7 +182,7 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_draw(Eo *obj EINA_UNUSED,
182static Eo * 182static Eo *
183_ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED) 183_ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED)
184{ 184{
185 eo_do_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, obj = eo_constructor()); 185 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS));
186 if (!obj) return NULL; 186 if (!obj) return NULL;
187 187
188 pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 188 pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
@@ -193,7 +193,7 @@ _ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Bas
193static Eo_Base * 193static Eo_Base *
194_ector_renderer_cairo_base_eo_base_finalize(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd) 194_ector_renderer_cairo_base_eo_base_finalize(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd)
195{ 195{
196 eo_do_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, obj = eo_finalize()); 196 obj = eo_finalize(eo_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS));
197 if (!obj) return NULL; 197 if (!obj) return NULL;
198 198
199 USE(pd->generic, cairo_matrix_init, NULL); 199 USE(pd->generic, cairo_matrix_init, NULL);
@@ -223,7 +223,7 @@ _ector_renderer_cairo_base_eo_base_destructor(Eo *obj, Ector_Renderer_Cairo_Base
223 223
224 free(pd->m); 224 free(pd->m);
225 225
226 eo_do_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, eo_destructor()); 226 eo_destructor(eo_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS));
227} 227}
228 228
229#include "ector_renderer_cairo_base.eo.c" 229#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 21ec2c3..1d9c72d 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
@@ -48,7 +48,7 @@ static Eina_Bool
48_ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_prepare(Eo *obj, 48_ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_prepare(Eo *obj,
49 Ector_Renderer_Cairo_Gradient_Linear_Data *pd) 49 Ector_Renderer_Cairo_Gradient_Linear_Data *pd)
50{ 50{
51 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, ector_renderer_prepare()); 51 ector_renderer_prepare(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS));
52 52
53 if (!pd->parent) 53 if (!pd->parent)
54 { 54 {
@@ -78,7 +78,7 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_draw(Eo *obj,
78 pat = _ector_renderer_cairo_gradient_linear_prepare(obj, gld, gd, mul_col); 78 pat = _ector_renderer_cairo_gradient_linear_prepare(obj, gld, gd, mul_col);
79 if (!pat) return EINA_FALSE; 79 if (!pat) return EINA_FALSE;
80 80
81 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, ector_renderer_draw(op, clips, mul_col)); 81 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS), op, clips, mul_col);
82 82
83 cairo_rectangle(pd->parent->cairo, gld->start.x, gld->start.y, 83 cairo_rectangle(pd->parent->cairo, gld->start.x, gld->start.y,
84 gld->end.x - gld->start.x, 84 gld->end.x - gld->start.x,
@@ -134,7 +134,7 @@ _ector_renderer_cairo_gradient_linear_eo_base_finalize(Eo *obj, Ector_Renderer_C
134{ 134{
135 Ector_Renderer_Generic_Base_Data *base; 135 Ector_Renderer_Generic_Base_Data *base;
136 136
137 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, obj = eo_finalize()); 137 obj = eo_finalize(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS));
138 if (!obj) return NULL; 138 if (!obj) return NULL;
139 139
140 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS); 140 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
@@ -161,7 +161,7 @@ _ector_renderer_cairo_gradient_linear_eo_base_destructor(Eo *obj,
161 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS); 161 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
162 eo_data_xunref(base->surface, pd->parent, obj); 162 eo_data_xunref(base->surface, pd->parent, obj);
163 163
164 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, eo_destructor()); 164 eo_destructor(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS));
165} 165}
166 166
167static void 167static void
@@ -170,8 +170,7 @@ _ector_renderer_cairo_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj,
170 const Efl_Gfx_Gradient_Stop *colors, 170 const Efl_Gfx_Gradient_Stop *colors,
171 unsigned int length) 171 unsigned int length)
172{ 172{
173 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, 173 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS), colors, length);
174 efl_gfx_gradient_stop_set(colors, length));
175} 174}
176 175
177static unsigned int 176static unsigned int
@@ -181,8 +180,7 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_crc_get(Eo *ob
181 Ector_Renderer_Generic_Gradient_Data *gd; 180 Ector_Renderer_Generic_Gradient_Data *gd;
182 unsigned int crc; 181 unsigned int crc;
183 182
184 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, 183 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS));
185 crc = ector_renderer_crc_get());
186 184
187 gld = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN); 185 gld = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN);
188 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN); 186 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 6c4906c..b075f88 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
@@ -34,7 +34,7 @@ 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 ector_renderer_prepare(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS));
38 38
39 if (!pd->parent) 39 if (!pd->parent)
40 { 40 {
@@ -82,7 +82,7 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_draw(Eo *obj,
82 pat = _ector_renderer_cairo_gradient_radial_prepare(obj, grd, gd, mul_col); 82 pat = _ector_renderer_cairo_gradient_radial_prepare(obj, grd, 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_RADIAL_CLASS, ector_renderer_draw(op, clips, mul_col)); 85 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS), op, clips, mul_col);
86 86
87 cairo_arc(pd->parent->cairo, 87 cairo_arc(pd->parent->cairo,
88 grd->radial.x, grd->radial.y, 88 grd->radial.x, grd->radial.y,
@@ -139,7 +139,7 @@ _ector_renderer_cairo_gradient_radial_eo_base_finalize(Eo *obj, Ector_Renderer_C
139{ 139{
140 Ector_Renderer_Generic_Base_Data *base; 140 Ector_Renderer_Generic_Base_Data *base;
141 141
142 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, obj = eo_finalize()); 142 obj = eo_finalize(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS));
143 if (!obj) return NULL; 143 if (!obj) return NULL;
144 144
145 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS); 145 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
@@ -165,7 +165,7 @@ _ector_renderer_cairo_gradient_radial_eo_base_destructor(Eo *obj,
165 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS); 165 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
166 eo_data_xunref(base->surface, pd->parent, obj); 166 eo_data_xunref(base->surface, pd->parent, obj);
167 167
168 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, eo_destructor()); 168 eo_destructor(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS));
169} 169}
170 170
171static void 171static void
@@ -174,8 +174,7 @@ _ector_renderer_cairo_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj,
174 const Efl_Gfx_Gradient_Stop *colors, 174 const Efl_Gfx_Gradient_Stop *colors,
175 unsigned int length) 175 unsigned int length)
176{ 176{
177 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, 177 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS), colors, length);
178 efl_gfx_gradient_stop_set(colors, length));
179} 178}
180 179
181static unsigned int 180static unsigned int
@@ -185,8 +184,7 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_crc_get(Eo *ob
185 Ector_Renderer_Generic_Gradient_Data *gd; 184 Ector_Renderer_Generic_Gradient_Data *gd;
186 unsigned int crc; 185 unsigned int crc;
187 186
188 eo_do_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, 187 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS));
189 crc = ector_renderer_crc_get());
190 188
191 grd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN); 189 grd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN);
192 gd = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN); 190 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 2292155..99e3016 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
@@ -92,14 +92,14 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_prepare(Eo *obj, Ector_R
92 const Efl_Gfx_Path_Command *cmds = NULL; 92 const Efl_Gfx_Path_Command *cmds = NULL;
93 const double *pts = NULL; 93 const double *pts = NULL;
94 94
95 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, ector_renderer_prepare()); 95 ector_renderer_prepare(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS));
96 96
97 if (pd->shape->fill) 97 if (pd->shape->fill)
98 eo_do(pd->shape->fill, ector_renderer_prepare()); 98 ector_renderer_prepare(pd->shape->fill);
99 if (pd->shape->stroke.fill) 99 if (pd->shape->stroke.fill)
100 eo_do(pd->shape->stroke.fill, ector_renderer_prepare()); 100 ector_renderer_prepare(pd->shape->stroke.fill);
101 if (pd->shape->stroke.marker) 101 if (pd->shape->stroke.marker)
102 eo_do(pd->shape->stroke.marker, ector_renderer_prepare()); 102 ector_renderer_prepare(pd->shape->stroke.marker);
103 103
104 // shouldn't that be moved to the cairo base object 104 // shouldn't that be moved to the cairo base object
105 if (!pd->parent) 105 if (!pd->parent)
@@ -110,7 +110,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_prepare(Eo *obj, Ector_R
110 pd->parent = eo_data_xref(base->surface, ECTOR_CAIRO_SURFACE_CLASS, obj); 110 pd->parent = eo_data_xref(base->surface, ECTOR_CAIRO_SURFACE_CLASS, obj);
111 } 111 }
112 112
113 eo_do(obj, efl_gfx_shape_path_get(&cmds, &pts)); 113 efl_gfx_shape_path_get(obj, &cmds, &pts);
114 if (!pd->path && cmds) 114 if (!pd->path && cmds)
115 { 115 {
116 cairo_new_path(pd->parent->cairo); 116 cairo_new_path(pd->parent->cairo);
@@ -163,26 +163,26 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rend
163 163
164 cairo_save(pd->parent->cairo); 164 cairo_save(pd->parent->cairo);
165 165
166 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, ector_renderer_draw(op, clips, mul_col)); 166 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS), op, clips, mul_col);
167 167
168 cairo_new_path(pd->parent->cairo); 168 cairo_new_path(pd->parent->cairo);
169 cairo_append_path(pd->parent->cairo, pd->path); 169 cairo_append_path(pd->parent->cairo, pd->path);
170 170
171 eo_do(obj, fill_rule = efl_gfx_shape_fill_rule_get()); 171 fill_rule = efl_gfx_shape_fill_rule_get(obj);
172 if (fill_rule == EFL_GFX_FILL_RULE_ODD_EVEN) 172 if (fill_rule == EFL_GFX_FILL_RULE_ODD_EVEN)
173 cairo_set_fill_rule(pd->parent->cairo, CAIRO_FILL_RULE_EVEN_ODD); 173 cairo_set_fill_rule(pd->parent->cairo, CAIRO_FILL_RULE_EVEN_ODD);
174 else 174 else
175 cairo_set_fill_rule(pd->parent->cairo, CAIRO_FILL_RULE_WINDING); 175 cairo_set_fill_rule(pd->parent->cairo, CAIRO_FILL_RULE_WINDING);
176 176
177 if (pd->shape->fill) 177 if (pd->shape->fill)
178 eo_do(pd->shape->fill, ector_renderer_cairo_base_fill(mul_col)); 178 ector_renderer_cairo_base_fill(pd->shape->fill, mul_col);
179 179
180 if (pd->shape->stroke.fill || pd->public_shape->stroke.color.a > 0) 180 if (pd->shape->stroke.fill || pd->public_shape->stroke.color.a > 0)
181 { 181 {
182 cairo_fill_preserve(pd->parent->cairo); 182 cairo_fill_preserve(pd->parent->cairo);
183 183
184 if (pd->shape->stroke.fill) 184 if (pd->shape->stroke.fill)
185 eo_do(pd->shape->stroke.fill, ector_renderer_cairo_base_fill(mul_col)); 185 ector_renderer_cairo_base_fill(pd->shape->stroke.fill, mul_col);
186 else 186 else
187 { 187 {
188 r = (((pd->public_shape->stroke.color.r * R_VAL(&mul_col)) + 0xff) >> 8); 188 r = (((pd->public_shape->stroke.color.r * R_VAL(&mul_col)) + 0xff) >> 8);
@@ -240,7 +240,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_bounds_get(Eo *obj,
240 Ector_Renderer_Cairo_Base_Data *bd; 240 Ector_Renderer_Cairo_Base_Data *bd;
241 241
242 // FIXME: It should be possible to actually ask cairo about that 242 // FIXME: It should be possible to actually ask cairo about that
243 eo_do(obj, efl_gfx_shape_bounds_get(r)); 243 efl_gfx_shape_bounds_get(obj, r);
244 244
245 bd = eo_data_scope_get(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS); 245 bd = eo_data_scope_get(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS);
246 r->x += bd->generic->origin.x; 246 r->x += bd->generic->origin.x;
@@ -250,7 +250,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_bounds_get(Eo *obj,
250Eo * 250Eo *
251_ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd) 251_ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd)
252{ 252{
253 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj = eo_constructor()); 253 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS));
254 254
255 if (!obj) return NULL; 255 if (!obj) return NULL;
256 256
@@ -258,8 +258,7 @@ _ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Sh
258 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); 258 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj);
259 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 259 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
260 260
261 eo_do(obj, 261 eo_event_callback_add(obj, EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd);
262 eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd));
263 262
264 return obj; 263 return obj;
265} 264}
@@ -267,7 +266,7 @@ _ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Sh
267static Eo_Base * 266static Eo_Base *
268_ector_renderer_cairo_shape_eo_base_finalize(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd) 267_ector_renderer_cairo_shape_eo_base_finalize(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd)
269{ 268{
270 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj = eo_finalize()); 269 obj = eo_finalize(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS));
271 if (!obj) return NULL; 270 if (!obj) return NULL;
272 271
273 USE(pd->base, cairo_path_destroy, NULL); 272 USE(pd->base, cairo_path_destroy, NULL);
@@ -300,7 +299,7 @@ _ector_renderer_cairo_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Cairo_Sha
300 299
301 //FIXME, As base class destructor can't call destructor of mixin class. 300 //FIXME, As base class destructor can't call destructor of mixin class.
302 // call explicit API to free shape data. 301 // call explicit API to free shape data.
303 eo_do(obj, efl_gfx_shape_reset()); 302 efl_gfx_shape_reset(obj);
304 303
305 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS); 304 base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
306 eo_data_xunref(base->surface, pd->parent, obj); 305 eo_data_xunref(base->surface, pd->parent, obj);
@@ -308,7 +307,7 @@ _ector_renderer_cairo_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Cairo_Sha
308 eo_data_xunref(obj, pd->shape, obj); 307 eo_data_xunref(obj, pd->shape, obj);
309 eo_data_xunref(obj, pd->base, obj); 308 eo_data_xunref(obj, pd->base, obj);
310 309
311 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, eo_destructor()); 310 eo_destructor(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS));
312 311
313 if (pd->path) cairo_path_destroy(pd->path); 312 if (pd->path) cairo_path_destroy(pd->path);
314} 313}
@@ -319,8 +318,7 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_crc_get(Eo *obj,
319{ 318{
320 unsigned int crc; 319 unsigned int crc;
321 320
322 eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, 321 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS));
323 crc = ector_renderer_crc_get());
324 322
325 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE); 323 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE);
326 crc = eina_crc((void*) &pd->public_shape->stroke.scale, sizeof (pd->public_shape->stroke.scale) * 3, crc, EINA_FALSE); // scale, width, centered 324 crc = eina_crc((void*) &pd->public_shape->stroke.scale, sizeof (pd->public_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 7278566..013b1de 100644
--- a/src/lib/ector/ector_private.h
+++ b/src/lib/ector/ector_private.h
@@ -134,7 +134,7 @@ _renderer_crc_get(Eo *obj, unsigned int crc)
134{ 134{
135 unsigned int id; 135 unsigned int id;
136 136
137 eo_do(obj, id = ector_renderer_crc_get()); 137 id = ector_renderer_crc_get(obj);
138 crc = eina_crc((void*) &id, sizeof (id), crc, EINA_FALSE); 138 crc = eina_crc((void*) &id, sizeof (id), crc, EINA_FALSE);
139 return crc; 139 return crc;
140} 140}
diff --git a/src/lib/ector/ector_renderer_generic_base.c b/src/lib/ector/ector_renderer_generic_base.c
index 66423bf..085d945 100644
--- a/src/lib/ector/ector_renderer_generic_base.c
+++ b/src/lib/ector/ector_renderer_generic_base.c
@@ -15,7 +15,7 @@ _ector_renderer_generic_base_eo_base_destructor(Eo *obj, Ector_Renderer_Generic_
15 if (pd->m) free(pd->m); 15 if (pd->m) free(pd->m);
16 eo_unref(pd->surface); 16 eo_unref(pd->surface);
17 17
18 eo_do_super(obj, MY_CLASS, eo_destructor()); 18 eo_destructor(eo_super(obj, MY_CLASS));
19} 19}
20 20
21static Eo_Base * 21static Eo_Base *
@@ -27,7 +27,7 @@ _ector_renderer_generic_base_eo_base_finalize(Eo *obj, Ector_Renderer_Generic_Ba
27 return NULL; 27 return NULL;
28 } 28 }
29 pd->finalized = EINA_TRUE; 29 pd->finalized = EINA_TRUE;
30 return eo_do_super_ret(obj, MY_CLASS, obj, eo_finalize()); 30 return eo_finalize(eo_super(obj, MY_CLASS));
31} 31}
32 32
33static Ector_Generic_Surface * 33static Ector_Generic_Surface *
@@ -163,7 +163,7 @@ _ector_renderer_generic_base_prepare(Eo *obj EINA_UNUSED,
163 Ector_Renderer_Generic_Base_Data *pd) 163 Ector_Renderer_Generic_Base_Data *pd)
164{ 164{
165 if (pd->mask) 165 if (pd->mask)
166 eo_do(pd->mask, ector_renderer_prepare()); 166 ector_renderer_prepare(pd->mask);
167 167
168 return EINA_TRUE; 168 return EINA_TRUE;
169} 169}
diff --git a/src/lib/ector/ector_renderer_generic_buffer.c b/src/lib/ector/ector_renderer_generic_buffer.c
index 0814ded..5359970 100644
--- a/src/lib/ector/ector_renderer_generic_buffer.c
+++ b/src/lib/ector/ector_renderer_generic_buffer.c
@@ -59,7 +59,7 @@ _ector_renderer_generic_buffer_eo_base_constructor(Eo *obj, Ector_Renderer_Gener
59{ 59{
60 Eo_Base *ret; 60 Eo_Base *ret;
61 61
62 eo_do_super(obj, MY_CLASS, ret = eo_constructor()); 62 ret = eo_constructor(eo_super(obj, MY_CLASS));
63 pd->fill.spread = EFL_GFX_FILL_REPEAT; 63 pd->fill.spread = EFL_GFX_FILL_REPEAT;
64 64
65 return ret; 65 return ret;
diff --git a/src/lib/ector/gl/ector_gl_surface.c b/src/lib/ector/gl/ector_gl_surface.c
index 14302e3..2ad6653 100644
--- a/src/lib/ector/gl/ector_gl_surface.c
+++ b/src/lib/ector/gl/ector_gl_surface.c
@@ -45,14 +45,11 @@ _ector_gl_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
45 const Eo_Class *type) 45 const Eo_Class *type)
46{ 46{
47 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN) 47 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
48 return eo_add(ECTOR_RENDERER_GL_SHAPE_CLASS, NULL, 48 return eo_add(ECTOR_RENDERER_GL_SHAPE_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
49 ector_renderer_surface_set(obj));
50 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN) 49 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
51 return eo_add(ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, NULL, 50 return eo_add(ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
52 ector_renderer_surface_set(obj));
53 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN) 51 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
54 return eo_add(ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, NULL, 52 return eo_add(ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
55 ector_renderer_surface_set(obj));
56 53
57 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type)); 54 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
58 return NULL; 55 return NULL;
@@ -77,7 +74,7 @@ _ector_gl_surface_push(Eo *obj,
77{ 74{
78 unsigned int prog; 75 unsigned int prog;
79 76
80 eo_do(obj, prog = ector_gl_surface_shader_get(flags)); 77 prog = ector_gl_surface_shader_get(obj, flags);
81 78
82 // FIXME: Not using mapp/unmap buffer yet, nor any pipe 79 // FIXME: Not using mapp/unmap buffer yet, nor any pipe
83 // FIXME: Move some of the state change to surface drawing start ? 80 // FIXME: Move some of the state change to surface drawing start ?
@@ -328,7 +325,7 @@ _ector_gl_surface_shader_get(Eo *obj EINA_UNUSED, Ector_GL_Surface_Data *pd EINA
328static void 325static void
329_ector_gl_surface_eo_base_destructor(Eo *obj, Ector_GL_Surface_Data *pd EINA_UNUSED) 326_ector_gl_surface_eo_base_destructor(Eo *obj, Ector_GL_Surface_Data *pd EINA_UNUSED)
330{ 327{
331 eo_do_super(obj, ECTOR_GL_SURFACE_CLASS, eo_destructor()); 328 eo_destructor(eo_super(obj, ECTOR_GL_SURFACE_CLASS));
332 329
333 eina_hash_free(shader_cache); 330 eina_hash_free(shader_cache);
334 shader_cache = NULL; 331 shader_cache = NULL;
@@ -341,7 +338,7 @@ _ector_gl_surface_eo_base_constructor(Eo *obj, Ector_GL_Surface_Data *pd EINA_UN
341{ 338{
342 Eina_Strbuf *file_path = NULL; 339 Eina_Strbuf *file_path = NULL;
343 340
344 eo_do_super(obj, ECTOR_GL_SURFACE_CLASS, obj = eo_constructor()); 341 obj = eo_constructor(eo_super(obj, ECTOR_GL_SURFACE_CLASS));
345 if (!obj) return NULL; 342 if (!obj) return NULL;
346 343
347 if (shader_cache) return obj; 344 if (shader_cache) return obj;
diff --git a/src/lib/ector/gl/ector_renderer_gl_base.c b/src/lib/ector/gl/ector_renderer_gl_base.c
index a659d3d..75829cf 100644
--- a/src/lib/ector/gl/ector_renderer_gl_base.c
+++ b/src/lib/ector/gl/ector_renderer_gl_base.c
@@ -31,8 +31,7 @@ _ector_renderer_gl_base_ector_renderer_generic_base_draw(Eo *obj EINA_UNUSED,
31{ 31{
32 Eina_Bool r; 32 Eina_Bool r;
33 33
34 eo_do(pd->base->surface, 34 r = ector_gl_surface_state_define(pd->base->surface, op, clips);
35 r = ector_gl_surface_state_define(op, clips));
36 35
37 return r; 36 return r;
38} 37}
@@ -40,7 +39,7 @@ _ector_renderer_gl_base_ector_renderer_generic_base_draw(Eo *obj EINA_UNUSED,
40static Eo_Base * 39static Eo_Base *
41_ector_renderer_gl_base_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Base_Data *pd) 40_ector_renderer_gl_base_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Base_Data *pd)
42{ 41{
43 eo_do_super(obj, ECTOR_RENDERER_GL_BASE_CLASS, obj = eo_constructor()); 42 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_GL_BASE_CLASS));
44 if (!obj) return NULL; 43 if (!obj) return NULL;
45 44
46 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 45 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
diff --git a/src/lib/ector/gl/ector_renderer_gl_gradient_linear.c b/src/lib/ector/gl/ector_renderer_gl_gradient_linear.c
index 6920ac1..5bff844 100644
--- a/src/lib/ector/gl/ector_renderer_gl_gradient_linear.c
+++ b/src/lib/ector/gl/ector_renderer_gl_gradient_linear.c
@@ -31,8 +31,7 @@ _ector_renderer_gl_gradient_linear_ector_renderer_generic_base_prepare(Eo *obj,
31static Eina_Bool 31static Eina_Bool
32_ector_renderer_gl_gradient_linear_ector_renderer_generic_base_draw(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd, Efl_Gfx_Render_Op op, Eina_Array *clips, unsigned int mul_col) 32_ector_renderer_gl_gradient_linear_ector_renderer_generic_base_draw(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd, Efl_Gfx_Render_Op op, Eina_Array *clips, unsigned int mul_col)
33{ 33{
34 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, 34 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS), op, clips, mul_col);
35 ector_renderer_draw(op, clips, mul_col));
36 35
37 // FIXME: draw something ! 36 // FIXME: draw something !
38 (void) pd; 37 (void) pd;
@@ -70,7 +69,7 @@ _ector_renderer_gl_gradient_linear_ector_renderer_gl_base_fill(Eo *obj, Ector_Re
70static Eo_Base * 69static Eo_Base *
71_ector_renderer_gl_gradient_linear_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd) 70_ector_renderer_gl_gradient_linear_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd)
72{ 71{
73 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, obj = eo_constructor()); 72 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS));
74 73
75 if (!obj) return NULL; 74 if (!obj) return NULL;
76 75
@@ -92,8 +91,7 @@ _ector_renderer_gl_gradient_linear_eo_base_destructor(Eo *obj, Ector_Renderer_GL
92static void 91static void
93_ector_renderer_gl_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd EINA_UNUSED, const Efl_Gfx_Gradient_Stop *colors, unsigned int length) 92_ector_renderer_gl_gradient_linear_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_GL_Gradient_Linear_Data *pd EINA_UNUSED, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
94{ 93{
95 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, 94 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS), colors, length);
96 efl_gfx_gradient_stop_set(colors, length));
97} 95}
98 96
99static unsigned int 97static unsigned int
@@ -101,8 +99,7 @@ _ector_renderer_gl_gradient_linear_ector_renderer_generic_base_crc_get(Eo *obj,
101{ 99{
102 unsigned int crc; 100 unsigned int crc;
103 101
104 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, 102 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS));
105 crc = ector_renderer_crc_get());
106 103
107 crc = eina_crc((void*) pd->gradient->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 104 crc = eina_crc((void*) pd->gradient->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
108 if (pd->gradient->colors_count) 105 if (pd->gradient->colors_count)
diff --git a/src/lib/ector/gl/ector_renderer_gl_gradient_radial.c b/src/lib/ector/gl/ector_renderer_gl_gradient_radial.c
index 9d7d65c..9ba402f 100644
--- a/src/lib/ector/gl/ector_renderer_gl_gradient_radial.c
+++ b/src/lib/ector/gl/ector_renderer_gl_gradient_radial.c
@@ -30,8 +30,7 @@ _ector_renderer_gl_gradient_radial_ector_renderer_generic_base_prepare(Eo *obj,
30static Eina_Bool 30static Eina_Bool
31_ector_renderer_gl_gradient_radial_ector_renderer_generic_base_draw(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd, Efl_Gfx_Render_Op op, Eina_Array *clips, unsigned int mul_col) 31_ector_renderer_gl_gradient_radial_ector_renderer_generic_base_draw(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd, Efl_Gfx_Render_Op op, Eina_Array *clips, unsigned int mul_col)
32{ 32{
33 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, 33 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS), op, clips, mul_col);
34 ector_renderer_draw(op, clips, mul_col));
35 34
36 // FIXME: draw something ! 35 // FIXME: draw something !
37 (void) pd; 36 (void) pd;
@@ -70,8 +69,7 @@ _ector_renderer_gl_gradient_radial_ector_renderer_generic_base_crc_get(Eo *obj,
70{ 69{
71 unsigned int crc; 70 unsigned int crc;
72 71
73 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, 72 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS));
74 crc = ector_renderer_crc_get());
75 73
76 crc = eina_crc((void*) pd->gradient->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 74 crc = eina_crc((void*) pd->gradient->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
77 if (pd->gradient->colors_count) 75 if (pd->gradient->colors_count)
@@ -84,7 +82,7 @@ _ector_renderer_gl_gradient_radial_ector_renderer_generic_base_crc_get(Eo *obj,
84static Eo_Base * 82static Eo_Base *
85_ector_renderer_gl_gradient_radial_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd) 83_ector_renderer_gl_gradient_radial_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd)
86{ 84{
87 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, obj = eo_constructor()); 85 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS));
88 86
89 if (!obj) return NULL; 87 if (!obj) return NULL;
90 88
@@ -106,8 +104,7 @@ _ector_renderer_gl_gradient_radial_eo_base_destructor(Eo *obj, Ector_Renderer_GL
106static void 104static void
107_ector_renderer_gl_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd EINA_UNUSED, const Efl_Gfx_Gradient_Stop *colors, unsigned int length) 105_ector_renderer_gl_gradient_radial_efl_gfx_gradient_base_stop_set(Eo *obj, Ector_Renderer_GL_Gradient_Radial_Data *pd EINA_UNUSED, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
108{ 106{
109 eo_do_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, 107 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS), colors, length);
110 efl_gfx_gradient_stop_set(colors, length));
111} 108}
112 109
113#include "ector_renderer_gl_gradient_radial.eo.c" 110#include "ector_renderer_gl_gradient_radial.eo.c"
diff --git a/src/lib/ector/gl/ector_renderer_gl_shape.c b/src/lib/ector/gl/ector_renderer_gl_shape.c
index b092712..59aaadf 100644
--- a/src/lib/ector/gl/ector_renderer_gl_shape.c
+++ b/src/lib/ector/gl/ector_renderer_gl_shape.c
@@ -39,9 +39,9 @@ _ector_renderer_gl_shape_ector_renderer_generic_base_prepare(Eo *obj, Ector_Rend
39 39
40 if (pd->vertex) return EINA_TRUE; 40 if (pd->vertex) return EINA_TRUE;
41 41
42 eo_do_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS, r = ector_renderer_prepare()); 42 r = ector_renderer_prepare(eo_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS));
43 43
44 eo_do(obj, ector_renderer_bounds_get(&bounding_box)); 44 ector_renderer_bounds_get(obj, &bounding_box);
45 45
46 pd->vertex = malloc(sizeof (GLshort) * 6 * 3); 46 pd->vertex = malloc(sizeof (GLshort) * 6 * 3);
47 47
@@ -74,7 +74,7 @@ _ector_renderer_gl_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rendere
74{ 74{
75 uint64_t flags = 0; 75 uint64_t flags = 0;
76 76
77 eo_do_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS, ector_renderer_draw(op, clips, mul_col)); 77 ector_renderer_draw(eo_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS), op, clips, mul_col);
78 78
79 // FIXME: adjust flags content correctly 79 // FIXME: adjust flags content correctly
80 // FIXME: should not ignore clips (idea is that the geometry will be cliped here and the 80 // FIXME: should not ignore clips (idea is that the geometry will be cliped here and the
@@ -82,12 +82,11 @@ _ector_renderer_gl_shape_ector_renderer_generic_base_draw(Eo *obj, Ector_Rendere
82 82
83 if (pd->shape->fill) 83 if (pd->shape->fill)
84 { 84 {
85 eo_do(pd->shape->fill, ector_renderer_gl_base_fill(flags, pd->vertex, 6, mul_col)); 85 ector_renderer_gl_base_fill(pd->shape->fill, flags, pd->vertex, 6, mul_col);
86 } 86 }
87 else 87 else
88 { 88 {
89 eo_do(pd->base->surface, 89 ector_gl_surface_push(pd->base->surface, flags, pd->vertex, 6, mul_col);
90 ector_gl_surface_push(flags, pd->vertex, 6, mul_col));
91 } 90 }
92 91
93 return EINA_TRUE; 92 return EINA_TRUE;
@@ -110,7 +109,7 @@ _ector_renderer_gl_shape_ector_renderer_gl_base_fill(Eo *obj EINA_UNUSED,
110static void 109static void
111_ector_renderer_gl_shape_ector_renderer_generic_base_bounds_get(Eo *obj, Ector_Renderer_GL_Shape_Data *pd, Eina_Rectangle *r) 110_ector_renderer_gl_shape_ector_renderer_generic_base_bounds_get(Eo *obj, Ector_Renderer_GL_Shape_Data *pd, Eina_Rectangle *r)
112{ 111{
113 eo_do(obj, efl_gfx_shape_bounds_get(r)); 112 efl_gfx_shape_bounds_get(obj, r);
114 113
115 r->x += pd->base->origin.x; 114 r->x += pd->base->origin.x;
116 r->y += pd->base->origin.y; 115 r->y += pd->base->origin.y;
@@ -121,8 +120,7 @@ _ector_renderer_gl_shape_ector_renderer_generic_base_crc_get(Eo *obj, Ector_Rend
121{ 120{
122 unsigned int crc; 121 unsigned int crc;
123 122
124 eo_do_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS, 123 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS));
125 crc = ector_renderer_crc_get());
126 124
127 // This code should be shared with other implementation 125 // This code should be shared with other implementation
128 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE); 126 crc = eina_crc((void*) &pd->shape->stroke.marker, sizeof (pd->shape->stroke.marker), crc, EINA_FALSE);
@@ -145,7 +143,7 @@ _ector_renderer_gl_shape_ector_renderer_generic_base_crc_get(Eo *obj, Ector_Rend
145static Eo_Base * 143static Eo_Base *
146_ector_renderer_gl_shape_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Shape_Data *pd) 144_ector_renderer_gl_shape_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Shape_Data *pd)
147{ 145{
148 eo_do_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS, obj = eo_constructor()); 146 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_GL_SHAPE_CLASS));
149 147
150 if (!obj) return NULL; 148 if (!obj) return NULL;
151 149
@@ -153,8 +151,7 @@ _ector_renderer_gl_shape_eo_base_constructor(Eo *obj, Ector_Renderer_GL_Shape_Da
153 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); 151 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj);
154 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 152 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
155 153
156 eo_do(obj, 154 eo_event_callback_add(obj, EFL_GFX_PATH_CHANGED, _ector_renderer_gl_shape_path_changed, pd);
157 eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_gl_shape_path_changed, pd));
158 155
159 return obj; 156 return obj;
160} 157}
diff --git a/src/lib/ector/software/ector_renderer_software_buffer.c b/src/lib/ector/software/ector_renderer_software_buffer.c
index cfd13c0..d07c197 100644
--- a/src/lib/ector/software/ector_renderer_software_buffer.c
+++ b/src/lib/ector/software/ector_renderer_software_buffer.c
@@ -54,7 +54,7 @@ _ector_renderer_software_buffer_ector_renderer_generic_base_crc_get(Eo *obj, Ect
54 Ector_Software_Buffer_Base_Data *buffer = eo_data_scope_get(pd->eo_buffer, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN); 54 Ector_Software_Buffer_Base_Data *buffer = eo_data_scope_get(pd->eo_buffer, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN);
55 unsigned int crc; 55 unsigned int crc;
56 56
57 eo_do_super(obj, MY_CLASS, crc = ector_renderer_crc_get()); 57 crc = ector_renderer_crc_get(eo_super(obj, MY_CLASS));
58 crc = eina_crc((const char *) buffer, sizeof(*buffer), crc, EINA_FALSE); 58 crc = eina_crc((const char *) buffer, sizeof(*buffer), crc, EINA_FALSE);
59 if (pd->surface) 59 if (pd->surface)
60 crc = eina_crc((const char *) pd->surface, sizeof(*pd->surface), crc, EINA_FALSE); 60 crc = eina_crc((const char *) pd->surface, sizeof(*pd->surface), crc, EINA_FALSE);
@@ -66,7 +66,7 @@ EOLIAN static void
66_ector_renderer_software_buffer_eo_base_destructor(Eo *obj, Ector_Renderer_Software_Buffer_Data *pd) 66_ector_renderer_software_buffer_eo_base_destructor(Eo *obj, Ector_Renderer_Software_Buffer_Data *pd)
67{ 67{
68 eo_data_xunref(pd->base->surface, pd->surface, obj); 68 eo_data_xunref(pd->base->surface, pd->surface, obj);
69 eo_do_super(obj, MY_CLASS, eo_destructor()); 69 eo_destructor(eo_super(obj, MY_CLASS));
70} 70}
71 71
72#include "ector_renderer_software_buffer.eo.c" 72#include "ector_renderer_software_buffer.eo.c"
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 3a35a08..46ec2e5 100644
--- a/src/lib/ector/software/ector_renderer_software_gradient_linear.c
+++ b/src/lib/ector/software/ector_renderer_software_gradient_linear.c
@@ -66,7 +66,7 @@ static Eo *
66_ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj, 66_ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj,
67 Ector_Renderer_Software_Gradient_Data *pd) 67 Ector_Renderer_Software_Gradient_Data *pd)
68{ 68{
69 obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj, eo_constructor()); 69 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS));
70 if (!obj) return NULL; 70 if (!obj) return NULL;
71 71
72 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); 72 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj);
@@ -89,14 +89,13 @@ _ector_renderer_software_gradient_linear_eo_base_destructor(Eo *obj,
89 eo_data_xunref(obj, pd->gd, obj); 89 eo_data_xunref(obj, pd->gd, obj);
90 eo_data_xunref(obj, pd->gld, obj); 90 eo_data_xunref(obj, pd->gld, obj);
91 91
92 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, eo_destructor()); 92 eo_destructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS));
93} 93}
94 94
95void 95void
96_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) 96_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)
97{ 97{
98 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, 98 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS), colors, length);
99 efl_gfx_gradient_stop_set(colors, length));
100 99
101 destroy_color_table(pd); 100 destroy_color_table(pd);
102} 101}
@@ -106,8 +105,7 @@ _ector_renderer_software_gradient_linear_ector_renderer_generic_base_crc_get(Eo
106{ 105{
107 unsigned int crc; 106 unsigned int crc;
108 107
109 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, 108 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS));
110 crc = ector_renderer_crc_get());
111 109
112 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 110 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
113 if (pd->gd->colors_count) 111 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 6f7f5dd..64d0a9d 100644
--- a/src/lib/ector/software/ector_renderer_software_gradient_radial.c
+++ b/src/lib/ector/software/ector_renderer_software_gradient_radial.c
@@ -76,7 +76,7 @@ Eo *
76_ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj, 76_ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj,
77 Ector_Renderer_Software_Gradient_Data *pd) 77 Ector_Renderer_Software_Gradient_Data *pd)
78{ 78{
79 obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj, eo_constructor()); 79 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS));
80 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); 80 pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj);
81 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj); 81 pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj);
82 82
@@ -97,14 +97,13 @@ _ector_renderer_software_gradient_radial_eo_base_destructor(Eo *obj,
97 eo_data_xunref(obj, pd->gd, obj); 97 eo_data_xunref(obj, pd->gd, obj);
98 eo_data_xunref(obj, pd->gld, obj); 98 eo_data_xunref(obj, pd->gld, obj);
99 99
100 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, eo_destructor()); 100 eo_destructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS));
101} 101}
102 102
103void 103void
104_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) 104_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)
105{ 105{
106 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, 106 efl_gfx_gradient_stop_set(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS), colors, length);
107 efl_gfx_gradient_stop_set(colors, length));
108 107
109 destroy_color_table(pd); 108 destroy_color_table(pd);
110} 109}
@@ -114,8 +113,7 @@ _ector_renderer_software_gradient_radial_ector_renderer_generic_base_crc_get(Eo
114{ 113{
115 unsigned int crc; 114 unsigned int crc;
116 115
117 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, 116 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS));
118 crc = ector_renderer_crc_get());
119 117
120 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE); 118 crc = eina_crc((void*) pd->gd->s, sizeof (Efl_Gfx_Gradient_Spread), crc, EINA_FALSE);
121 if (pd->gd->colors_count) 119 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 beaf043..978ccaa 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -520,9 +520,8 @@ _update_rle(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
520 Efl_Gfx_Fill_Rule fill_rule; 520 Efl_Gfx_Fill_Rule fill_rule;
521 Outline *outline, *dash_outline; 521 Outline *outline, *dash_outline;
522 522
523 eo_do(obj, 523 efl_gfx_shape_path_get(obj, &cmds, &pts);
524 efl_gfx_shape_path_get(&cmds, &pts), 524 fill_rule = efl_gfx_shape_fill_rule_get(obj);
525 fill_rule = efl_gfx_shape_fill_rule_get());
526 if (cmds && (_generate_stroke_data(pd) || _generate_shape_data(pd))) 525 if (cmds && (_generate_stroke_data(pd) || _generate_shape_data(pd)))
527 { 526 {
528 outline = _outline_create(); 527 outline = _outline_create();
@@ -577,11 +576,11 @@ _ector_renderer_software_shape_ector_renderer_generic_base_prepare(Eo *obj,
577{ 576{
578 // FIXME: shouldn't that be part of the shape generic implementation ? 577 // FIXME: shouldn't that be part of the shape generic implementation ?
579 if (pd->shape->fill) 578 if (pd->shape->fill)
580 eo_do(pd->shape->fill, ector_renderer_prepare()); 579 ector_renderer_prepare(pd->shape->fill);
581 if (pd->shape->stroke.fill) 580 if (pd->shape->stroke.fill)
582 eo_do(pd->shape->stroke.fill, ector_renderer_prepare()); 581 ector_renderer_prepare(pd->shape->stroke.fill);
583 if (pd->shape->stroke.marker) 582 if (pd->shape->stroke.marker)
584 eo_do(pd->shape->stroke.marker, ector_renderer_prepare()); 583 ector_renderer_prepare(pd->shape->stroke.marker);
585 584
586 // shouldn't that be moved to the software base object 585 // shouldn't that be moved to the software base object
587 if (!pd->surface) 586 if (!pd->surface)
@@ -611,7 +610,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_draw(Eo *obj,
611 610
612 if (pd->shape->fill) 611 if (pd->shape->fill)
613 { 612 {
614 eo_do(pd->shape->fill, ector_renderer_software_base_fill()); 613 ector_renderer_software_base_fill(pd->shape->fill);
615 ector_software_rasterizer_draw_rle_data(pd->surface->rasterizer, 614 ector_software_rasterizer_draw_rle_data(pd->surface->rasterizer,
616 x, y, mul_col, op, 615 x, y, mul_col, op,
617 pd->shape_data); 616 pd->shape_data);
@@ -633,7 +632,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_draw(Eo *obj,
633 632
634 if (pd->shape->stroke.fill) 633 if (pd->shape->stroke.fill)
635 { 634 {
636 eo_do(pd->shape->stroke.fill, ector_renderer_software_base_fill()); 635 ector_renderer_software_base_fill(pd->shape->stroke.fill);
637 ector_software_rasterizer_draw_rle_data(pd->surface->rasterizer, 636 ector_software_rasterizer_draw_rle_data(pd->surface->rasterizer,
638 x, y, mul_col, op, 637 x, y, mul_col, op,
639 pd->outline_data); 638 pd->outline_data);
@@ -676,7 +675,7 @@ _ector_renderer_software_shape_efl_gfx_shape_path_set(Eo *obj,
676 pd->shape_data = NULL; 675 pd->shape_data = NULL;
677 pd->outline_data = NULL; 676 pd->outline_data = NULL;
678 677
679 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, efl_gfx_shape_path_set(op, points)); 678 efl_gfx_shape_path_set(eo_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS), op, points);
680} 679}
681 680
682 681
@@ -697,14 +696,13 @@ _ector_renderer_software_shape_path_changed(void *data, const Eo_Event *event EI
697static Eo * 696static Eo *
698_ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd) 697_ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
699{ 698{
700 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj = eo_constructor()); 699 obj = eo_constructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS));
701 if (!obj) return NULL; 700 if (!obj) return NULL;
702 701
703 pd->public_shape = eo_data_xref(obj, EFL_GFX_SHAPE_MIXIN, obj); 702 pd->public_shape = eo_data_xref(obj, EFL_GFX_SHAPE_MIXIN, obj);
704 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); 703 pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj);
705 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); 704 pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj);
706 eo_do(obj, 705 eo_event_callback_add(obj, EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd);
707 eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd));
708 706
709 return obj; 707 return obj;
710} 708}
@@ -714,7 +712,7 @@ _ector_renderer_software_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Softwa
714{ 712{
715 //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.
716 // call explicit API to free shape data. 714 // call explicit API to free shape data.
717 eo_do(obj, efl_gfx_shape_reset()); 715 efl_gfx_shape_reset(obj);
718 716
719 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);
720 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);
@@ -722,7 +720,7 @@ _ector_renderer_software_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Softwa
722 eo_data_xunref(pd->base->surface, pd->surface, obj); 720 eo_data_xunref(pd->base->surface, pd->surface, obj);
723 eo_data_xunref(obj, pd->shape, obj); 721 eo_data_xunref(obj, pd->shape, obj);
724 eo_data_xunref(obj, pd->base, obj); 722 eo_data_xunref(obj, pd->base, obj);
725 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, eo_destructor()); 723 eo_destructor(eo_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS));
726} 724}
727 725
728 726
@@ -732,7 +730,7 @@ _ector_renderer_software_shape_ector_renderer_generic_base_crc_get(Eo *obj,
732{ 730{
733 unsigned int crc; 731 unsigned int crc;
734 732
735 eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, crc = ector_renderer_crc_get()); 733 crc = ector_renderer_crc_get(eo_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS));
736 734
737 crc = eina_crc((void*) &pd->shape->stroke.marker, 735 crc = eina_crc((void*) &pd->shape->stroke.marker,
738 sizeof (pd->shape->stroke.marker), 736 sizeof (pd->shape->stroke.marker),
diff --git a/src/lib/ector/software/ector_software_buffer.c b/src/lib/ector/software/ector_software_buffer.c
index b846761..ecbac54 100644
--- a/src/lib/ector/software/ector_software_buffer.c
+++ b/src/lib/ector/software/ector_software_buffer.c
@@ -69,7 +69,7 @@ _ector_software_buffer_base_pixels_clear(Eo *obj, Ector_Software_Buffer_Base_Dat
69 return; 69 return;
70 } 70 }
71 71
72 eo_do(obj, eo_event_callback_call(ECTOR_GENERIC_BUFFER_EVENT_DETACHED, pd->pixels.u8)); 72 eo_event_callback_call(obj, ECTOR_GENERIC_BUFFER_EVENT_DETACHED, pd->pixels.u8);
73 if (!pd->nofree) 73 if (!pd->nofree)
74 { 74 {
75 free(pd->pixels.u8); 75 free(pd->pixels.u8);
@@ -336,7 +336,7 @@ EOLIAN static Eo_Base *
336_ector_software_buffer_eo_base_constructor(Eo *obj, void *data EINA_UNUSED) 336_ector_software_buffer_eo_base_constructor(Eo *obj, void *data EINA_UNUSED)
337{ 337{
338 Ector_Software_Buffer_Base_Data *pd; 338 Ector_Software_Buffer_Base_Data *pd;
339 eo_do_super(obj, MY_CLASS, obj = eo_constructor()); 339 obj = eo_constructor(eo_super(obj, MY_CLASS));
340 pd = eo_data_scope_get(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN); 340 pd = eo_data_scope_get(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN);
341 pd->generic = eo_data_ref(obj, ECTOR_GENERIC_BUFFER_MIXIN); 341 pd->generic = eo_data_ref(obj, ECTOR_GENERIC_BUFFER_MIXIN);
342 pd->generic->eo = obj; 342 pd->generic->eo = obj;
@@ -349,7 +349,7 @@ _ector_software_buffer_eo_base_destructor(Eo *obj, void *data EINA_UNUSED)
349 Ector_Software_Buffer_Base_Data *pd = eo_data_scope_get(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN); 349 Ector_Software_Buffer_Base_Data *pd = eo_data_scope_get(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN);
350 _ector_software_buffer_base_pixels_clear(obj, pd); 350 _ector_software_buffer_base_pixels_clear(obj, pd);
351 eo_data_unref(obj, pd->generic); 351 eo_data_unref(obj, pd->generic);
352 eo_do_super(obj, MY_CLASS, eo_destructor()); 352 eo_destructor(eo_super(obj, MY_CLASS));
353 if (pd->internal.maps) 353 if (pd->internal.maps)
354 { 354 {
355 ERR("Pixel data is still mapped during destroy! Check your code!"); 355 ERR("Pixel data is still mapped during destroy! Check your code!");
diff --git a/src/lib/ector/software/ector_software_rasterizer.c b/src/lib/ector/software/ector_software_rasterizer.c
index a25a039..f3b31f5 100644
--- a/src/lib/ector/software/ector_software_rasterizer.c
+++ b/src/lib/ector/software/ector_software_rasterizer.c
@@ -102,9 +102,9 @@ _blend_image_argb(int count, const SW_FT_Span *spans, void *user_data)
102 while (length) 102 while (length)
103 { 103 {
104 l = MIN(length, data->buffer->generic->w); 104 l = MIN(length, data->buffer->generic->w);
105 eo_do(data->buffer->generic->eo, src8 = ector_buffer_span_get(0, sy, l, EFL_GFX_COLORSPACE_ARGB8888, NULL)); 105 src8 = ector_buffer_span_get(data->buffer->generic->eo, 0, sy, l, EFL_GFX_COLORSPACE_ARGB8888, NULL);
106 comp_func(target, (uint32_t *) src8, l, data->mul_col, spans->coverage); 106 comp_func(target, (uint32_t *) src8, l, data->mul_col, spans->coverage);
107 eo_do(data->buffer->generic->eo, ector_buffer_span_free(src8)); 107 ector_buffer_span_free(data->buffer->generic->eo, src8);
108 target += l; 108 target += l;
109 length -= l; 109 length -= l;
110 } 110 }
diff --git a/src/lib/ector/software/ector_software_surface.c b/src/lib/ector/software/ector_software_surface.c
index 6ad7905..f67b194 100644
--- a/src/lib/ector/software/ector_software_surface.c
+++ b/src/lib/ector/software/ector_software_surface.c
@@ -16,17 +16,13 @@ _ector_software_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
16 const Eo_Class *type) 16 const Eo_Class *type)
17{ 17{
18 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN) 18 if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
19 return eo_add(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, NULL, 19 return eo_add(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
20 ector_renderer_surface_set(obj));
21 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN) 20 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
22 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, NULL, 21 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
23 ector_renderer_surface_set(obj));
24 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN) 22 else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
25 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, NULL, 23 return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
26 ector_renderer_surface_set(obj));
27 else if (type == ECTOR_RENDERER_GENERIC_BUFFER_MIXIN) 24 else if (type == ECTOR_RENDERER_GENERIC_BUFFER_MIXIN)
28 return eo_add(ECTOR_RENDERER_SOFTWARE_BUFFER_CLASS, NULL, 25 return eo_add(ECTOR_RENDERER_SOFTWARE_BUFFER_CLASS, NULL, ector_renderer_surface_set(eoid, obj));
29 ector_renderer_surface_set(obj));
30 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type)); 26 ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
31 return NULL; 27 return NULL;
32} 28}
@@ -34,7 +30,7 @@ _ector_software_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
34static Eo * 30static Eo *
35_ector_software_surface_eo_base_constructor(Eo *obj, Ector_Software_Surface_Data *pd) 31_ector_software_surface_eo_base_constructor(Eo *obj, Ector_Software_Surface_Data *pd)
36{ 32{
37 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 33 obj = eo_constructor(eo_super(obj, MY_CLASS));
38 pd->rasterizer = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer)); 34 pd->rasterizer = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer));
39 ector_software_rasterizer_init(pd->rasterizer); 35 ector_software_rasterizer_init(pd->rasterizer);
40 pd->rasterizer->fill_data.raster_buffer = eo_data_ref(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN); 36 pd->rasterizer->fill_data.raster_buffer = eo_data_ref(obj, ECTOR_SOFTWARE_BUFFER_BASE_MIXIN);
@@ -48,7 +44,7 @@ _ector_software_surface_eo_base_destructor(Eo *obj, Ector_Software_Surface_Data
48 eo_data_unref(obj, pd->rasterizer->fill_data.raster_buffer); 44 eo_data_unref(obj, pd->rasterizer->fill_data.raster_buffer);
49 free(pd->rasterizer); 45 free(pd->rasterizer);
50 pd->rasterizer = NULL; 46 pd->rasterizer = NULL;
51 eo_do_super(obj, ECTOR_SOFTWARE_SURFACE_CLASS, eo_destructor()); 47 eo_destructor(eo_super(obj, ECTOR_SOFTWARE_SURFACE_CLASS));
52} 48}
53 49
54static void 50static void
diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
index 8678933..c0e08b5 100644
--- a/src/lib/edje/edje_callbacks.c
+++ b/src/lib/edje/edje_callbacks.c
@@ -460,28 +460,28 @@ EO_CALLBACKS_ARRAY_DEFINE(edje_focus_callbacks,
460void 460void
461_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp) 461_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
462{ 462{
463 eo_do(obj, eo_event_callback_array_add(edje_callbacks(), ed)); 463 eo_event_callback_array_add(obj, edje_callbacks(), ed);
464 evas_object_data_set(obj, "real_part", rp); 464 evas_object_data_set(obj, "real_part", rp);
465} 465}
466 466
467void 467void
468_edje_callbacks_del(Evas_Object *obj, Edje *ed) 468_edje_callbacks_del(Evas_Object *obj, Edje *ed)
469{ 469{
470 eo_do(obj, eo_event_callback_array_del(edje_callbacks(), ed)); 470 eo_event_callback_array_del(obj, edje_callbacks(), ed);
471 evas_object_data_del(obj, "real_part"); 471 evas_object_data_del(obj, "real_part");
472} 472}
473 473
474void 474void
475_edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp) 475_edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
476{ 476{
477 eo_do(obj, eo_event_callback_array_add(edje_focus_callbacks(), ed)); 477 eo_event_callback_array_add(obj, edje_focus_callbacks(), ed);
478 evas_object_data_set(obj, "real_part", rp); 478 evas_object_data_set(obj, "real_part", rp);
479} 479}
480 480
481void 481void
482_edje_callbacks_focus_del(Evas_Object *obj, Edje *ed) 482_edje_callbacks_focus_del(Evas_Object *obj, Edje *ed)
483{ 483{
484 eo_do(obj, eo_event_callback_array_del(edje_focus_callbacks(), ed)); 484 eo_event_callback_array_del(obj, edje_focus_callbacks(), ed);
485 evas_object_data_del(obj, "real_part"); 485 evas_object_data_del(obj, "real_part");
486} 486}
487 487
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 8bacc49..3934392 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -152,7 +152,7 @@ _edje_edit_evas_object_smart_del(Eo *obj, Edje_Edit *eed)
152{ 152{
153 _edje_edit_data_clean(eed); 153 _edje_edit_data_clean(eed);
154 154
155 eo_do_super(obj, MY_CLASS, evas_obj_smart_del()); 155 evas_obj_smart_del(eo_super(obj, MY_CLASS));
156} 156}
157 157
158static void 158static void
@@ -190,7 +190,7 @@ _edje_edit_efl_file_file_set(Eo *obj, Edje_Edit *eed, const char *file, const ch
190 * groups). 190 * groups).
191 */ 191 */
192 Eina_Bool int_ret = EINA_FALSE; 192 Eina_Bool int_ret = EINA_FALSE;
193 eo_do_super(obj, MY_CLASS, int_ret = efl_file_set(file, group)); 193 int_ret = efl_file_set(eo_super(obj, MY_CLASS), file, group);
194 if (!int_ret) 194 if (!int_ret)
195 return ret; 195 return ret;
196 196
@@ -240,13 +240,13 @@ _edje_edit_eo_base_constructor(Eo *obj, Edje_Edit *eed)
240{ 240{
241 eed->base = eo_data_ref(obj, EDJE_OBJECT_CLASS); 241 eed->base = eo_data_ref(obj, EDJE_OBJECT_CLASS);
242 242
243 return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 243 return eo_constructor(eo_super(obj, MY_CLASS));
244} 244}
245 245
246EOLIAN static void 246EOLIAN static void
247_edje_edit_eo_base_destructor(Eo *obj, Edje_Edit *class_data EINA_UNUSED) 247_edje_edit_eo_base_destructor(Eo *obj, Edje_Edit *class_data EINA_UNUSED)
248{ 248{
249 eo_do_super(obj, MY_CLASS, eo_destructor()); 249 eo_destructor(eo_super(obj, MY_CLASS));
250 eo_data_unref(obj, class_data); 250 eo_data_unref(obj, class_data);
251} 251}
252 252
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index be94d78..87bbbf0 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -793,35 +793,30 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
793 Evas_Canvas3D_Material *material = NULL; 793 Evas_Canvas3D_Material *material = NULL;
794 Edje_Part_Description_Mesh_Node *pd_mesh_node; 794 Edje_Part_Description_Mesh_Node *pd_mesh_node;
795 795
796 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, 796 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
797 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
798 797
799 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, ed->base->evas); 798 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, ed->base->evas);
800 eo_do(rp->node, evas_canvas3d_node_mesh_add(mesh)); 799 evas_canvas3d_node_mesh_add(rp->node, mesh);
801 800
802 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) rp->chosen_description; 801 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) rp->chosen_description;
803 802
804 if (pd_mesh_node->mesh_node.mesh.primitive == EVAS_CANVAS3D_MESH_PRIMITIVE_NONE) 803 if (pd_mesh_node->mesh_node.mesh.primitive == EVAS_CANVAS3D_MESH_PRIMITIVE_NONE)
805 { 804 {
806 eo_do(mesh, 805 efl_file_set(mesh, ed->file->model_dir->entries[pd_mesh_node->mesh_node.mesh.id].entry, NULL);
807 efl_file_set(ed->file->model_dir->entries[pd_mesh_node->mesh_node.mesh.id].entry, NULL));
808 } 806 }
809 else 807 else
810 { 808 {
811 eo_do(mesh, 809 evas_canvas3d_mesh_frame_add(mesh, 0);
812 evas_canvas3d_mesh_frame_add(0));
813 } 810 }
814 811
815 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, ed->base->evas); 812 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, ed->base->evas);
816 eo_do(mesh, 813 evas_canvas3d_mesh_frame_material_set(mesh, 0, material);
817 evas_canvas3d_mesh_frame_material_set(0, material));
818 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured) 814 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured)
819 { 815 {
820 Evas_Canvas3D_Texture *texture = NULL; 816 Evas_Canvas3D_Texture *texture = NULL;
821 817
822 texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, ed->base->evas); 818 texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, ed->base->evas);
823 eo_do(material, 819 evas_canvas3d_material_texture_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture);
824 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture));
825 } 820 }
826 rp->object = NULL; 821 rp->object = NULL;
827 } 822 }
@@ -831,10 +826,9 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
831 { 826 {
832 Evas_Canvas3D_Light *light = NULL; 827 Evas_Canvas3D_Light *light = NULL;
833 828
834 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, 829 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
835 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
836 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, ed->base->evas); 830 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, ed->base->evas);
837 eo_do(rp->node, evas_canvas3d_node_light_set(light)); 831 evas_canvas3d_node_light_set(rp->node, light);
838 832
839 rp->object = NULL; 833 rp->object = NULL;
840 break; 834 break;
@@ -844,10 +838,9 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
844 { 838 {
845 Evas_Canvas3D_Camera *camera = NULL; 839 Evas_Canvas3D_Camera *camera = NULL;
846 840
847 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, 841 rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
848 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
849 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, ed->base->evas); 842 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, ed->base->evas);
850 eo_do(rp->node, evas_canvas3d_node_camera_set(camera)); 843 evas_canvas3d_node_camera_set(rp->node, camera);
851 844
852 rp->object = evas_object_image_filled_add(ed->base->evas); 845 rp->object = evas_object_image_filled_add(ed->base->evas);
853 evas_object_resize(rp->object, ed->collection->scene_size.width, ed->collection->scene_size.height); 846 evas_object_resize(rp->object, ed->collection->scene_size.width, ed->collection->scene_size.height);
@@ -869,7 +862,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
869 } 862 }
870 863
871 if (ep->no_render) 864 if (ep->no_render)
872 eo_do(rp->object, evas_obj_no_render_set(1)); 865 evas_obj_no_render_set(rp->object, 1);
873 866
874 if (st_nested && st_nested->nested_children_count) /* Add this to list of children */ 867 if (st_nested && st_nested->nested_children_count) /* Add this to list of children */
875 { 868 {
@@ -922,9 +915,8 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
922 evas_object_pass_events_set(rp->object, 1); 915 evas_object_pass_events_set(rp->object, 1);
923 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB); 916 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
924 } 917 }
925 eo_do(rp->object, 918 evas_obj_anti_alias_set(rp->object, ep->anti_alias);
926 evas_obj_anti_alias_set(ep->anti_alias), 919 evas_obj_precise_is_inside_set(rp->object, ep->precise_is_inside);
927 evas_obj_precise_is_inside_set(ep->precise_is_inside));
928 } 920 }
929 if (rp->part->clip_to_id < 0) 921 if (rp->part->clip_to_id < 0)
930 evas_object_clip_set(rp->object, ed->base->clipper); 922 evas_object_clip_set(rp->object, ed->base->clipper);
@@ -1718,7 +1710,7 @@ _edje_file_del(Edje *ed)
1718 free(runp); 1710 free(runp);
1719 } 1711 }
1720 _edje_animators = eina_list_remove(_edje_animators, ed); 1712 _edje_animators = eina_list_remove(_edje_animators, ed);
1721 eo_do(ed->obj, eo_event_callback_del(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed)); 1713 eo_event_callback_del(ed->obj, EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed);
1722 ecore_animator_del(ed->animator); 1714 ecore_animator_del(ed->animator);
1723 ed->animator = NULL; 1715 ed->animator = NULL;
1724 1716
diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c
index 273f6aa8..df98157 100644
--- a/src/lib/edje/edje_multisense.c
+++ b/src/lib/edje/edje_multisense.c
@@ -202,18 +202,13 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, c
202 eet_data->vio.tell = eet_snd_file_tell; 202 eet_data->vio.tell = eet_snd_file_tell;
203 eet_data->offset = 0; 203 eet_data->offset = 0;
204 204
205 in = eo_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, 205 in = eo_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, ecore_audio_obj_name_set(eoid, snd_id_str), ecore_audio_obj_in_speed_set(eoid, speed), ecore_audio_obj_vio_set(eoid, &eet_data->vio, eet_data, _free), eo_event_callback_add(eoid, ECORE_AUDIO_IN_EVENT_IN_STOPPED, _play_finished, NULL));
206 ecore_audio_obj_name_set(snd_id_str),
207 ecore_audio_obj_in_speed_set(speed),
208 ecore_audio_obj_vio_set(&eet_data->vio, eet_data, _free),
209 eo_event_callback_add(ECORE_AUDIO_IN_EVENT_IN_STOPPED, _play_finished, NULL));
210 if (!out) 206 if (!out)
211 { 207 {
212#if HAVE_COREAUDIO 208#if HAVE_COREAUDIO
213 out = eo_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL); 209 out = eo_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL);
214#elif HAVE_PULSE 210#elif HAVE_PULSE
215 out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 211 out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, eo_event_callback_add(eoid, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, _out_fail, NULL));
216 eo_event_callback_add(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, _out_fail, NULL));
217#endif 212#endif
218 if (out) outs++; 213 if (out) outs++;
219 } 214 }
@@ -227,7 +222,7 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, c
227 eo_del(in); 222 eo_del(in);
228 return EINA_FALSE; 223 return EINA_FALSE;
229 } 224 }
230 eo_do(out, ret = ecore_audio_obj_out_input_attach(in)); 225 ret = ecore_audio_obj_out_input_attach(out, in);
231 if (!ret) 226 if (!ret)
232 { 227 {
233 ERR("Could not attach input"); 228 ERR("Could not attach input");
@@ -275,23 +270,22 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const
275 if (!strcmp(tone->name, tone_name)) 270 if (!strcmp(tone->name, tone_name))
276 { 271 {
277 in = eo_add(ECORE_AUDIO_IN_TONE_CLASS, NULL); 272 in = eo_add(ECORE_AUDIO_IN_TONE_CLASS, NULL);
278 eo_do(in, ecore_audio_obj_name_set("tone")); 273 ecore_audio_obj_name_set(in, "tone");