discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6a08788d59c020aea8e0f24dc072630d5ae61c18
commit 6a08788d59c020aea8e0f24dc072630d5ae61c18 Author: Mike Blumenkrantz <[email protected]> Date: Mon Dec 8 14:55:30 2014 -0500 eldbus hackaround for proxy deletion during pending callback this is merely a way to avoid crashing immediately when the referenced bug is triggered. it does not fix the problem. ref T1908 --- src/lib/eldbus/eldbus_pending.c | 2 ++ src/lib/eldbus/eldbus_private_types.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/lib/eldbus/eldbus_pending.c b/src/lib/eldbus/eldbus_pending.c index efa3970..53cc47e 100644 --- a/src/lib/eldbus/eldbus_pending.c +++ b/src/lib/eldbus/eldbus_pending.c @@ -219,6 +219,8 @@ static void eldbus_pending_dispatch(Eldbus_Pending *pending, Eldbus_Message *msg) { DBG("pending=%p msg=%p", pending, msg); + if (pending->called) return; + pending->called = 1; if (pending->cb) pending->cb((void *)pending->cb_data, msg, pending); diff --git a/src/lib/eldbus/eldbus_private_types.h b/src/lib/eldbus/eldbus_private_types.h index 8ebe682..14959d0 100644 --- a/src/lib/eldbus/eldbus_private_types.h +++ b/src/lib/eldbus/eldbus_private_types.h @@ -114,6 +114,7 @@ struct _Eldbus_Pending Eina_Inlist *data; Eina_Inlist *cbs_free; Eldbus_Message *msg_sent; + Eina_Bool called : 1; }; struct _Eldbus_Message_Iter --
