diff options
-rw-r--r-- | src/lib/eldbus/eldbus_pending.c | 2 | ||||
-rw-r--r-- | src/lib/eldbus/eldbus_private_types.h | 1 |
2 files changed, 3 insertions, 0 deletions
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 | |||
219 | eldbus_pending_dispatch(Eldbus_Pending *pending, Eldbus_Message *msg) | 219 | eldbus_pending_dispatch(Eldbus_Pending *pending, Eldbus_Message *msg) |
220 | { | 220 | { |
221 | DBG("pending=%p msg=%p", pending, msg); | 221 | DBG("pending=%p msg=%p", pending, msg); |
222 | if (pending->called) return; | ||
223 | pending->called = 1; | ||
222 | if (pending->cb) | 224 | if (pending->cb) |
223 | pending->cb((void *)pending->cb_data, msg, pending); | 225 | pending->cb((void *)pending->cb_data, msg, pending); |
224 | 226 | ||
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 | |||
114 | Eina_Inlist *data; | 114 | Eina_Inlist *data; |
115 | Eina_Inlist *cbs_free; | 115 | Eina_Inlist *cbs_free; |
116 | Eldbus_Message *msg_sent; | 116 | Eldbus_Message *msg_sent; |
117 | Eina_Bool called : 1; | ||
117 | }; | 118 | }; |
118 | 119 | ||
119 | struct _Eldbus_Message_Iter | 120 | struct _Eldbus_Message_Iter |