felipealmeida pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3ffe38b0c33bf7ff611098df2a8a9c16f696eb17
commit 3ffe38b0c33bf7ff611098df2a8a9c16f696eb17 Author: Felipe Magno de Almeida <[email protected]> Date: Thu May 26 13:03:05 2016 -0300 eina: Fix then callbacks prototypes Eina_Error is not passed by pointer anymore, which could cause invalid pointer access in promise compositions (all and race). Also added Eina_Promise* to prototypes. --- src/lib/eina/eina_promise.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c index e3a14fe..6f83172 100644 --- a/src/lib/eina/eina_promise.c +++ b/src/lib/eina/eina_promise.c @@ -548,7 +548,7 @@ eina_promise_owner_default_call_then(Eina_Promise_Owner* promise) } static void -_eina_promise_all_compose_then_cb(_Eina_Promise_Default_Owner* promise, void* value EINA_UNUSED) +_eina_promise_all_compose_then_cb(_Eina_Promise_Default_Owner* promise, void* value EINA_UNUSED, Eina_Promise* promise_then EINA_UNUSED) { _Eina_Promise_Iterator* iterator; @@ -563,12 +563,12 @@ _eina_promise_all_compose_then_cb(_Eina_Promise_Default_Owner* promise, void* va } static void -_eina_promise_all_compose_error_then_cb(_Eina_Promise_Default_Owner* promise, Eina_Error const* error) +_eina_promise_all_compose_error_then_cb(_Eina_Promise_Default_Owner* promise, Eina_Error error, Eina_Promise* promise_then EINA_UNUSED) { if (!promise->promise.has_finished) { promise->promise.has_finished = promise->promise.has_errored = EINA_TRUE; - promise->promise.error = *error; + promise->promise.error = error; _eina_promise_finish(promise); } } @@ -718,7 +718,7 @@ _eina_promise_race_free(_Eina_Promise_Race_Value_Type* value) } static void -_eina_promise_race_compose_then_cb(struct _Eina_Promise_Race_Information* info, void* value EINA_UNUSED) +_eina_promise_race_compose_then_cb(struct _Eina_Promise_Race_Information* info, void* value EINA_UNUSED, Eina_Promise* promise_then EINA_UNUSED) { _Eina_Promise_Default_Owner* race_promise; _Eina_Promise_Race_Value_Type *race_value; @@ -735,7 +735,7 @@ _eina_promise_race_compose_then_cb(struct _Eina_Promise_Race_Information* info, } static void -_eina_promise_race_compose_error_then_cb(struct _Eina_Promise_Race_Information* info, Eina_Error const* error) +_eina_promise_race_compose_error_then_cb(struct _Eina_Promise_Race_Information* info, Eina_Error error, Eina_Promise* promise_then EINA_UNUSED) { _Eina_Promise_Default_Owner* race_promise; _Eina_Promise_Race_Value_Type *race_value; @@ -746,7 +746,7 @@ _eina_promise_race_compose_error_then_cb(struct _Eina_Promise_Race_Information* if (!race_promise->promise.has_finished) { race_value->promise_index = info - &race_value->promises[0]; - eina_promise_owner_error_set(&race_promise->owner_vtable, *error); + eina_promise_owner_error_set(&race_promise->owner_vtable, error); } } --
