diff options
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/action-chain-internal.h | 1 | ||||
-rw-r--r-- | libempathy/action-chain.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libempathy/action-chain-internal.h b/libempathy/action-chain-internal.h index d2395d172..14750c938 100644 --- a/libempathy/action-chain-internal.h +++ b/libempathy/action-chain-internal.h @@ -42,6 +42,7 @@ void _tpl_action_chain_prepend (TplActionChain *self, TplPendingAction func, void _tpl_action_chain_start (TplActionChain *self); void _tpl_action_chain_continue (TplActionChain *self); void _tpl_action_chain_terminate (TplActionChain *self, const GError *error); +void _tpl_action_chain_clear (TplActionChain *self); gpointer _tpl_action_chain_get_object (TplActionChain *self); gboolean _tpl_action_chain_new_finish (GObject *source, diff --git a/libempathy/action-chain.c b/libempathy/action-chain.c index 30217ddc5..b6bf25ab9 100644 --- a/libempathy/action-chain.c +++ b/libempathy/action-chain.c @@ -137,6 +137,13 @@ _tpl_action_chain_continue (TplActionChain *self) void +_tpl_action_chain_clear (TplActionChain *self) +{ + g_queue_foreach (self->chain, (GFunc) link_free, NULL); + g_queue_clear (self->chain); +} + +void _tpl_action_chain_terminate (TplActionChain *self, const GError *error) { |