diff options
author | Tom Hacohen <tom@stosb.com> | 2015-05-19 11:41:27 +0100 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2015-05-20 13:03:24 +0100 |
commit | 6efbfe227aaaa24eda7bcb7df916d4daf0a74400 (patch) | |
tree | c96e166b7348c5e825aca2d4af084675172e0cec /src | |
parent | e7ed0bfcedcea87f8645107a8a0775f67227d7c1 (diff) |
Eo: Add a return value to eo_constructor().
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
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) |