summaryrefslogtreecommitdiff
path: root/telepathy-logger/action-chain.c
diff options
context:
space:
mode:
Diffstat (limited to 'telepathy-logger/action-chain.c')
-rw-r--r--telepathy-logger/action-chain.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/telepathy-logger/action-chain.c b/telepathy-logger/action-chain.c
index df792e5..14b9452 100644
--- a/telepathy-logger/action-chain.c
+++ b/telepathy-logger/action-chain.c
@@ -109,7 +109,10 @@ void
_tpl_action_chain_continue (TplActionChain *self)
{
if (g_queue_is_empty (self->chain))
- g_simple_async_result_complete (self->simple);
+ {
+ g_simple_async_result_complete (self->simple);
+ _tpl_action_chain_free (self);
+ }
else
{
TplActionLink *l = g_queue_pop_head (self->chain);
@@ -130,6 +133,7 @@ _tpl_action_chain_terminate (TplActionChain *self,
g_simple_async_result_set_from_error (simple, error);
g_simple_async_result_complete (simple);
+ _tpl_action_chain_free (self);
}
@@ -164,6 +168,5 @@ _tpl_action_chain_new_finish (GObject *source,
error))
return FALSE;
- _tpl_action_chain_free (chain);
return TRUE;
}