eldbus hackaround for proxy deletion during pending callback
authorMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 8 Dec 2014 19:55:30 +0000 (14:55 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 8 Dec 2014 20:14:24 +0000 (15:14 -0500)
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
src/lib/eldbus/eldbus_private_types.h

index efa3970..53cc47e 100644 (file)
@@ -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);
 
index 8ebe682..14959d0 100644 (file)
@@ -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