summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2018-05-07 09:34:04 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-05-07 09:34:04 -0700
commit2b489d5627f6bd083d02a1afde37f44108a9e8ac (patch)
treee992995baee6fce6185e77135d1955b9547b5985
parentfa8aa7c9c85a2a5cab47f6093a2de94d74ec42e3 (diff)
downloadefl-2b489d5627f6bd083d02a1afde37f44108a9e8ac.tar.gz
eina: allow EINA_VALUE_EMPTY for Eina_Future as Eina_Value.
-rw-r--r--src/lib/eina/eina_promise.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c
index 516ef5c6b2..a9fdf923cd 100644
--- a/src/lib/eina/eina_promise.c
+++ b/src/lib/eina/eina_promise.c
@@ -644,7 +644,8 @@ _future_proxy(void *data, const Eina_Value v,
{
Eina_Value copy = EINA_VALUE_EMPTY;
- if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) return v;
+ if (memcmp(&copy, &v, sizeof (Eina_Value)) &&
+ eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) return v;
//We're in a safe context (from mainloop), so we can avoid scheduling a new dispatch
if (!v.type || !memcmp(&v, &copy, sizeof (Eina_Value))) copy = v;
else if (!eina_value_copy(&v, &copy))