diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2016-11-03 18:01:43 -0700 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2016-11-03 18:03:16 -0700 |
commit | 59a635d251047f34da5b8edc7f956600b77167e8 (patch) | |
tree | f9b45a87faaaa5997385c48c6bcc28c9b74442d0 | |
parent | a7ff7ceebbe8134e264f8d4e976bf4fccb19f8fa (diff) | |
download | efl-59a635d251047f34da5b8edc7f956600b77167e8.tar.gz |
ecore: make call to future_get and value_set irrelevant as they should be.
-rw-r--r-- | src/lib/ecore/efl_promise.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c index 2d3b6137d7..fdaf2ea9ce 100644 --- a/src/lib/ecore/efl_promise.c +++ b/src/lib/ecore/efl_promise.c @@ -525,6 +525,15 @@ _efl_promise_future_get(Eo *obj, Efl_Promise_Data *pd EINA_UNUSED) fd->promise = efl_data_xref(obj, EFL_PROMISE_CLASS, f); fd->promise->futures = eina_list_append(fd->promise->futures, fd); + // The promise has already been fullfilled, prepare the propagation + if (fd->promise->message) + { + fd->message = fd->promise->message; + EINA_REFCOUNT_REF(fd->message); + + _efl_loop_future_propagate(f, fd); + } + return f; } |