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

-- 


Reply via email to