summaryrefslogtreecommitdiff
path: root/agent/agent.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/agent.c')
-rw-r--r--agent/agent.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/agent/agent.c b/agent/agent.c
index d89fffe..2fe07a1 100644
--- a/agent/agent.c
+++ b/agent/agent.c
@@ -5102,16 +5102,14 @@ nice_agent_dispose (GObject *object)
g_slist_free (agent->local_addresses);
agent->local_addresses = NULL;
- for (i = agent->streams; i; i = i->next)
- {
- NiceStream *s = i->data;
+ while (agent->streams) {
+ NiceStream *s = agent->streams->data;
- nice_stream_close (agent, s);
- g_object_unref (s);
- }
+ nice_stream_close (agent, s);
+ g_object_unref (s);
- g_slist_free (agent->streams);
- agent->streams = NULL;
+ agent->streams = g_slist_delete_link(agent->streams, agent->streams);
+ }
while ((sig = g_queue_pop_head (&agent->pending_signals))) {
free_queued_signal (sig);