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);
      }
 }
 

-- 


Reply via email to