summaryrefslogtreecommitdiff
path: root/src/trg-state-selector.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-04-16 21:46:15 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-04-16 21:46:15 +0000
commit2515c70aec58814f32fc7e22ab9dfa90fcd934e6 (patch)
tree45874fb488b7d996fb2323d355172d18cd204a0c /src/trg-state-selector.c
parent5cda9c1baa93b0e0157431b1483d0734ba4afe80 (diff)
oops.. json_array_get_elements() returns a newly allocated list, not the one owned by the array. fix a few memory leaks.
Diffstat (limited to 'src/trg-state-selector.c')
-rw-r--r--src/trg-state-selector.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c
index 7ffe12c..816d7a1 100644
--- a/src/trg-state-selector.c
+++ b/src/trg-state-selector.c
@@ -216,21 +216,23 @@ void trg_state_selector_update(TrgStateSelector * s)
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s));
trg_client *client = priv->client;
- GtkTreeIter iter;
- GList *trackerItem, *li;
GList *torrentItemRefs = g_hash_table_get_values(client->torrentTable);
-
+ GtkTreeIter iter;
+ GList *trackersList, *trackerItem, *li;
+ GtkTreeRowReference *rr;
+ GtkTreePath *path;
+ GtkTreeModel *torrentModel;
+ gpointer result;
struct cruft_remove_args cruft;
if (!client->session)
return;
for (li = torrentItemRefs; li; li = g_list_next(li)) {
- GtkTreeRowReference *rr = (GtkTreeRowReference *) li->data;
- GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
- GtkTreeModel *torrentModel = gtk_tree_row_reference_get_model(rr);
JsonObject *t = NULL;
- gpointer result;
+ rr = (GtkTreeRowReference *) li->data;
+ path = gtk_tree_row_reference_get_path(rr);
+ torrentModel = gtk_tree_row_reference_get_model(rr);
if (path) {
GtkTreeIter iter;
@@ -245,9 +247,8 @@ void trg_state_selector_update(TrgStateSelector * s)
continue;
if (priv->showTrackers) {
- JsonArray *trackers = torrent_get_trackers(t);
-
- for (trackerItem = json_array_get_elements(trackers);
+ trackersList = json_array_get_elements(torrent_get_trackers(t));
+ for (trackerItem = trackersList;
trackerItem; trackerItem = g_list_next(trackerItem)) {
JsonObject *tracker =
json_node_get_object((JsonNode *) trackerItem->data);
@@ -284,6 +285,7 @@ void trg_state_selector_update(TrgStateSelector * s)
quick_tree_ref_new(model, &iter));
}
}
+ g_list_free(trackersList);
}
if (priv->showDirs) {