summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2011-03-21 09:23:12 +0000
committerJonny Lamb <jonny.lamb@collabora.co.uk>2011-03-21 09:23:12 +0000
commitff6037a2a24288d80fa201bd00b0dc9b5d668971 (patch)
treeacfd73cdc5bd6baf468a4cf1d6ab4321df694496
parent5a13d595205c0a5dacff0eb8a29063e8dd4c0554 (diff)
meta-porter: clarify closing all porters code
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r--wocky/wocky-meta-porter.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/wocky/wocky-meta-porter.c b/wocky/wocky-meta-porter.c
index bd4fd1a..8937722 100644
--- a/wocky/wocky-meta-porter.c
+++ b/wocky/wocky-meta-porter.c
@@ -1282,7 +1282,6 @@ close_all_porters (WockyMetaPorter *self,
WockyMetaPorterPrivate *priv = self->priv;
GSimpleAsyncResult *simple;
GList *porters, *l;
- ClosePorterData *data;
guint num;
porters = g_hash_table_get_values (priv->porters);
@@ -1293,27 +1292,26 @@ close_all_porters (WockyMetaPorter *self,
g_signal_emit_by_name (self, "closing");
- if (num == 0)
- goto out;
-
- data = g_slice_new0 (ClosePorterData);
- data->close_finish = close_finish_func;
- data->remaining = num;
- data->simple = simple;
-
- for (l = porters; l != NULL; l = l->next)
+ if (num > 0)
{
- PorterData *porter_data = l->data;
+ ClosePorterData *data = g_slice_new0 (ClosePorterData);
+ data->close_finish = close_finish_func;
+ data->remaining = num;
+ data->simple = simple;
+
+ for (l = porters; l != NULL; l = l->next)
+ {
+ PorterData *porter_data = l->data;
- /* NULL if there's a refcount but no porter */
- if (porter_data->porter == NULL)
- continue;
+ /* NULL if there's a refcount but no porter */
+ if (porter_data->porter == NULL)
+ continue;
- close_async_func (porter_data->porter, cancellable,
- porter_close_cb, data);
+ close_async_func (porter_data->porter, cancellable,
+ porter_close_cb, data);
+ }
}
-out:
g_list_free (porters);
/* there were no porters to close anyway */