diff options
Diffstat (limited to '')
73 files changed, 262 insertions, 151 deletions
diff --git a/src/examples/eolian_cxx/colourable.c b/src/examples/eolian_cxx/colourable.c index 1c7ff5e445..655d63c5c2 100644 --- a/src/examples/eolian_cxx/colourable.c +++ b/src/examples/eolian_cxx/colourable.c | |||
@@ -26,7 +26,7 @@ struct _Colourable_Data | |||
26 | 26 | ||
27 | typedef struct _Colourable_Data Colourable_Data; | 27 | typedef struct _Colourable_Data Colourable_Data; |
28 | 28 | ||
29 | void | 29 | Eo * |
30 | _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED) | 30 | _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED) |
31 | { | 31 | { |
32 | if(!_colourable_impl_logdomain) | 32 | if(!_colourable_impl_logdomain) |
@@ -35,7 +35,7 @@ _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED) | |||
35 | = eina_log_domain_register("colourable", EINA_COLOR_BLUE); | 35 | = eina_log_domain_register("colourable", EINA_COLOR_BLUE); |
36 | } | 36 | } |
37 | DBG("_colourable_constructor(%p, %p)\n", obj, MY_CLASS); | 37 | DBG("_colourable_constructor(%p, %p)\n", obj, MY_CLASS); |
38 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 38 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
39 | } | 39 | } |
40 | 40 | ||
41 | void | 41 | void |
diff --git a/src/examples/eolian_cxx/colourable_cxx.cc b/src/examples/eolian_cxx/colourable_cxx.cc index bd4fa46d52..934a5d0c60 100644 --- a/src/examples/eolian_cxx/colourable_cxx.cc +++ b/src/examples/eolian_cxx/colourable_cxx.cc | |||
@@ -19,12 +19,12 @@ extern "C" | |||
19 | 19 | ||
20 | static efl::eina::log_domain domain("colourable"); | 20 | static efl::eina::log_domain domain("colourable"); |
21 | 21 | ||
22 | void | 22 | Eo * |
23 | _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self) | 23 | _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self) |
24 | { | 24 | { |
25 | EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl; | 25 | EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl; |
26 | self->r = self->g = self->b = 0; | 26 | self->r = self->g = self->b = 0; |
27 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 27 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
28 | } | 28 | } |
29 | 29 | ||
30 | void | 30 | void |
diff --git a/src/examples/eolian_cxx/colourable_stub.h b/src/examples/eolian_cxx/colourable_stub.h index f6d758c28f..26b44b1644 100644 --- a/src/examples/eolian_cxx/colourable_stub.h +++ b/src/examples/eolian_cxx/colourable_stub.h | |||
@@ -13,7 +13,7 @@ struct _Colourable_Data | |||
13 | }; | 13 | }; |
14 | typedef struct _Colourable_Data Colourable_Data; | 14 | typedef struct _Colourable_Data Colourable_Data; |
15 | 15 | ||
16 | void _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self); | 16 | Eo *_colourable_eo_base_constructor(Eo *obj, Colourable_Data *self); |
17 | void _colourable_eo_base_destructor(Eo *obj, Colourable_Data *self); | 17 | void _colourable_eo_base_destructor(Eo *obj, Colourable_Data *self); |
18 | void _colourable_rgb_24bits_constructor(Eo *obj, Colourable_Data *self, int rgb); | 18 | void _colourable_rgb_24bits_constructor(Eo *obj, Colourable_Data *self, int rgb); |
19 | void _colourable_print_colour(Eo *obj, Colourable_Data *self); | 19 | void _colourable_print_colour(Eo *obj, Colourable_Data *self); |
diff --git a/src/lib/ecore_audio/ecore_audio_obj.c b/src/lib/ecore_audio/ecore_audio_obj.c index 43fc821aaa..3607cd9fca 100644 --- a/src/lib/ecore_audio/ecore_audio_obj.c +++ b/src/lib/ecore_audio/ecore_audio_obj.c | |||
@@ -54,12 +54,11 @@ _ecore_audio_volume_get(Eo *eo_obj EINA_UNUSED, Ecore_Audio_Object *obj) | |||
54 | return obj->volume; | 54 | return obj->volume; |
55 | } | 55 | } |
56 | 56 | ||
57 | EOLIAN static void | 57 | 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 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | ||
61 | |||
62 | obj->volume = 1.0; | 60 | obj->volume = 1.0; |
61 | return eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); | ||
63 | } | 62 | } |
64 | 63 | ||
65 | #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 ece944059b..a6afa18781 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_in.c +++ b/src/lib/ecore_audio/ecore_audio_obj_in.c | |||
@@ -170,12 +170,14 @@ _ecore_audio_in_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_Input *obj, Ecore_Au | |||
170 | obj->seekable = (vio->seek != NULL); | 170 | obj->seekable = (vio->seek != NULL); |
171 | } | 171 | } |
172 | 172 | ||
173 | EOLIAN static void | 173 | EOLIAN 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_do_super(eo_obj, MY_CLASS, eo_constructor()); | 176 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
177 | 177 | ||
178 | obj->speed = 1.0; | 178 | obj->speed = 1.0; |
179 | |||
180 | return eo_obj; | ||
179 | } | 181 | } |
180 | 182 | ||
181 | EOLIAN static void | 183 | EOLIAN static void |
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 bdecc21860..ac83b85766 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_in_tone.c +++ b/src/lib/ecore_audio/ecore_audio_obj_in_tone.c | |||
@@ -107,12 +107,12 @@ _ecore_audio_in_tone_eo_base_key_data_get(Eo *eo_obj, Ecore_Audio_In_Tone_Data * | |||
107 | } | 107 | } |
108 | } | 108 | } |
109 | 109 | ||
110 | EOLIAN static void | 110 | EOLIAN static Eo * |
111 | _ecore_audio_in_tone_eo_base_constructor(Eo *eo_obj, Ecore_Audio_In_Tone_Data *obj) | 111 | _ecore_audio_in_tone_eo_base_constructor(Eo *eo_obj, Ecore_Audio_In_Tone_Data *obj) |
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_do_super(eo_obj, MY_CLASS, eo_constructor()); | 115 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
116 | 116 | ||
117 | in_obj->channels = 1; | 117 | in_obj->channels = 1; |
118 | in_obj->samplerate = 44100; | 118 | in_obj->samplerate = 44100; |
@@ -120,6 +120,8 @@ _ecore_audio_in_tone_eo_base_constructor(Eo *eo_obj, Ecore_Audio_In_Tone_Data *o | |||
120 | in_obj->seekable = EINA_TRUE; | 120 | in_obj->seekable = EINA_TRUE; |
121 | 121 | ||
122 | obj->freq = 1000; | 122 | obj->freq = 1000; |
123 | |||
124 | return eo_obj; | ||
123 | } | 125 | } |
124 | 126 | ||
125 | #include "ecore_audio_in_tone.eo.c" | 127 | #include "ecore_audio_in_tone.eo.c" |
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out.c b/src/lib/ecore_audio/ecore_audio_obj_out.c index 2d8522b58e..0414d668b5 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_out.c +++ b/src/lib/ecore_audio/ecore_audio_obj_out.c | |||
@@ -129,12 +129,14 @@ _ecore_audio_out_ecore_audio_vio_set(Eo *eo_obj, Ecore_Audio_Output *_pd EINA_UN | |||
129 | ea_obj->vio->free_func = free_func; | 129 | ea_obj->vio->free_func = free_func; |
130 | } | 130 | } |
131 | 131 | ||
132 | EOLIAN static void | 132 | EOLIAN 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_do_super(eo_obj, MY_CLASS, eo_constructor()); | 135 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
136 | 136 | ||
137 | obj->need_writer = EINA_TRUE; | 137 | obj->need_writer = EINA_TRUE; |
138 | |||
139 | return eo_obj; | ||
138 | } | 140 | } |
139 | 141 | ||
140 | EOLIAN static void | 142 | EOLIAN static void |
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 a7308ab7ef..fffe4c47d8 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c +++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c | |||
@@ -255,14 +255,14 @@ static void _state_job(void *data EINA_UNUSED) | |||
255 | class_vars.state_job = NULL; | 255 | class_vars.state_job = NULL; |
256 | } | 256 | } |
257 | 257 | ||
258 | EOLIAN static void | 258 | EOLIAN static Eo * |
259 | _ecore_audio_out_pulse_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Data *_pd EINA_UNUSED) | 259 | _ecore_audio_out_pulse_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Data *_pd EINA_UNUSED) |
260 | { | 260 | { |
261 | int argc; | 261 | int argc; |
262 | char **argv; | 262 | char **argv; |
263 | Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS); | 263 | Ecore_Audio_Output *out_obj = eo_data_scope_get(eo_obj, ECORE_AUDIO_OUT_CLASS); |
264 | 264 | ||
265 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 265 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
266 | 266 | ||
267 | out_obj->need_writer = EINA_FALSE; | 267 | out_obj->need_writer = EINA_FALSE; |
268 | 268 | ||
@@ -281,6 +281,8 @@ _ecore_audio_out_pulse_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Pulse_Dat | |||
281 | class_vars.outputs = eina_list_append(class_vars.outputs, eo_obj); | 281 | class_vars.outputs = eina_list_append(class_vars.outputs, eo_obj); |
282 | if (class_vars.state_job) eo_del(class_vars.state_job); | 282 | if (class_vars.state_job) eo_del(class_vars.state_job); |
283 | class_vars.state_job = ecore_job_add(_state_job, NULL); | 283 | class_vars.state_job = ecore_job_add(_state_job, NULL); |
284 | |||
285 | return eo_obj; | ||
284 | } | 286 | } |
285 | 287 | ||
286 | EOLIAN static void | 288 | EOLIAN static void |
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 fc552b8257..d986b67dbf 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c +++ b/src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c | |||
@@ -158,17 +158,18 @@ _ecore_audio_out_sndfile_ecore_audio_format_get(Eo *eo_obj, Ecore_Audio_Out_Sndf | |||
158 | return obj->format; | 158 | return obj->format; |
159 | } | 159 | } |
160 | 160 | ||
161 | EOLIAN static void | 161 | EOLIAN static Eo * |
162 | _ecore_audio_out_sndfile_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Sndfile_Data *_pd EINA_UNUSED) | 162 | _ecore_audio_out_sndfile_eo_base_constructor(Eo *eo_obj, Ecore_Audio_Out_Sndfile_Data *_pd EINA_UNUSED) |
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_do_super(eo_obj, MY_CLASS, eo_constructor()); | 166 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
167 | 167 | ||
168 | eo_do(eo_obj, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_OGG)); | 168 | eo_do(eo_obj, ecore_audio_obj_format_set(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; |
172 | return eo_obj; | ||
172 | } | 173 | } |
173 | 174 | ||
174 | EOLIAN static void | 175 | EOLIAN static void |
diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index dee26e1729..bc121d3965 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c | |||
@@ -372,15 +372,17 @@ ecore_con_server_add(Ecore_Con_Type compl_type, | |||
372 | return obj; | 372 | return obj; |
373 | } | 373 | } |
374 | 374 | ||
375 | EOLIAN static void | 375 | EOLIAN static Eo * |
376 | _ecore_con_server_eo_base_constructor(Ecore_Con_Server *obj, Ecore_Con_Server_Data *svr) | 376 | _ecore_con_server_eo_base_constructor(Ecore_Con_Server *obj, Ecore_Con_Server_Data *svr) |
377 | { | 377 | { |
378 | eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_constructor()); | 378 | obj = eo_do_super_ret(obj, ECORE_CON_SERVER_CLASS, obj, eo_constructor()); |
379 | 379 | ||
380 | svr->fd = -1; | 380 | svr->fd = -1; |
381 | svr->reject_excess_clients = EINA_FALSE; | 381 | svr->reject_excess_clients = EINA_FALSE; |
382 | svr->client_limit = -1; | 382 | svr->client_limit = -1; |
383 | svr->clients = NULL; | 383 | svr->clients = NULL; |
384 | |||
385 | return obj; | ||
384 | } | 386 | } |
385 | 387 | ||
386 | EOLIAN static Eo * | 388 | EOLIAN static Eo * |
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c index 37902edacd..37f5fa0b6c 100644 --- a/src/lib/ecore_con/ecore_con_url.c +++ b/src/lib/ecore_con/ecore_con_url.c | |||
@@ -453,25 +453,26 @@ ecore_con_url_new(const char *url) | |||
453 | return url_obj; | 453 | return url_obj; |
454 | } | 454 | } |
455 | 455 | ||
456 | EOLIAN static void | 456 | EOLIAN static Eo * |
457 | _efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED) | 457 | _efl_network_url_eo_base_constructor(Efl_Network_Url *url_obj, Efl_Network_Url_Data *url_con EINA_UNUSED) |
458 | { | 458 | { |
459 | eo_do_super(url_obj, MY_CLASS, eo_constructor()); | 459 | url_obj = eo_do_super_ret(url_obj, MY_CLASS, url_obj, eo_constructor()); |
460 | 460 | ||
461 | if (!_init_count) eo_error_set(url_obj); | 461 | if (!_init_count) eo_error_set(url_obj); |
462 | if (!_c_init()) | 462 | if (!_c_init()) |
463 | { | 463 | { |
464 | eo_error_set(url_obj); | 464 | eo_error_set(url_obj); |
465 | return; | 465 | return NULL; |
466 | } | 466 | } |
467 | 467 | ||
468 | url_con->curl_easy = _c->curl_easy_init(); | 468 | url_con->curl_easy = _c->curl_easy_init(); |
469 | if (!url_con->curl_easy) | 469 | if (!url_con->curl_easy) |
470 | { | 470 | { |
471 | eo_error_set(url_obj); | 471 | eo_error_set(url_obj); |
472 | return; | 472 | return NULL; |
473 | } | 473 | } |
474 | 474 | ||
475 | return url_obj; | ||
475 | } | 476 | } |
476 | 477 | ||
477 | EOLIAN static Eo * | 478 | EOLIAN static Eo * |
diff --git a/src/lib/ector/cairo/ector_cairo_surface.c b/src/lib/ector/cairo/ector_cairo_surface.c index 377fbbd0ca..10fef6560e 100644 --- a/src/lib/ector/cairo/ector_cairo_surface.c +++ b/src/lib/ector/cairo/ector_cairo_surface.c | |||
@@ -121,14 +121,16 @@ _ector_cairo_surface_ector_generic_surface_reference_point_set(Eo *obj EINA_UNUS | |||
121 | pd->current.y = y; | 121 | pd->current.y = y; |
122 | } | 122 | } |
123 | 123 | ||
124 | static void | 124 | static Eo * |
125 | _ector_cairo_surface_eo_base_constructor(Eo *obj, | 125 | _ector_cairo_surface_eo_base_constructor(Eo *obj, |
126 | Ector_Cairo_Surface_Data *pd) | 126 | Ector_Cairo_Surface_Data *pd) |
127 | { | 127 | { |
128 | eo_do_super(obj, ECTOR_CAIRO_SURFACE_CLASS, eo_constructor()); | 128 | obj = eo_do_super_ret(obj, ECTOR_CAIRO_SURFACE_CLASS, obj, eo_constructor()); |
129 | _cairo_count++; | 129 | _cairo_count++; |
130 | 130 | ||
131 | _ector_cairo_surface_context_set(obj, pd, NULL); | 131 | _ector_cairo_surface_context_set(obj, pd, NULL); |
132 | |||
133 | return obj; | ||
132 | } | 134 | } |
133 | 135 | ||
134 | static void | 136 | static void |
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_base.c b/src/lib/ector/cairo/ector_renderer_cairo_base.c index 1580b4e597..5bf0f88e58 100644 --- a/src/lib/ector/cairo/ector_renderer_cairo_base.c +++ b/src/lib/ector/cairo/ector_renderer_cairo_base.c | |||
@@ -190,16 +190,18 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_draw(Eo *obj, | |||
190 | return EINA_TRUE; | 190 | return EINA_TRUE; |
191 | } | 191 | } |
192 | 192 | ||
193 | static void | 193 | static Eo * |
194 | _ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED) | 194 | _ector_renderer_cairo_base_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Base_Data *pd EINA_UNUSED) |
195 | { | 195 | { |
196 | eo_do_super(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, eo_constructor()); | 196 | obj = eo_do_super_ret(obj, ECTOR_RENDERER_CAIRO_BASE_CLASS, obj, eo_constructor()); |
197 | 197 | ||
198 | pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); | 198 | pd->generic = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); |
199 | 199 | ||
200 | USE(obj, cairo_matrix_init_identity, ); | 200 | USE(obj, cairo_matrix_init_identity, NULL); |
201 | 201 | ||
202 | cairo_matrix_init_identity(&identity); | 202 | cairo_matrix_init_identity(&identity); |
203 | |||
204 | return obj; | ||
203 | } | 205 | } |
204 | 206 | ||
205 | static void | 207 | static void |
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_shape.c b/src/lib/ector/cairo/ector_renderer_cairo_shape.c index 2b79e8bb15..b3923e97e2 100644 --- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c +++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c | |||
@@ -244,15 +244,17 @@ _ector_renderer_cairo_shape_ector_renderer_generic_base_bounds_get(Eo *obj, | |||
244 | r->y += bd->generic->origin.y; | 244 | r->y += bd->generic->origin.y; |
245 | } | 245 | } |
246 | 246 | ||
247 | void | 247 | Eo * |
248 | _ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd) | 248 | _ector_renderer_cairo_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Cairo_Shape_Data *pd) |
249 | { | 249 | { |
250 | eo_do_super(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, eo_constructor()); | 250 | obj = eo_do_super_ret(obj, ECTOR_RENDERER_CAIRO_SHAPE_CLASS, obj, eo_constructor()); |
251 | pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); | 251 | pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); |
252 | pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); | 252 | pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); |
253 | 253 | ||
254 | eo_do(obj, | 254 | eo_do(obj, |
255 | eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd)); | 255 | eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_cairo_shape_path_changed, pd)); |
256 | |||
257 | return obj; | ||
256 | } | 258 | } |
257 | 259 | ||
258 | void | 260 | void |
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 a6e32b008b..f2ca832cdc 100644 --- a/src/lib/ector/software/ector_renderer_software_gradient_linear.c +++ b/src/lib/ector/software/ector_renderer_software_gradient_linear.c | |||
@@ -71,13 +71,15 @@ _ector_renderer_software_gradient_linear_ector_renderer_software_base_fill(Eo *o | |||
71 | return EINA_TRUE; | 71 | return EINA_TRUE; |
72 | } | 72 | } |
73 | 73 | ||
74 | void | 74 | Eo * |
75 | _ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj, | 75 | _ector_renderer_software_gradient_linear_eo_base_constructor(Eo *obj, |
76 | Ector_Renderer_Software_Gradient_Data *pd) | 76 | Ector_Renderer_Software_Gradient_Data *pd) |
77 | { | 77 | { |
78 | eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, eo_constructor()); | 78 | obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, obj, eo_constructor()); |
79 | pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); | 79 | pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); |
80 | pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN, obj); | 80 | pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN, obj); |
81 | |||
82 | return obj; | ||
81 | } | 83 | } |
82 | 84 | ||
83 | void | 85 | void |
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 a05b4874f4..5b63f957be 100644 --- a/src/lib/ector/software/ector_renderer_software_gradient_radial.c +++ b/src/lib/ector/software/ector_renderer_software_gradient_radial.c | |||
@@ -79,13 +79,15 @@ _ector_renderer_software_gradient_radial_ector_renderer_software_base_fill(Eo *o | |||
79 | return EINA_TRUE; | 79 | return EINA_TRUE; |
80 | } | 80 | } |
81 | 81 | ||
82 | void | 82 | Eo * |
83 | _ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj, | 83 | _ector_renderer_software_gradient_radial_eo_base_constructor(Eo *obj, |
84 | Ector_Renderer_Software_Gradient_Data *pd) | 84 | Ector_Renderer_Software_Gradient_Data *pd) |
85 | { | 85 | { |
86 | eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, eo_constructor()); | 86 | obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, obj, eo_constructor()); |
87 | pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); | 87 | pd->gd = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_MIXIN, obj); |
88 | pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj); | 88 | pd->gld = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN, obj); |
89 | |||
90 | return obj; | ||
89 | } | 91 | } |
90 | 92 | ||
91 | void | 93 | void |
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c b/src/lib/ector/software/ector_renderer_software_shape.c index 2e4fbea5aa..a91b80eb3b 100644 --- a/src/lib/ector/software/ector_renderer_software_shape.c +++ b/src/lib/ector/software/ector_renderer_software_shape.c | |||
@@ -362,14 +362,16 @@ _ector_renderer_software_shape_path_changed(void *data, Eo *obj EINA_UNUSED, con | |||
362 | return EINA_TRUE; | 362 | return EINA_TRUE; |
363 | } | 363 | } |
364 | 364 | ||
365 | void | 365 | Eo * |
366 | _ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd) | 366 | _ector_renderer_software_shape_eo_base_constructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd) |
367 | { | 367 | { |
368 | eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, eo_constructor()); | 368 | obj = eo_do_super_ret(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, obj, eo_constructor()); |
369 | pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); | 369 | pd->shape = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_SHAPE_MIXIN, obj); |
370 | pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); | 370 | pd->base = eo_data_xref(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, obj); |
371 | eo_do(obj, | 371 | eo_do(obj, |
372 | eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd)); | 372 | eo_event_callback_add(EFL_GFX_PATH_CHANGED, _ector_renderer_software_shape_path_changed, pd)); |
373 | |||
374 | return obj; | ||
373 | } | 375 | } |
374 | 376 | ||
375 | void | 377 | void |
diff --git a/src/lib/ector/software/ector_software_surface.c b/src/lib/ector/software/ector_software_surface.c index 02d93c39df..a5583028e6 100644 --- a/src/lib/ector/software/ector_software_surface.c +++ b/src/lib/ector/software/ector_software_surface.c | |||
@@ -65,17 +65,19 @@ _ector_software_surface_surface_get(Eo *obj EINA_UNUSED, | |||
65 | *height = pd->software->fill_data.raster_buffer.height; | 65 | *height = pd->software->fill_data.raster_buffer.height; |
66 | } | 66 | } |
67 | 67 | ||
68 | static void | 68 | static Eo * |
69 | _ector_software_surface_eo_base_constructor(Eo *obj, | 69 | _ector_software_surface_eo_base_constructor(Eo *obj, |
70 | Ector_Software_Surface_Data *pd EINA_UNUSED) | 70 | Ector_Software_Surface_Data *pd EINA_UNUSED) |
71 | { | 71 | { |
72 | eo_do_super(obj, ECTOR_SOFTWARE_SURFACE_CLASS, eo_constructor()); | 72 | obj = eo_do_super_ret(obj, ECTOR_SOFTWARE_SURFACE_CLASS, obj, eo_constructor()); |
73 | if(_software_count == 0) | 73 | if(_software_count == 0) |
74 | { | 74 | { |
75 | pd->software = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer)); | 75 | pd->software = (Software_Rasterizer *) calloc(1, sizeof(Software_Rasterizer)); |
76 | ector_software_rasterizer_init(pd->software); | 76 | ector_software_rasterizer_init(pd->software); |
77 | } | 77 | } |
78 | _software_count++; | 78 | _software_count++; |
79 | |||
80 | return obj; | ||
79 | } | 81 | } |
80 | 82 | ||
81 | static void | 83 | static void |
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 1086d64f5f..891584ed78 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c | |||
@@ -239,12 +239,12 @@ edje_edit_object_add(Evas *evas) | |||
239 | return e; | 239 | return e; |
240 | } | 240 | } |
241 | 241 | ||
242 | EOLIAN static void | 242 | EOLIAN static Eo * |
243 | _edje_edit_eo_base_constructor(Eo *obj, Edje_Edit *eed) | 243 | _edje_edit_eo_base_constructor(Eo *obj, Edje_Edit *eed) |
244 | { | 244 | { |
245 | eed->base = eo_data_ref(obj, EDJE_OBJECT_CLASS); | 245 | eed->base = eo_data_ref(obj, EDJE_OBJECT_CLASS); |
246 | 246 | ||
247 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 247 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
248 | } | 248 | } |
249 | 249 | ||
250 | EOLIAN static void | 250 | EOLIAN static void |
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c index 7de630d70b..f75abd7873 100644 --- a/src/lib/edje/edje_smart.c +++ b/src/lib/edje/edje_smart.c | |||
@@ -24,14 +24,16 @@ edje_object_add(Evas *evas) | |||
24 | return e; | 24 | return e; |
25 | } | 25 | } |
26 | 26 | ||
27 | EOLIAN static void | 27 | EOLIAN static Eo * |
28 | _edje_object_eo_base_constructor(Eo *obj, Edje *ed) | 28 | _edje_object_eo_base_constructor(Eo *obj, Edje *ed) |
29 | { | 29 | { |
30 | ed->base = eo_data_ref(obj, EVAS_SMART_CLIPPED_CLASS); | 30 | ed->base = eo_data_ref(obj, EVAS_SMART_CLIPPED_CLASS); |
31 | 31 | ||
32 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 32 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
33 | eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY)); | 33 | eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY)); |
34 | _edje_lib_ref(); | 34 | _edje_lib_ref(); |
35 | |||
36 | return obj; | ||
35 | } | 37 | } |
36 | 38 | ||
37 | EOLIAN static void | 39 | EOLIAN static void |
diff --git a/src/lib/eio/eio_model.c b/src/lib/eio/eio_model.c index 384a8e4200..5ff288ea0b 100644 --- a/src/lib/eio/eio_model.c +++ b/src/lib/eio/eio_model.c | |||
@@ -623,15 +623,15 @@ _eio_model_efl_model_base_children_slice_get(Eo *obj EINA_UNUSED, Eio_Model_Data | |||
623 | /** | 623 | /** |
624 | * Class definitions | 624 | * Class definitions |
625 | */ | 625 | */ |
626 | static void | 626 | static Eo * |
627 | _eio_model_eo_base_constructor(Eo *obj, Eio_Model_Data *priv) | 627 | _eio_model_eo_base_constructor(Eo *obj, Eio_Model_Data *priv) |
628 | { | 628 | { |
629 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 629 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
630 | unsigned int i; | 630 | unsigned int i; |
631 | priv->obj = obj; | 631 | priv->obj = obj; |
632 | 632 | ||
633 | priv->properties_name = eina_array_new(EIO_MODEL_PROP_LAST); | 633 | priv->properties_name = eina_array_new(EIO_MODEL_PROP_LAST); |
634 | EINA_SAFETY_ON_NULL_RETURN(priv->properties_name); | 634 | EINA_SAFETY_ON_NULL_RETURN_VAL(priv->properties_name, NULL); |
635 | for (i = 0; i < EIO_MODEL_PROP_LAST; ++i) | 635 | for (i = 0; i < EIO_MODEL_PROP_LAST; ++i) |
636 | eina_array_push(priv->properties_name, _eio_model_prop_names[i]); | 636 | eina_array_push(priv->properties_name, _eio_model_prop_names[i]); |
637 | 637 | ||
@@ -645,6 +645,8 @@ _eio_model_eo_base_constructor(Eo *obj, Eio_Model_Data *priv) | |||
645 | priv->load.status = EFL_MODEL_LOAD_STATUS_UNLOADED; | 645 | priv->load.status = EFL_MODEL_LOAD_STATUS_UNLOADED; |
646 | priv->monitor = NULL; | 646 | priv->monitor = NULL; |
647 | eina_spinlock_new(&priv->filter_lock); | 647 | eina_spinlock_new(&priv->filter_lock); |
648 | |||
649 | return obj; | ||
648 | } | 650 | } |
649 | 651 | ||
650 | static void | 652 | static void |
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c index 8cf589903d..fbbbb49170 100644 --- a/src/lib/emotion/emotion_smart.c +++ b/src/lib/emotion/emotion_smart.c | |||
@@ -263,11 +263,13 @@ emotion_object_add(Evas *evas) | |||
263 | return e; | 263 | return e; |
264 | } | 264 | } |
265 | 265 | ||
266 | EOLIAN static void | 266 | EOLIAN static Eo * |
267 | _emotion_object_eo_base_constructor(Eo *obj, Emotion_Object_Data *pd EINA_UNUSED) | 267 | _emotion_object_eo_base_constructor(Eo *obj, Emotion_Object_Data *pd EINA_UNUSED) |
268 | { | 268 | { |
269 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 269 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
270 | eo_do(obj, evas_obj_type_set(E_OBJ_NAME)); | 270 | eo_do(obj, evas_obj_type_set(E_OBJ_NAME)); |
271 | |||
272 | return obj; | ||
271 | } | 273 | } |
272 | 274 | ||
273 | EAPI Evas_Object * | 275 | EAPI Evas_Object * |
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h index 8a271f967b..bc83ddbddd 100644 --- a/src/lib/eo/Eo.h +++ b/src/lib/eo/Eo.h | |||
@@ -639,8 +639,8 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line); | |||
639 | #define _eo_add_common(klass, parent, is_ref, ...) \ | 639 | #define _eo_add_common(klass, parent, is_ref, ...) \ |
640 | ( \ | 640 | ( \ |
641 | _eo_do_start(_eo_add_internal_start(__FILE__, __LINE__, klass, parent, is_ref), \ | 641 | _eo_do_start(_eo_add_internal_start(__FILE__, __LINE__, klass, parent, is_ref), \ |
642 | klass, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__), \ | 642 | klass, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__) \ |
643 | eo_constructor(), ##__VA_ARGS__, \ | 643 | , ##__VA_ARGS__, \ |
644 | (Eo *) _eo_add_end() \ | 644 | (Eo *) _eo_add_end() \ |
645 | ) | 645 | ) |
646 | 646 | ||
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 0edac2140d..d5e1d3adb7 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c | |||
@@ -920,6 +920,18 @@ _eo_add_internal_start(const char *file, int line, const Eo_Class *klass_id, Eo | |||
920 | } | 920 | } |
921 | } | 921 | } |
922 | 922 | ||
923 | /* eo_id can change here. Freeing is done on the resolved object. */ | ||
924 | eo_do(eo_id, eo_id = eo_constructor()); | ||
925 | if (!eo_id) | ||
926 | { | ||
927 | ERR("Object of class '%s' - Error while constructing object", | ||
928 | klass->desc->name); | ||
929 | /* Unref twice, once for the ref in _eo_add_internal_start, and once for the basic object ref. */ | ||
930 | _eo_unref(obj); | ||
931 | _eo_unref(obj); | ||
932 | return NULL; | ||
933 | } | ||
934 | |||
923 | return eo_id; | 935 | return eo_id; |
924 | } | 936 | } |
925 | 937 | ||
diff --git a/src/lib/eo/eo_base.eo b/src/lib/eo/eo_base.eo index e4bd0e8bc7..5c7123c4e5 100644 --- a/src/lib/eo/eo_base.eo +++ b/src/lib/eo/eo_base.eo | |||
@@ -45,6 +45,7 @@ Return event freeze count. */ | |||
45 | constructor { | 45 | constructor { |
46 | /*@ Call the object's constructor. | 46 | /*@ Call the object's constructor. |
47 | Should not be used with #eo_do. Only use it with #eo_do_super. */ | 47 | Should not be used with #eo_do. Only use it with #eo_do_super. */ |
48 | return: Eo *; /*@ The new object created, can be NULL if aborting */ | ||
48 | } | 49 | } |
49 | destructor { | 50 | destructor { |
50 | /*@ Call the object's destructor. | 51 | /*@ Call the object's destructor. |
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index a84dcf005e..a263c1ec64 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c | |||
@@ -967,12 +967,14 @@ EAPI const Eina_Value_Type *EO_DBG_INFO_TYPE = &_EO_DBG_INFO_TYPE; | |||
967 | /* EO_BASE_CLASS stuff */ | 967 | /* EO_BASE_CLASS stuff */ |
968 | #define MY_CLASS EO_BASE_CLASS | 968 | #define MY_CLASS EO_BASE_CLASS |
969 | 969 | ||
970 | EOLIAN static void | 970 | EOLIAN static Eo * |
971 | _eo_base_constructor(Eo *obj, Eo_Base_Data *pd EINA_UNUSED) | 971 | _eo_base_constructor(Eo *obj, Eo_Base_Data *pd EINA_UNUSED) |
972 | { | 972 | { |
973 | DBG("%p - %s.", obj, eo_class_name_get(MY_CLASS)); | 973 | DBG("%p - %s.", obj, eo_class_name_get(MY_CLASS)); |
974 | 974 | ||
975 | _eo_condtor_done(obj); | 975 | _eo_condtor_done(obj); |
976 | |||
977 | return obj; | ||
976 | } | 978 | } |
977 | 979 | ||
978 | EOLIAN static void | 980 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_camera.c b/src/lib/evas/canvas/evas_3d_camera.c index 7a9c8a5a25..8467f8e0b0 100644 --- a/src/lib/evas/canvas/evas_3d_camera.c +++ b/src/lib/evas/canvas/evas_3d_camera.c | |||
@@ -62,12 +62,14 @@ evas_3d_camera_node_del(Evas_3D_Camera *camera, Evas_3D_Node *node) | |||
62 | else eina_hash_set(pd->nodes, &node, (const void *)(uintptr_t)(count - 1)); | 62 | else eina_hash_set(pd->nodes, &node, (const void *)(uintptr_t)(count - 1)); |
63 | } | 63 | } |
64 | 64 | ||
65 | EOLIAN static void | 65 | EOLIAN static Eo * |
66 | _evas_3d_camera_eo_base_constructor(Eo *obj, | 66 | _evas_3d_camera_eo_base_constructor(Eo *obj, |
67 | Evas_3D_Camera_Data *pd EINA_UNUSED) | 67 | Evas_3D_Camera_Data *pd EINA_UNUSED) |
68 | { | 68 | { |
69 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 69 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
70 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_CAMERA)); | 70 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_CAMERA)); |
71 | |||
72 | return obj; | ||
71 | } | 73 | } |
72 | 74 | ||
73 | EOLIAN static void | 75 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_light.c b/src/lib/evas/canvas/evas_3d_light.c index d8c73b66e4..455ded65e9 100644 --- a/src/lib/evas/canvas/evas_3d_light.c +++ b/src/lib/evas/canvas/evas_3d_light.c | |||
@@ -76,10 +76,10 @@ evas_3d_light_add(Evas *e) | |||
76 | return eo_obj; | 76 | return eo_obj; |
77 | } | 77 | } |
78 | 78 | ||
79 | EOLIAN static void | 79 | EOLIAN static Eo * |
80 | _evas_3d_light_eo_base_constructor(Eo *obj, Evas_3D_Light_Data *pd) | 80 | _evas_3d_light_eo_base_constructor(Eo *obj, Evas_3D_Light_Data *pd) |
81 | { | 81 | { |
82 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 82 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
83 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_LIGHT)); | 83 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_LIGHT)); |
84 | evas_color_set(&pd->ambient, 0.0, 0.0, 0.0, 1.0); | 84 | evas_color_set(&pd->ambient, 0.0, 0.0, 0.0, 1.0); |
85 | evas_color_set(&pd->diffuse, 1.0, 1.0, 1.0, 1.0); | 85 | evas_color_set(&pd->diffuse, 1.0, 1.0, 1.0, 1.0); |
@@ -92,6 +92,8 @@ _evas_3d_light_eo_base_constructor(Eo *obj, Evas_3D_Light_Data *pd) | |||
92 | pd->atten_const = 1.0; | 92 | pd->atten_const = 1.0; |
93 | pd->atten_linear = 0.0; | 93 | pd->atten_linear = 0.0; |
94 | pd->atten_quad = 0.0; | 94 | pd->atten_quad = 0.0; |
95 | |||
96 | return obj; | ||
95 | } | 97 | } |
96 | 98 | ||
97 | EOLIAN static void | 99 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_material.c b/src/lib/evas/canvas/evas_3d_material.c index aee8c85c9a..5d609cab24 100644 --- a/src/lib/evas/canvas/evas_3d_material.c +++ b/src/lib/evas/canvas/evas_3d_material.c | |||
@@ -88,10 +88,10 @@ evas_3d_material_add(Evas *e) | |||
88 | return eo_obj; | 88 | return eo_obj; |
89 | } | 89 | } |
90 | 90 | ||
91 | EOLIAN static void | 91 | EOLIAN static Eo * |
92 | _evas_3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd) | 92 | _evas_3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd) |
93 | { | 93 | { |
94 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 94 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
95 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_MATERIAL)); | 95 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_MATERIAL)); |
96 | 96 | ||
97 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_AMBIENT].color, 0.2, 0.2, 0.2, 1.0); | 97 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_AMBIENT].color, 0.2, 0.2, 0.2, 1.0); |
@@ -99,6 +99,8 @@ _evas_3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_3D_Material_Data | |||
99 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_SPECULAR].color, 1.0, 1.0, 1.0, 1.0); | 99 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_SPECULAR].color, 1.0, 1.0, 1.0, 1.0); |
100 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_EMISSION].color, 0.0, 0.0, 0.0, 1.0); | 100 | evas_color_set(&pd->attribs[EVAS_3D_MATERIAL_EMISSION].color, 0.0, 0.0, 0.0, 1.0); |
101 | pd->shininess = 150.0; | 101 | pd->shininess = 150.0; |
102 | |||
103 | return obj; | ||
102 | } | 104 | } |
103 | 105 | ||
104 | EOLIAN static void | 106 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_mesh.c b/src/lib/evas/canvas/evas_3d_mesh.c index df9d135aa4..1b8cc14eb9 100644 --- a/src/lib/evas/canvas/evas_3d_mesh.c +++ b/src/lib/evas/canvas/evas_3d_mesh.c | |||
@@ -252,12 +252,14 @@ evas_3d_mesh_add(Evas *e) | |||
252 | return eo_obj; | 252 | return eo_obj; |
253 | } | 253 | } |
254 | 254 | ||
255 | EOLIAN static void | 255 | EOLIAN static Eo * |
256 | _evas_3d_mesh_eo_base_constructor(Eo *obj, Evas_3D_Mesh_Data *pd) | 256 | _evas_3d_mesh_eo_base_constructor(Eo *obj, Evas_3D_Mesh_Data *pd) |
257 | { | 257 | { |
258 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 258 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
259 | eo_do (obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_MESH)); | 259 | eo_do (obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_MESH)); |
260 | _mesh_init(pd); | 260 | _mesh_init(pd); |
261 | |||
262 | return obj; | ||
261 | } | 263 | } |
262 | 264 | ||
263 | EOLIAN static void | 265 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_object.c b/src/lib/evas/canvas/evas_3d_object.c index 6cd2cb4621..5776fde511 100644 --- a/src/lib/evas/canvas/evas_3d_object.c +++ b/src/lib/evas/canvas/evas_3d_object.c | |||
@@ -3,15 +3,17 @@ | |||
3 | 3 | ||
4 | #define MY_CLASS EVAS_3D_OBJECT_CLASS | 4 | #define MY_CLASS EVAS_3D_OBJECT_CLASS |
5 | 5 | ||
6 | EOLIAN static void | 6 | EOLIAN static Eo * |
7 | _evas_3d_object_eo_base_constructor(Eo *obj, Evas_3D_Object_Data *pd) | 7 | _evas_3d_object_eo_base_constructor(Eo *obj, Evas_3D_Object_Data *pd) |
8 | { | 8 | { |
9 | Eo *e = NULL; | 9 | Eo *e = NULL; |
10 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 10 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
11 | eo_do(obj, e = eo_parent_get()); | 11 | eo_do(obj, e = eo_parent_get()); |
12 | pd->evas = e; | 12 | pd->evas = e; |
13 | pd->type = EVAS_3D_OBJECT_TYPE_INVALID; | 13 | pd->type = EVAS_3D_OBJECT_TYPE_INVALID; |
14 | memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_3D_STATE_MAX); | 14 | memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_3D_STATE_MAX); |
15 | |||
16 | return obj; | ||
15 | } | 17 | } |
16 | 18 | ||
17 | EOLIAN static Evas * | 19 | EOLIAN static Evas * |
diff --git a/src/lib/evas/canvas/evas_3d_scene.c b/src/lib/evas/canvas/evas_3d_scene.c index 0bc0fb3b63..2b33c8a8f0 100644 --- a/src/lib/evas/canvas/evas_3d_scene.c +++ b/src/lib/evas/canvas/evas_3d_scene.c | |||
@@ -64,16 +64,18 @@ evas_3d_scene_add(Evas *e) | |||
64 | return eo_obj; | 64 | return eo_obj; |
65 | } | 65 | } |
66 | 66 | ||
67 | EOLIAN static void | 67 | EOLIAN static Eo * |
68 | _evas_3d_scene_eo_base_constructor(Eo *obj, Evas_3D_Scene_Data *pd) | 68 | _evas_3d_scene_eo_base_constructor(Eo *obj, Evas_3D_Scene_Data *pd) |
69 | { | 69 | { |
70 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 70 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
71 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_SCENE)); | 71 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_SCENE)); |
72 | evas_color_set(&pd->bg_color, 0.0, 0.0, 0.0, 0.0); | 72 | evas_color_set(&pd->bg_color, 0.0, 0.0, 0.0, 0.0); |
73 | pd->shadows_enabled = EINA_FALSE; | 73 | pd->shadows_enabled = EINA_FALSE; |
74 | pd->color_pick_enabled = EINA_FALSE; | 74 | pd->color_pick_enabled = EINA_FALSE; |
75 | pd->node_mesh_colors = NULL; | 75 | pd->node_mesh_colors = NULL; |
76 | pd->colors_node_mesh = NULL; | 76 | pd->colors_node_mesh = NULL; |
77 | |||
78 | return obj; | ||
77 | } | 79 | } |
78 | 80 | ||
79 | EOLIAN static void | 81 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_3d_texture.c b/src/lib/evas/canvas/evas_3d_texture.c index 8b68d818d6..c221b431d0 100644 --- a/src/lib/evas/canvas/evas_3d_texture.c +++ b/src/lib/evas/canvas/evas_3d_texture.c | |||
@@ -319,13 +319,15 @@ evas_3d_texture_add(Evas *e) | |||
319 | } | 319 | } |
320 | 320 | ||
321 | 321 | ||
322 | EOLIAN static void | 322 | EOLIAN static Eo * |
323 | _evas_3d_texture_eo_base_constructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUSED) | 323 | _evas_3d_texture_eo_base_constructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUSED) |
324 | { | 324 | { |
325 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 325 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
326 | pd->atlas_enable = EINA_TRUE; | 326 | pd->atlas_enable = EINA_TRUE; |
327 | 327 | ||
328 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_TEXTURE)); | 328 | eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_TEXTURE)); |
329 | |||
330 | return obj; | ||
329 | } | 331 | } |
330 | 332 | ||
331 | EOLIAN static void | 333 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index b14194d3be..1935d40756 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c | |||
@@ -148,10 +148,10 @@ evas_new(void) | |||
148 | return eo_obj; | 148 | return eo_obj; |
149 | } | 149 | } |
150 | 150 | ||
151 | EOLIAN static void | 151 | EOLIAN static Eo * |
152 | _evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e) | 152 | _evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e) |
153 | { | 153 | { |
154 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 154 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
155 | 155 | ||
156 | e->evas = eo_obj; | 156 | e->evas = eo_obj; |
157 | e->output.render_method = RENDER_METHOD_INVALID; | 157 | e->output.render_method = RENDER_METHOD_INVALID; |
@@ -185,6 +185,8 @@ _evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e) | |||
185 | 185 | ||
186 | #undef EVAS_ARRAY_SET | 186 | #undef EVAS_ARRAY_SET |
187 | eina_lock_new(&(e->lock_objects)); | 187 | eina_lock_new(&(e->lock_objects)); |
188 | |||
189 | return eo_obj; | ||
188 | } | 190 | } |
189 | 191 | ||
190 | EAPI void | 192 | EAPI void |
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c index 1c42728745..eda1bcd9c1 100644 --- a/src/lib/evas/canvas/evas_object_box.c +++ b/src/lib/evas/canvas/evas_object_box.c | |||
@@ -462,13 +462,15 @@ evas_object_box_add(Evas *evas) | |||
462 | return obj; | 462 | return obj; |
463 | } | 463 | } |
464 | 464 | ||
465 | EOLIAN static void | 465 | EOLIAN static Eo * |
466 | _evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED) | 466 | _evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED) |
467 | { | 467 | { |
468 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 468 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
469 | eo_do(obj, | 469 | eo_do(obj, |
470 | evas_obj_smart_callbacks_descriptions_set(_signals), | 470 | evas_obj_smart_callbacks_descriptions_set(_signals), |
471 | evas_obj_type_set(MY_CLASS_NAME_LEGACY)); | 471 | evas_obj_type_set(MY_CLASS_NAME_LEGACY)); |
472 | |||
473 | return obj; | ||
472 | } | 474 | } |
473 | 475 | ||
474 | EOLIAN static Evas_Object* | 476 | EOLIAN static Evas_Object* |
diff --git a/src/lib/evas/canvas/evas_object_grid.c b/src/lib/evas/canvas/evas_object_grid.c index a55584e0ae..7d5e6d2af7 100644 --- a/src/lib/evas/canvas/evas_object_grid.c +++ b/src/lib/evas/canvas/evas_object_grid.c | |||
@@ -269,12 +269,13 @@ evas_object_grid_add(Evas *evas) | |||
269 | return obj; | 269 | return obj; |
270 | } | 270 | } |
271 | 271 | ||
272 | EOLIAN static void | 272 | EOLIAN static Eo * |
273 | _evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED) | 273 | _evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED) |
274 | { | 274 | { |
275 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 275 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
276 | eo_do(obj, evas_obj_smart_attach(_evas_object_grid_smart_class_new())); | 276 | eo_do(obj, evas_obj_smart_attach(_evas_object_grid_smart_class_new())); |
277 | 277 | ||
278 | return obj; | ||
278 | // return evas_object_smart_add(evas, _evas_object_grid_smart_class_new()); | 279 | // return evas_object_smart_add(evas, _evas_object_grid_smart_class_new()); |
279 | } | 280 | } |
280 | 281 | ||
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index cabeebbb0c..5e59dbb835 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c | |||
@@ -342,7 +342,7 @@ _init_cow(Eo *eo_obj) | |||
342 | return EINA_TRUE; | 342 | return EINA_TRUE; |
343 | } | 343 | } |
344 | 344 | ||
345 | EOLIAN static void | 345 | EOLIAN static Eo * |
346 | _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o) | 346 | _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o) |
347 | { | 347 | { |
348 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 348 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
@@ -350,7 +350,7 @@ _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o) | |||
350 | Eo *parent = NULL; | 350 | Eo *parent = NULL; |
351 | Evas_Colorspace cspace; | 351 | Evas_Colorspace cspace; |
352 | 352 | ||
353 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 353 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
354 | 354 | ||
355 | eo_do(eo_obj, parent = eo_parent_get()); | 355 | eo_do(eo_obj, parent = eo_parent_get()); |
356 | eo_e = evas_object_evas_get(parent); | 356 | eo_e = evas_object_evas_get(parent); |
@@ -359,7 +359,7 @@ _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o) | |||
359 | evas_object_inject(eo_obj, obj, eo_e); | 359 | evas_object_inject(eo_obj, obj, eo_e); |
360 | 360 | ||
361 | if (!_init_cow(eo_obj)) | 361 | if (!_init_cow(eo_obj)) |
362 | return; | 362 | return NULL; |
363 | 363 | ||
364 | o->load_opts = eina_cow_alloc(evas_object_image_load_opts_cow); | 364 | o->load_opts = eina_cow_alloc(evas_object_image_load_opts_cow); |
365 | o->pixels = eina_cow_alloc(evas_object_image_pixels_cow); | 365 | o->pixels = eina_cow_alloc(evas_object_image_pixels_cow); |
@@ -377,6 +377,8 @@ _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o) | |||
377 | state_write->filter = eina_cow_alloc(evas_object_filter_cow); | 377 | state_write->filter = eina_cow_alloc(evas_object_filter_cow); |
378 | EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); | 378 | EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); |
379 | } | 379 | } |
380 | |||
381 | return eo_obj; | ||
380 | } | 382 | } |
381 | 383 | ||
382 | EAPI Evas_Object * | 384 | EAPI Evas_Object * |
diff --git a/src/lib/evas/canvas/evas_object_line.c b/src/lib/evas/canvas/evas_object_line.c index 8090c611de..df9570af22 100644 --- a/src/lib/evas/canvas/evas_object_line.c +++ b/src/lib/evas/canvas/evas_object_line.c | |||
@@ -214,14 +214,14 @@ evas_object_line_init(Evas_Object *eo_obj) | |||
214 | obj->type = o_type; | 214 | obj->type = o_type; |
215 | } | 215 | } |
216 | 216 | ||
217 | EOLIAN static void | 217 | EOLIAN static Eo * |
218 | _evas_line_eo_base_constructor(Eo *eo_obj, Evas_Line_Data *class_data EINA_UNUSED) | 218 | _evas_line_eo_base_constructor(Eo *eo_obj, Evas_Line_Data *class_data EINA_UNUSED) |
219 | { | 219 | { |
220 | Evas_Object_Protected_Data *obj; | 220 | Evas_Object_Protected_Data *obj; |
221 | Evas_Line_Data *o; | 221 | Evas_Line_Data *o; |
222 | Eo *parent = NULL; | 222 | Eo *parent = NULL; |
223 | 223 | ||
224 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 224 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
225 | 225 | ||
226 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 226 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
227 | evas_object_line_init(eo_obj); | 227 | evas_object_line_init(eo_obj); |
@@ -235,6 +235,8 @@ _evas_line_eo_base_constructor(Eo *eo_obj, Evas_Line_Data *class_data EINA_UNUSE | |||
235 | o->cur.x2 = 31; | 235 | o->cur.x2 = 31; |
236 | o->cur.y2 = 31; | 236 | o->cur.y2 = 31; |
237 | o->prev = o->cur; | 237 | o->prev = o->cur; |
238 | |||
239 | return eo_obj; | ||
238 | } | 240 | } |
239 | 241 | ||
240 | static void | 242 | static void |
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 5f0db505d5..c77db68300 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c | |||
@@ -82,12 +82,12 @@ _init_cow(void) | |||
82 | return EINA_TRUE; | 82 | return EINA_TRUE; |
83 | } | 83 | } |
84 | 84 | ||
85 | EOLIAN static void | 85 | EOLIAN static Eo * |
86 | _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj) | 86 | _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj) |
87 | { | 87 | { |
88 | Eo *parent = NULL; | 88 | Eo *parent = NULL; |
89 | 89 | ||
90 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 90 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
91 | eo_do(eo_obj, evas_obj_type_set(MY_CLASS_NAME)); | 91 | eo_do(eo_obj, evas_obj_type_set(MY_CLASS_NAME)); |
92 | eo_manual_free_set(eo_obj, EINA_TRUE); | 92 | eo_manual_free_set(eo_obj, EINA_TRUE); |
93 | 93 | ||
@@ -96,7 +96,7 @@ _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj) | |||
96 | if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE)) | 96 | if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE)) |
97 | { | 97 | { |
98 | eo_error_set(eo_obj); | 98 | eo_error_set(eo_obj); |
99 | return; | 99 | return NULL; |
100 | } | 100 | } |
101 | 101 | ||
102 | obj->is_frame = EINA_FALSE; | 102 | obj->is_frame = EINA_FALSE; |
@@ -107,6 +107,8 @@ _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj) | |||
107 | obj->prev = eina_cow_alloc(evas_object_state_cow); | 107 | obj->prev = eina_cow_alloc(evas_object_state_cow); |
108 | obj->data_3d = eina_cow_alloc(evas_object_3d_cow); | 108 | obj->data_3d = eina_cow_alloc(evas_object_3d_cow); |
109 | obj->mask = eina_cow_alloc(evas_object_mask_cow); | 109 | obj->mask = eina_cow_alloc(evas_object_mask_cow); |
110 | |||
111 | return eo_obj; | ||
110 | } | 112 | } |
111 | 113 | ||
112 | void | 114 | void |
diff --git a/src/lib/evas/canvas/evas_object_polygon.c b/src/lib/evas/canvas/evas_object_polygon.c index 4e5ed04836..4e5c6361f1 100644 --- a/src/lib/evas/canvas/evas_object_polygon.c +++ b/src/lib/evas/canvas/evas_object_polygon.c | |||
@@ -101,18 +101,20 @@ evas_object_polygon_add(Evas *e) | |||
101 | return eo_obj; | 101 | return eo_obj; |
102 | } | 102 | } |
103 | 103 | ||
104 | EOLIAN static void | 104 | EOLIAN static Eo * |
105 | _evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED) | 105 | _evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED) |
106 | { | 106 | { |
107 | Evas_Object_Protected_Data *obj; | 107 | Evas_Object_Protected_Data *obj; |
108 | Eo *parent = NULL; | 108 | Eo *parent = NULL; |
109 | 109 | ||
110 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 110 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
111 | 111 | ||
112 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 112 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
113 | evas_object_polygon_init(eo_obj); | 113 | evas_object_polygon_init(eo_obj); |
114 | eo_do(eo_obj, parent = eo_parent_get()); | 114 | eo_do(eo_obj, parent = eo_parent_get()); |
115 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); | 115 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); |
116 | |||
117 | return eo_obj; | ||
116 | } | 118 | } |
117 | 119 | ||
118 | EOLIAN static void | 120 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c index 9454a3dcac..cdee4ad1eb 100644 --- a/src/lib/evas/canvas/evas_object_rectangle.c +++ b/src/lib/evas/canvas/evas_object_rectangle.c | |||
@@ -89,18 +89,20 @@ evas_object_rectangle_add(Evas *e) | |||
89 | return eo_obj; | 89 | return eo_obj; |
90 | } | 90 | } |
91 | 91 | ||
92 | EOLIAN static void | 92 | EOLIAN static Eo * |
93 | _evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED) | 93 | _evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED) |
94 | { | 94 | { |
95 | Eo *parent = NULL; | 95 | Eo *parent = NULL; |
96 | 96 | ||
97 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 97 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
98 | 98 | ||
99 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 99 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
100 | evas_object_rectangle_init(eo_obj); | 100 | evas_object_rectangle_init(eo_obj); |
101 | 101 | ||
102 | eo_do(eo_obj, parent = eo_parent_get()); | 102 | eo_do(eo_obj, parent = eo_parent_get()); |
103 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); | 103 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); |
104 | |||
105 | return eo_obj; | ||
104 | } | 106 | } |
105 | 107 | ||
106 | /* all nice and private */ | 108 | /* all nice and private */ |
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 4623fc0b45..3aeb9376dd 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c | |||
@@ -545,7 +545,7 @@ evas_object_smart_add(Evas *eo_e, Evas_Smart *s) | |||
545 | return eo_obj; | 545 | return eo_obj; |
546 | } | 546 | } |
547 | 547 | ||
548 | EOLIAN static void | 548 | EOLIAN static Eo * |
549 | _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data EINA_UNUSED) | 549 | _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data EINA_UNUSED) |
550 | { | 550 | { |
551 | Evas_Object_Protected_Data *obj; | 551 | Evas_Object_Protected_Data *obj; |
@@ -555,7 +555,7 @@ _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data E | |||
555 | smart = class_data; | 555 | smart = class_data; |
556 | smart->object = eo_obj; | 556 | smart->object = eo_obj; |
557 | 557 | ||
558 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 558 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
559 | evas_object_smart_init(eo_obj); | 559 | evas_object_smart_init(eo_obj); |
560 | 560 | ||
561 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 561 | obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
@@ -564,6 +564,8 @@ _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data E | |||
564 | eo_do(eo_obj, | 564 | eo_do(eo_obj, |
565 | evas_obj_type_set(MY_CLASS_NAME_LEGACY), | 565 | evas_obj_type_set(MY_CLASS_NAME_LEGACY), |
566 | evas_obj_smart_add()); | 566 | evas_obj_smart_add()); |
567 | |||
568 | return eo_obj; | ||
567 | } | 569 | } |
568 | 570 | ||
569 | EOLIAN static void | 571 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c b/src/lib/evas/canvas/evas_object_smart_clipped.c index 38382f20fe..74720449b2 100644 --- a/src/lib/evas/canvas/evas_object_smart_clipped.c +++ b/src/lib/evas/canvas/evas_object_smart_clipped.c | |||
@@ -250,10 +250,10 @@ evas_object_smart_clipped_class_get(void) | |||
250 | return class; | 250 | return class; |
251 | } | 251 | } |
252 | 252 | ||
253 | EOLIAN static void | 253 | EOLIAN static Eo * |
254 | _evas_smart_clipped_eo_base_constructor(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *class_data EINA_UNUSED) | 254 | _evas_smart_clipped_eo_base_constructor(Eo *obj, Evas_Object_Smart_Clipped_Data *class_data EINA_UNUSED) |
255 | { | 255 | { |
256 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 256 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
257 | } | 257 | } |
258 | 258 | ||
259 | #include "canvas/evas_smart_clipped.eo.c" | 259 | #include "canvas/evas_smart_clipped.eo.c" |
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index ea50553b2d..cc61e19373 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c | |||
@@ -966,11 +966,13 @@ evas_object_table_add(Evas *evas) | |||
966 | return obj; | 966 | return obj; |
967 | } | 967 | } |
968 | 968 | ||
969 | EOLIAN static void | 969 | EOLIAN static Eo * |
970 | _evas_table_eo_base_constructor(Eo *obj, Evas_Table_Data *class_data EINA_UNUSED) | 970 | _evas_table_eo_base_constructor(Eo *obj, Evas_Table_Data *class_data EINA_UNUSED) |
971 | { | 971 | { |
972 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 972 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
973 | eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY)); | 973 | eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY)); |
974 | |||
975 | return obj; | ||
974 | } | 976 | } |
975 | 977 | ||
976 | EOLIAN static Evas_Object* | 978 | EOLIAN static Evas_Object* |
diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index c053515e6d..c28e8a91e7 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c | |||
@@ -365,10 +365,10 @@ evas_object_text_add(Evas *e) | |||
365 | return eo_obj; | 365 | return eo_obj; |
366 | } | 366 | } |
367 | 367 | ||
368 | EOLIAN static void | 368 | EOLIAN static Eo * |
369 | _evas_text_eo_base_constructor(Eo *eo_obj, Evas_Text_Data *o) | 369 | _evas_text_eo_base_constructor(Eo *eo_obj, Evas_Text_Data *o) |
370 | { | 370 | { |
371 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 371 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
372 | evas_object_text_init(eo_obj); | 372 | evas_object_text_init(eo_obj); |
373 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 373 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
374 | Eo *parent = NULL; | 374 | Eo *parent = NULL; |
@@ -377,6 +377,8 @@ _evas_text_eo_base_constructor(Eo *eo_obj, Evas_Text_Data *o) | |||
377 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); | 377 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); |
378 | 378 | ||
379 | o->cur.filter = eina_cow_alloc(evas_object_filter_cow); | 379 | o->cur.filter = eina_cow_alloc(evas_object_filter_cow); |
380 | |||
381 | return eo_obj; | ||
380 | } | 382 | } |
381 | 383 | ||
382 | EOLIAN static void | 384 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 688e09d894..a2d7079fee 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c | |||
@@ -5782,14 +5782,14 @@ evas_object_textblock_add(Evas *e) | |||
5782 | return eo_obj; | 5782 | return eo_obj; |
5783 | } | 5783 | } |
5784 | 5784 | ||
5785 | EOLIAN static void | 5785 | EOLIAN static Eo * |
5786 | _evas_textblock_eo_base_constructor(Eo *eo_obj, Evas_Textblock_Data *class_data EINA_UNUSED) | 5786 | _evas_textblock_eo_base_constructor(Eo *eo_obj, Evas_Textblock_Data *class_data EINA_UNUSED) |
5787 | { | 5787 | { |
5788 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 5788 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
5789 | Evas_Textblock_Data *o; | 5789 | Evas_Textblock_Data *o; |
5790 | Eo *eo_parent = NULL; | 5790 | Eo *eo_parent = NULL; |
5791 | 5791 | ||
5792 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 5792 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
5793 | 5793 | ||
5794 | /* set up methods (compulsory) */ | 5794 | /* set up methods (compulsory) */ |
5795 | obj->func = &object_func; | 5795 | obj->func = &object_func; |
@@ -5803,6 +5803,8 @@ _evas_textblock_eo_base_constructor(Eo *eo_obj, Evas_Textblock_Data *class_data | |||
5803 | 5803 | ||
5804 | eo_do(eo_obj, eo_parent = eo_parent_get()); | 5804 | eo_do(eo_obj, eo_parent = eo_parent_get()); |
5805 | evas_object_inject(eo_obj, obj, evas_object_evas_get(eo_parent)); | 5805 | evas_object_inject(eo_obj, obj, evas_object_evas_get(eo_parent)); |
5806 | |||
5807 | return eo_obj; | ||
5806 | } | 5808 | } |
5807 | 5809 | ||
5808 | EAPI Evas_Textblock_Style * | 5810 | EAPI Evas_Textblock_Style * |
diff --git a/src/lib/evas/canvas/evas_object_textgrid.c b/src/lib/evas/canvas/evas_object_textgrid.c index 122e8e7c2c..7dbb739570 100644 --- a/src/lib/evas/canvas/evas_object_textgrid.c +++ b/src/lib/evas/canvas/evas_object_textgrid.c | |||
@@ -1061,18 +1061,20 @@ evas_object_textgrid_add(Evas *e) | |||
1061 | return eo_obj; | 1061 | return eo_obj; |
1062 | } | 1062 | } |
1063 | 1063 | ||
1064 | EOLIAN static void | 1064 | EOLIAN static Eo * |
1065 | _evas_textgrid_eo_base_constructor(Eo *eo_obj, Evas_Textgrid_Data *class_data EINA_UNUSED) | 1065 | _evas_textgrid_eo_base_constructor(Eo *eo_obj, Evas_Textgrid_Data *class_data EINA_UNUSED) |
1066 | { | 1066 | { |
1067 | Eo *eo_parent = NULL; | 1067 | Eo *eo_parent = NULL; |
1068 | 1068 | ||
1069 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 1069 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
1070 | 1070 | ||
1071 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 1071 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
1072 | evas_object_textgrid_init(eo_obj); | 1072 | evas_object_textgrid_init(eo_obj); |
1073 | 1073 | ||
1074 | eo_do(eo_obj, eo_parent = eo_parent_get()); | 1074 | eo_do(eo_obj, eo_parent = eo_parent_get()); |
1075 | evas_object_inject(eo_obj, obj, evas_object_evas_get(eo_parent)); | 1075 | evas_object_inject(eo_obj, obj, evas_object_evas_get(eo_parent)); |
1076 | |||
1077 | return eo_obj; | ||
1076 | } | 1078 | } |
1077 | 1079 | ||
1078 | EOLIAN static void | 1080 | EOLIAN static void |
diff --git a/src/lib/evas/canvas/evas_object_vg.c b/src/lib/evas/canvas/evas_object_vg.c index 731eec6b55..0e3eaa76d0 100644 --- a/src/lib/evas/canvas/evas_object_vg.c +++ b/src/lib/evas/canvas/evas_object_vg.c | |||
@@ -98,13 +98,13 @@ _evas_vg_eo_base_destructor(Eo *eo_obj, Evas_VG_Data *pd) | |||
98 | eo_do_super(eo_obj, MY_CLASS, eo_destructor()); | 98 | eo_do_super(eo_obj, MY_CLASS, eo_destructor()); |
99 | } | 99 | } |
100 | 100 | ||
101 | void | 101 | Eo * |
102 | _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd) | 102 | _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd) |
103 | { | 103 | { |
104 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); | 104 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); |
105 | Eo *parent = NULL; | 105 | Eo *parent = NULL; |
106 | 106 | ||
107 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 107 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
108 | 108 | ||
109 | /* set up methods (compulsory) */ | 109 | /* set up methods (compulsory) */ |
110 | obj->func = &object_func; | 110 | obj->func = &object_func; |
@@ -117,6 +117,8 @@ _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd) | |||
117 | 117 | ||
118 | eo_do(eo_obj, parent = eo_parent_get()); | 118 | eo_do(eo_obj, parent = eo_parent_get()); |
119 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); | 119 | evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); |
120 | |||
121 | return eo_obj; | ||
120 | } | 122 | } |
121 | 123 | ||
122 | static void | 124 | static void |
diff --git a/src/lib/evas/canvas/evas_out.c b/src/lib/evas/canvas/evas_out.c index ce00eb3fde..1558a90ed8 100644 --- a/src/lib/evas/canvas/evas_out.c +++ b/src/lib/evas/canvas/evas_out.c | |||
@@ -23,7 +23,7 @@ evas_out_add(Evas *e) | |||
23 | return eo_obj; | 23 | return eo_obj; |
24 | } | 24 | } |
25 | 25 | ||
26 | EOLIAN static void | 26 | EOLIAN static Eo * |
27 | _evas_out_eo_base_constructor(Eo *eo_obj, Evas_Out_Data *eo_dat) | 27 | _evas_out_eo_base_constructor(Eo *eo_obj, Evas_Out_Data *eo_dat) |
28 | { | 28 | { |
29 | Eo *eo_parent = NULL; | 29 | Eo *eo_parent = NULL; |
@@ -33,14 +33,16 @@ _evas_out_eo_base_constructor(Eo *eo_obj, Evas_Out_Data *eo_dat) | |||
33 | e = eo_data_scope_get(eo_parent, EVAS_CANVAS_CLASS); | 33 | e = eo_data_scope_get(eo_parent, EVAS_CANVAS_CLASS); |
34 | evas_canvas_async_block(e); | 34 | evas_canvas_async_block(e); |
35 | 35 | ||
36 | eo_do_super(eo_obj, MY_CLASS, eo_constructor()); | 36 | eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); |
37 | 37 | ||
38 | if (!e) return; | 38 | if (!e) return NULL; |
39 | e->outputs = eina_list_append(e->outputs, eo_obj); | 39 | e->outputs = eina_list_append(e->outputs, eo_obj); |
40 | if (e->engine.func->info) eo_dat->info = e->engine.func->info(eo_parent); | 40 | if (e->engine.func->info) eo_dat->info = e->engine.func->info(eo_parent); |
41 | // XXX: context and output are currently held in the core engine and are | 41 | // XXX: context and output are currently held in the core engine and are |
42 | // allocated by engine specific internal code. this all needs a new engine | 42 | // allocated by engine specific internal code. this all needs a new engine |
43 | // api to make it work | 43 | // api to make it work |
44 | |||
45 | return eo_obj; | ||
44 | } | 46 | } |
45 | 47 | ||
46 | EAPI void | 48 | EAPI void |
diff --git a/src/lib/evas/canvas/evas_vg_container.c b/src/lib/evas/canvas/evas_vg_container.c index ba0eeec8ca..f3ee7c9962 100644 --- a/src/lib/evas/canvas/evas_vg_container.c +++ b/src/lib/evas/canvas/evas_vg_container.c | |||
@@ -25,17 +25,19 @@ _efl_vg_container_render_pre(Eo *obj EINA_UNUSED, | |||
25 | _evas_vg_render_pre(child, s, current); | 25 | _evas_vg_render_pre(child, s, current); |
26 | } | 26 | } |
27 | 27 | ||
28 | static void | 28 | static Eo * |
29 | _efl_vg_container_eo_base_constructor(Eo *obj, | 29 | _efl_vg_container_eo_base_constructor(Eo *obj, |
30 | Efl_VG_Container_Data *pd) | 30 | Efl_VG_Container_Data *pd) |
31 | { | 31 | { |
32 | Efl_VG_Base_Data *nd; | 32 | Efl_VG_Base_Data *nd; |
33 | 33 | ||
34 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 34 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
35 | 35 | ||
36 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); | 36 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); |
37 | nd->render_pre = _efl_vg_container_render_pre; | 37 | nd->render_pre = _efl_vg_container_render_pre; |
38 | nd->data = pd; | 38 | nd->data = pd; |
39 | |||
40 | return obj; | ||
39 | } | 41 | } |
40 | 42 | ||
41 | static void | 43 | static void |
diff --git a/src/lib/evas/canvas/evas_vg_gradient_linear.c b/src/lib/evas/canvas/evas_vg_gradient_linear.c index 9f05fac4ad..9a54f7ac39 100644 --- a/src/lib/evas/canvas/evas_vg_gradient_linear.c +++ b/src/lib/evas/canvas/evas_vg_gradient_linear.c | |||
@@ -88,17 +88,19 @@ _efl_vg_gradient_linear_render_pre(Eo *obj, | |||
88 | ector_renderer_prepare()); | 88 | ector_renderer_prepare()); |
89 | } | 89 | } |
90 | 90 | ||
91 | static void | 91 | static Eo * |
92 | _efl_vg_gradient_linear_eo_base_constructor(Eo *obj, | 92 | _efl_vg_gradient_linear_eo_base_constructor(Eo *obj, |
93 | Efl_VG_Gradient_Linear_Data *pd) | 93 | Efl_VG_Gradient_Linear_Data *pd) |
94 | { | 94 | { |
95 | Efl_VG_Base_Data *nd; | 95 | Efl_VG_Base_Data *nd; |
96 | 96 | ||
97 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 97 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
98 | 98 | ||
99 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); | 99 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); |
100 | nd->render_pre = _efl_vg_gradient_linear_render_pre; | 100 | nd->render_pre = _efl_vg_gradient_linear_render_pre; |
101 | nd->data = pd; | 101 | nd->data = pd; |
102 | |||
103 | return obj; | ||
102 | } | 104 | } |
103 | 105 | ||
104 | static void | 106 | static void |
diff --git a/src/lib/evas/canvas/evas_vg_gradient_radial.c b/src/lib/evas/canvas/evas_vg_gradient_radial.c index e79f4fde2d..8af5e7d41c 100644 --- a/src/lib/evas/canvas/evas_vg_gradient_radial.c +++ b/src/lib/evas/canvas/evas_vg_gradient_radial.c | |||
@@ -105,16 +105,18 @@ _efl_vg_gradient_radial_render_pre(Eo *obj, | |||
105 | ector_renderer_prepare()); | 105 | ector_renderer_prepare()); |
106 | } | 106 | } |
107 | 107 | ||
108 | static void | 108 | static Eo * |
109 | _efl_vg_gradient_radial_eo_base_constructor(Eo *obj, Efl_VG_Gradient_Radial_Data *pd) | 109 | _efl_vg_gradient_radial_eo_base_constructor(Eo *obj, Efl_VG_Gradient_Radial_Data *pd) |
110 | { | 110 | { |
111 | Efl_VG_Base_Data *nd; | 111 | Efl_VG_Base_Data *nd; |
112 | 112 | ||
113 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 113 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
114 | 114 | ||
115 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); | 115 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); |
116 | nd->render_pre = _efl_vg_gradient_radial_render_pre; | 116 | nd->render_pre = _efl_vg_gradient_radial_render_pre; |
117 | nd->data = pd; | 117 | nd->data = pd; |
118 | |||
119 | return obj; | ||
118 | } | 120 | } |
119 | 121 | ||
120 | static void | 122 | static void |
diff --git a/src/lib/evas/canvas/evas_vg_node.c b/src/lib/evas/canvas/evas_vg_node.c index 2d84b86bfa..cfe5b40fae 100644 --- a/src/lib/evas/canvas/evas_vg_node.c +++ b/src/lib/evas/canvas/evas_vg_node.c | |||
@@ -238,20 +238,22 @@ _efl_vg_base_parent_checked_get(Eo *obj, | |||
238 | return EINA_FALSE; | 238 | return EINA_FALSE; |
239 | } | 239 | } |
240 | 240 | ||
241 | static void | 241 | static Eo * |
242 | _efl_vg_base_eo_base_constructor(Eo *obj, | 242 | _efl_vg_base_eo_base_constructor(Eo *obj, |
243 | Efl_VG_Base_Data *pd) | 243 | Efl_VG_Base_Data *pd) |
244 | { | 244 | { |
245 | Efl_VG_Container_Data *cd = NULL; | 245 | Efl_VG_Container_Data *cd = NULL; |
246 | Eo *parent; | 246 | Eo *parent; |
247 | 247 | ||
248 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 248 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
249 | 249 | ||
250 | if (!_efl_vg_base_parent_checked_get(obj, &parent, &cd)) | 250 | if (!_efl_vg_base_parent_checked_get(obj, &parent, &cd)) |
251 | eo_error_set(obj); | 251 | eo_error_set(obj); |
252 | 252 | ||
253 | eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _efl_vg_base_property_changed, pd)); | 253 | eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _efl_vg_base_property_changed, pd)); |
254 | pd->changed = EINA_TRUE; | 254 | pd->changed = EINA_TRUE; |
255 | |||
256 | return obj; | ||
255 | } | 257 | } |
256 | 258 | ||
257 | static void | 259 | static void |
diff --git a/src/lib/evas/canvas/evas_vg_root_node.c b/src/lib/evas/canvas/evas_vg_root_node.c index 65dbb0220f..1d9b573405 100644 --- a/src/lib/evas/canvas/evas_vg_root_node.c +++ b/src/lib/evas/canvas/evas_vg_root_node.c | |||
@@ -65,7 +65,7 @@ _efl_vg_root_node_eo_base_parent_set(Eo *obj, | |||
65 | } | 65 | } |
66 | } | 66 | } |
67 | 67 | ||
68 | static void | 68 | static Eo * |
69 | _efl_vg_root_node_eo_base_constructor(Eo *obj, | 69 | _efl_vg_root_node_eo_base_constructor(Eo *obj, |
70 | Efl_VG_Root_Node_Data *pd) | 70 | Efl_VG_Root_Node_Data *pd) |
71 | { | 71 | { |
@@ -74,7 +74,7 @@ _efl_vg_root_node_eo_base_constructor(Eo *obj, | |||
74 | Eo *parent; | 74 | Eo *parent; |
75 | 75 | ||
76 | // Nice little hack, jump over parent constructor in Efl_VG_Root | 76 | // Nice little hack, jump over parent constructor in Efl_VG_Root |
77 | eo_do_super(obj, EFL_VG_BASE_CLASS, eo_constructor()); | 77 | obj = eo_do_super_ret(obj, EFL_VG_BASE_CLASS, obj, eo_constructor()); |
78 | eo_do(obj, parent = eo_parent_get()); | 78 | eo_do(obj, parent = eo_parent_get()); |
79 | if (!eo_isa(parent, EVAS_VG_CLASS)) | 79 | if (!eo_isa(parent, EVAS_VG_CLASS)) |
80 | eo_error_set(obj); | 80 | eo_error_set(obj); |
@@ -87,6 +87,8 @@ _efl_vg_root_node_eo_base_constructor(Eo *obj, | |||
87 | nd->data = cd; | 87 | nd->data = cd; |
88 | 88 | ||
89 | eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _evas_vg_root_node_changed, pd)); | 89 | eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _evas_vg_root_node_changed, pd)); |
90 | |||
91 | return obj; | ||
90 | } | 92 | } |
91 | 93 | ||
92 | #include "efl_vg_root_node.eo.c" | 94 | #include "efl_vg_root_node.eo.c" |
diff --git a/src/lib/evas/canvas/evas_vg_shape.c b/src/lib/evas/canvas/evas_vg_shape.c index e67c3b5675..d736718a57 100644 --- a/src/lib/evas/canvas/evas_vg_shape.c +++ b/src/lib/evas/canvas/evas_vg_shape.c | |||
@@ -316,12 +316,12 @@ _efl_vg_shape_render_pre(Eo *obj EINA_UNUSED, | |||
316 | ector_renderer_prepare()); | 316 | ector_renderer_prepare()); |
317 | } | 317 | } |
318 | 318 | ||
319 | static void | 319 | static Eo * |
320 | _efl_vg_shape_eo_base_constructor(Eo *obj, Efl_VG_Shape_Data *pd) | 320 | _efl_vg_shape_eo_base_constructor(Eo *obj, Efl_VG_Shape_Data *pd) |
321 | { | 321 | { |
322 | Efl_VG_Base_Data *nd; | 322 | Efl_VG_Base_Data *nd; |
323 | 323 | ||
324 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 324 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
325 | 325 | ||
326 | pd->stroke.cap = EFL_GFX_CAP_BUTT; | 326 | pd->stroke.cap = EFL_GFX_CAP_BUTT; |
327 | pd->stroke.join = EFL_GFX_JOIN_MITER; | 327 | pd->stroke.join = EFL_GFX_JOIN_MITER; |
@@ -331,6 +331,8 @@ _efl_vg_shape_eo_base_constructor(Eo *obj, Efl_VG_Shape_Data *pd) | |||
331 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); | 331 | nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); |
332 | nd->render_pre = _efl_vg_shape_render_pre; | 332 | nd->render_pre = _efl_vg_shape_render_pre; |
333 | nd->data = pd; | 333 | nd->data = pd; |
334 | |||
335 | return obj; | ||
334 | } | 336 | } |
335 | 337 | ||
336 | static void | 338 | static void |
diff --git a/src/tests/eo/composite_objects/composite_objects_comp.c b/src/tests/eo/composite_objects/composite_objects_comp.c index 21baed4f11..b933e19dd1 100644 --- a/src/tests/eo/composite_objects/composite_objects_comp.c +++ b/src/tests/eo/composite_objects/composite_objects_comp.c | |||
@@ -21,11 +21,11 @@ _a_get(Eo *obj, void *class_data EINA_UNUSED) | |||
21 | return a; | 21 | return a; |
22 | } | 22 | } |
23 | 23 | ||
24 | static void | 24 | static Eo * |
25 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 25 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
26 | { | 26 | { |
27 | Eina_Bool tmp; | 27 | Eina_Bool tmp; |
28 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 28 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
29 | 29 | ||
30 | Eo *simple = eo_add(SIMPLE_CLASS, obj); | 30 | Eo *simple = eo_add(SIMPLE_CLASS, obj); |
31 | eo_do(obj, eo_composite_attach(simple)); | 31 | eo_do(obj, eo_composite_attach(simple)); |
@@ -35,6 +35,8 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED) | |||
35 | fail_if(!eo_do_ret(simple, tmp, eo_composite_part_is())); | 35 | fail_if(!eo_do_ret(simple, tmp, eo_composite_part_is())); |
36 | 36 | ||
37 | eo_do(obj, eo_key_data_set("simple-obj", simple, NULL)); | 37 | eo_do(obj, eo_key_data_set("simple-obj", simple, NULL)); |
38 | |||
39 | return obj; | ||
38 | } | 40 | } |
39 | 41 | ||
40 | static Eo_Op_Description op_descs[] = { | 42 | static Eo_Op_Description op_descs[] = { |
diff --git a/src/tests/eo/constructors/constructors_mixin.c b/src/tests/eo/constructors/constructors_mixin.c index ca7343ffe0..3c21129487 100644 --- a/src/tests/eo/constructors/constructors_mixin.c +++ b/src/tests/eo/constructors/constructors_mixin.c | |||
@@ -18,12 +18,12 @@ _add_and_print_set(Eo *obj, void *class_data EINA_UNUSED, int x) | |||
18 | 18 | ||
19 | extern int my_init_count; | 19 | extern int my_init_count; |
20 | 20 | ||
21 | static void | 21 | static Eo * |
22 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 22 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
23 | { | 23 | { |
24 | eo_do_super(obj, MY_CLASS, eo_constructor()); | ||
25 | |||
26 | my_init_count++; | 24 | my_init_count++; |
25 | |||
26 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); | ||
27 | } | 27 | } |
28 | 28 | ||
29 | static void | 29 | static void |
diff --git a/src/tests/eo/constructors/constructors_simple.c b/src/tests/eo/constructors/constructors_simple.c index 5e9b60f0d1..ed22905ade 100644 --- a/src/tests/eo/constructors/constructors_simple.c +++ b/src/tests/eo/constructors/constructors_simple.c | |||
@@ -39,12 +39,12 @@ _GET_SET_FUNC(b) | |||
39 | 39 | ||
40 | extern int my_init_count; | 40 | extern int my_init_count; |
41 | 41 | ||
42 | static void | 42 | static Eo * |
43 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 43 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
44 | { | 44 | { |
45 | eo_do_super(obj, MY_CLASS, eo_constructor()); | ||
46 | |||
47 | my_init_count++; | 45 | my_init_count++; |
46 | |||
47 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); | ||
48 | } | 48 | } |
49 | 49 | ||
50 | static Eo* | 50 | static Eo* |
diff --git a/src/tests/eo/constructors/constructors_simple2.c b/src/tests/eo/constructors/constructors_simple2.c index 0318a9ff09..b1b6bbe71f 100644 --- a/src/tests/eo/constructors/constructors_simple2.c +++ b/src/tests/eo/constructors/constructors_simple2.c | |||
@@ -8,12 +8,13 @@ | |||
8 | 8 | ||
9 | #define MY_CLASS SIMPLE2_CLASS | 9 | #define MY_CLASS SIMPLE2_CLASS |
10 | 10 | ||
11 | static void | 11 | static Eo * |
12 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 12 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
13 | { | 13 | { |
14 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 14 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
15 | 15 | ||
16 | eo_error_set(obj); | 16 | eo_error_set(obj); |
17 | return obj; | ||
17 | } | 18 | } |
18 | 19 | ||
19 | static Eo_Op_Description op_descs[] = { | 20 | static Eo_Op_Description op_descs[] = { |
diff --git a/src/tests/eo/constructors/constructors_simple3.c b/src/tests/eo/constructors/constructors_simple3.c index 9c720b51eb..16d3fc8063 100644 --- a/src/tests/eo/constructors/constructors_simple3.c +++ b/src/tests/eo/constructors/constructors_simple3.c | |||
@@ -8,10 +8,10 @@ | |||
8 | 8 | ||
9 | #define MY_CLASS SIMPLE3_CLASS | 9 | #define MY_CLASS SIMPLE3_CLASS |
10 | 10 | ||
11 | static void | 11 | static Eo * |
12 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) | 12 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) |
13 | { | 13 | { |
14 | (void) obj; | 14 | return obj; |
15 | } | 15 | } |
16 | 16 | ||
17 | static Eo_Op_Description op_descs[] = { | 17 | static Eo_Op_Description op_descs[] = { |
diff --git a/src/tests/eo/constructors/constructors_simple7.c b/src/tests/eo/constructors/constructors_simple7.c index cd0298948d..79dce35c06 100644 --- a/src/tests/eo/constructors/constructors_simple7.c +++ b/src/tests/eo/constructors/constructors_simple7.c | |||
@@ -11,11 +11,11 @@ | |||
11 | 11 | ||
12 | #define MY_CLASS SIMPLE7_CLASS | 12 | #define MY_CLASS SIMPLE7_CLASS |
13 | 13 | ||
14 | static void | 14 | static Eo * |
15 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) | 15 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) |
16 | { | 16 | { |
17 | /* FIXME: Actually test it. */ | 17 | /* FIXME: Actually test it. */ |
18 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 18 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
19 | } | 19 | } |
20 | 20 | ||
21 | static Eo_Op_Description op_descs [] = { | 21 | static Eo_Op_Description op_descs [] = { |
diff --git a/src/tests/eo/mixin/mixin_mixin.c b/src/tests/eo/mixin/mixin_mixin.c index d91a04fe11..f5c23348d6 100644 --- a/src/tests/eo/mixin/mixin_mixin.c +++ b/src/tests/eo/mixin/mixin_mixin.c | |||
@@ -17,10 +17,10 @@ _ab_sum_get(Eo *obj, void *class_data EINA_UNUSED) | |||
17 | return a + b; | 17 | return a + b; |
18 | } | 18 | } |
19 | 19 | ||
20 | static void | 20 | static Eo * |
21 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 21 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
22 | { | 22 | { |
23 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 23 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
24 | } | 24 | } |
25 | 25 | ||
26 | static void | 26 | static void |
diff --git a/src/tests/eo/mixin/mixin_mixin2.c b/src/tests/eo/mixin/mixin_mixin2.c index 6df0a85fec..60f3d40080 100644 --- a/src/tests/eo/mixin/mixin_mixin2.c +++ b/src/tests/eo/mixin/mixin_mixin2.c | |||
@@ -32,10 +32,11 @@ _ab_sum_get(Eo *obj, void *class_data) | |||
32 | return sum; | 32 | return sum; |
33 | } | 33 | } |
34 | 34 | ||
35 | static void | 35 | static Eo * |
36 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) | 36 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) |
37 | { | 37 | { |
38 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 38 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
39 | return obj; | ||
39 | } | 40 | } |
40 | 41 | ||
41 | static void | 42 | static void |
diff --git a/src/tests/eo/mixin/mixin_mixin3.c b/src/tests/eo/mixin/mixin_mixin3.c index 6d0d99d4f8..cd2d732898 100644 --- a/src/tests/eo/mixin/mixin_mixin3.c +++ b/src/tests/eo/mixin/mixin_mixin3.c | |||
@@ -32,10 +32,10 @@ _ab_sum_get(Eo *obj, void *class_data EINA_UNUSED) | |||
32 | return sum; | 32 | return sum; |
33 | } | 33 | } |
34 | 34 | ||
35 | static void | 35 | static Eo * |
36 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) | 36 | _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) |
37 | { | 37 | { |
38 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 38 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
39 | } | 39 | } |
40 | 40 | ||
41 | static void | 41 | static void |
diff --git a/src/tests/eo/signals/signals_simple.c b/src/tests/eo/signals/signals_simple.c index a928cec854..f113e511d9 100644 --- a/src/tests/eo/signals/signals_simple.c +++ b/src/tests/eo/signals/signals_simple.c | |||
@@ -60,15 +60,17 @@ _cb_deled(void *data, Eo *obj, const Eo_Event_Description *desc, void *event_inf | |||
60 | return EO_CALLBACK_CONTINUE; | 60 | return EO_CALLBACK_CONTINUE; |
61 | } | 61 | } |
62 | 62 | ||
63 | static void | 63 | static Eo * |
64 | _constructor(Eo *obj, void *class_data EINA_UNUSED) | 64 | _constructor(Eo *obj, void *class_data EINA_UNUSED) |
65 | { | 65 | { |
66 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 66 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
67 | 67 | ||
68 | eo_do(obj, eo_event_callback_add(EO_EV_CALLBACK_ADD, _cb_added, NULL)); | 68 | eo_do(obj, eo_event_callback_add(EO_EV_CALLBACK_ADD, _cb_added, NULL)); |
69 | eo_do(obj, eo_event_callback_add(EO_EV_CALLBACK_DEL, _cb_deled, NULL)); | 69 | eo_do(obj, eo_event_callback_add(EO_EV_CALLBACK_DEL, _cb_deled, NULL)); |
70 | 70 | ||
71 | eo_do(obj, eo_key_data_set("cb_count", (intptr_t) 0, NULL)); | 71 | eo_do(obj, eo_key_data_set("cb_count", (intptr_t) 0, NULL)); |
72 | |||
73 | return obj; | ||
72 | } | 74 | } |
73 | 75 | ||
74 | EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a); | 76 | EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a); |
diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index 037567d6da..bb4f4ed291 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c | |||
@@ -296,12 +296,12 @@ static Eina_Bool _man_should_con = EINA_TRUE; | |||
296 | static Eina_Bool _man_should_des = EINA_TRUE; | 296 | static Eina_Bool _man_should_des = EINA_TRUE; |
297 | static const Eo_Class *cur_klass = NULL; | 297 | static const Eo_Class *cur_klass = NULL; |
298 | 298 | ||
299 | static void | 299 | static Eo * |
300 | _man_con(Eo *obj, void *data EINA_UNUSED, va_list *list EINA_UNUSED) | 300 | _man_con(Eo *obj, void *data EINA_UNUSED, va_list *list EINA_UNUSED) |
301 | { | 301 | { |
302 | if (_man_should_con) | 302 | if (_man_should_con) |
303 | eo_manual_free_set(obj, EINA_TRUE); | 303 | eo_manual_free_set(obj, EINA_TRUE); |
304 | eo_do_super(obj, cur_klass, eo_constructor()); | 304 | return eo_do_super_ret(obj, cur_klass, obj, eo_constructor()); |
305 | } | 305 | } |
306 | 306 | ||
307 | static void | 307 | static void |
diff --git a/src/tests/eo/suite/eo_test_threaded_calls.c b/src/tests/eo/suite/eo_test_threaded_calls.c index 33520f20c5..21b6015cd3 100644 --- a/src/tests/eo/suite/eo_test_threaded_calls.c +++ b/src/tests/eo/suite/eo_test_threaded_calls.c | |||
@@ -49,12 +49,14 @@ _try_swap_stack(Eo *obj EINA_UNUSED, void *class_data) | |||
49 | } | 49 | } |
50 | } | 50 | } |
51 | 51 | ||
52 | static void | 52 | static Eo * |
53 | _constructor(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED, int v) | 53 | _constructor(Eo *obj, void *class_data EINA_UNUSED, int v) |
54 | { | 54 | { |
55 | Thread_Test_Public_Data *pd = class_data; | 55 | Thread_Test_Public_Data *pd = class_data; |
56 | 56 | ||
57 | pd->v = v; | 57 | pd->v = v; |
58 | |||
59 | return obj; | ||
58 | } | 60 | } |
59 | 61 | ||
60 | static Eo_Op_Description op_descs[] = { | 62 | static Eo_Op_Description op_descs[] = { |
diff --git a/src/tests/eolian_cxx/a.c b/src/tests/eolian_cxx/a.c index f8edfadeb6..885c9ea173 100644 --- a/src/tests/eolian_cxx/a.c +++ b/src/tests/eolian_cxx/a.c | |||
@@ -15,9 +15,9 @@ typedef struct _A_Data A_Data; | |||
15 | 15 | ||
16 | #define MY_CLASS A_CLASS | 16 | #define MY_CLASS A_CLASS |
17 | 17 | ||
18 | static void _a_eo_base_constructor(Eo *obj EINA_UNUSED, A_Data *pd EINA_UNUSED) | 18 | static Eo *_a_eo_base_constructor(Eo *obj EINA_UNUSED, A_Data *pd EINA_UNUSED) |
19 | { | 19 | { |
20 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 20 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
21 | } | 21 | } |
22 | 22 | ||
23 | #include "a.eo.c" | 23 | #include "a.eo.c" |
diff --git a/src/tests/eolian_cxx/b.c b/src/tests/eolian_cxx/b.c index 7b7ce50379..f32617b38d 100644 --- a/src/tests/eolian_cxx/b.c +++ b/src/tests/eolian_cxx/b.c | |||
@@ -16,9 +16,9 @@ typedef struct _B_Data B_Data; | |||
16 | 16 | ||
17 | #define MY_CLASS B_CLASS | 17 | #define MY_CLASS B_CLASS |
18 | 18 | ||
19 | static void _b_eo_base_constructor(Eo *obj EINA_UNUSED, B_Data *pd EINA_UNUSED) | 19 | static Eo *_b_eo_base_constructor(Eo *obj EINA_UNUSED, B_Data *pd EINA_UNUSED) |
20 | { | 20 | { |
21 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 21 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
22 | } | 22 | } |
23 | 23 | ||
24 | #include "b.eo.c" | 24 | #include "b.eo.c" |
diff --git a/src/tests/eolian_cxx/c.c b/src/tests/eolian_cxx/c.c index be8ad2cdc8..f113c8f813 100644 --- a/src/tests/eolian_cxx/c.c +++ b/src/tests/eolian_cxx/c.c | |||
@@ -16,9 +16,9 @@ typedef struct _C_Data C_Data; | |||
16 | 16 | ||
17 | #define MY_CLASS C_CLASS | 17 | #define MY_CLASS C_CLASS |
18 | 18 | ||
19 | static void _c_eo_base_constructor(Eo *obj EINA_UNUSED, C_Data *pd EINA_UNUSED) | 19 | static Eo *_c_eo_base_constructor(Eo *obj EINA_UNUSED, C_Data *pd EINA_UNUSED) |
20 | { | 20 | { |
21 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 21 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
22 | } | 22 | } |
23 | 23 | ||
24 | #include "c.eo.c" | 24 | #include "c.eo.c" |
diff --git a/src/tests/eolian_cxx/callback.c b/src/tests/eolian_cxx/callback.c index ef978fbcbe..62612546d7 100644 --- a/src/tests/eolian_cxx/callback.c +++ b/src/tests/eolian_cxx/callback.c | |||
@@ -28,13 +28,15 @@ static Eina_Bool _callback_callback_added(void* data EINA_UNUSED, Eo* obj EINA_U | |||
28 | return EINA_TRUE; | 28 | return EINA_TRUE; |
29 | } | 29 | } |
30 | 30 | ||
31 | static void _callback_eo_base_constructor(Eo *obj EINA_UNUSED, Callback_Data *pd EINA_UNUSED) | 31 | static Eo *_callback_eo_base_constructor(Eo *obj, Callback_Data *pd EINA_UNUSED) |
32 | { | 32 | { |
33 | pd->callbacks = 0; | 33 | pd->callbacks = 0; |
34 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 34 | obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
35 | 35 | ||
36 | eo_event_callback_priority_add(EO_BASE_EVENT_CALLBACK_ADD, EO_CALLBACK_PRIORITY_DEFAULT | 36 | eo_event_callback_priority_add(EO_BASE_EVENT_CALLBACK_ADD, EO_CALLBACK_PRIORITY_DEFAULT |
37 | , &_callback_callback_added, pd); | 37 | , &_callback_callback_added, pd); |
38 | |||
39 | return obj; | ||
38 | } | 40 | } |
39 | 41 | ||
40 | static void _callback_onecallback(Eo *obj EINA_UNUSED, Callback_Data *pd EINA_UNUSED, Ecore_Cb cb, void *data) | 42 | static void _callback_onecallback(Eo *obj EINA_UNUSED, Callback_Data *pd EINA_UNUSED, Ecore_Cb cb, void *data) |
diff --git a/src/tests/eolian_cxx/d.c b/src/tests/eolian_cxx/d.c index ef08f81202..8ef24d6916 100644 --- a/src/tests/eolian_cxx/d.c +++ b/src/tests/eolian_cxx/d.c | |||
@@ -18,9 +18,9 @@ typedef struct _D_Data D_Data; | |||
18 | 18 | ||
19 | #define MY_CLASS D_CLASS | 19 | #define MY_CLASS D_CLASS |
20 | 20 | ||
21 | static void _d_eo_base_constructor(Eo *obj EINA_UNUSED, D_Data *pd EINA_UNUSED) | 21 | static Eo *_d_eo_base_constructor(Eo *obj EINA_UNUSED, D_Data *pd EINA_UNUSED) |
22 | { | 22 | { |
23 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 23 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
24 | } | 24 | } |
25 | 25 | ||
26 | #include "d.eo.c" | 26 | #include "d.eo.c" |
diff --git a/src/tests/eolian_cxx/simple.c b/src/tests/eolian_cxx/simple.c index c78073ce2d..1009b37831 100644 --- a/src/tests/eolian_cxx/simple.c +++ b/src/tests/eolian_cxx/simple.c | |||
@@ -12,9 +12,9 @@ | |||
12 | 12 | ||
13 | #define MY_CLASS SIMPLE_CLASS | 13 | #define MY_CLASS SIMPLE_CLASS |
14 | 14 | ||
15 | static void _simple_eo_base_constructor(Eo *obj, void *pd EINA_UNUSED) | 15 | static Eo *_simple_eo_base_constructor(Eo *obj, void *pd EINA_UNUSED) |
16 | { | 16 | { |
17 | eo_do_super(obj, MY_CLASS, eo_constructor()); | 17 | return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); |
18 | } | 18 | } |
19 | 19 | ||
20 | static Eina_Bool _simple_simple_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) | 20 | static Eina_Bool _simple_simple_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) |