From af2b0c8629d6cdfd70f6b21b6d06434717bd3373 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 3 Jun 2016 16:54:38 -0700 Subject: [PATCH] eina: protect promise death during callbacks cancel. --- src/lib/eina/eina_promise.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c index 7eac26ef4a..8a207f7b51 100644 --- a/src/lib/eina/eina_promise.c +++ b/src/lib/eina/eina_promise.c @@ -193,6 +193,7 @@ _eina_promise_cancel_calls(_Eina_Promise_Default_Owner* promise, Eina_Bool call_ { _Eina_Promise_Cancel_Cb* callback; + _eina_promise_ref(&promise->promise); EINA_INLIST_FREE(promise->promise.cancel_callbacks, callback) { promise->promise.cancel_callbacks = eina_inlist_remove(promise->promise.cancel_callbacks, EINA_INLIST_GET(callback)); @@ -207,6 +208,7 @@ _eina_promise_cancel_calls(_Eina_Promise_Default_Owner* promise, Eina_Bool call_ { _eina_promise_then_calls(promise); } + _eina_promise_unref(&promise->promise); } static void