libpurple/media/backend-fs2.c

changeset 40062
d25228fc7b8e
parent 40043
90446617d967
child 40096
b8cba5cc6498
equal deleted inserted replaced
40061:b3ac7a4a6fc7 40062:d25228fc7b8e
392 PURPLE_MEDIA_BACKEND_FS2(obj)); 392 PURPLE_MEDIA_BACKEND_FS2(obj));
393 393
394 purple_debug_info("backend-fs2", "purple_media_backend_fs2_finalize\n"); 394 purple_debug_info("backend-fs2", "purple_media_backend_fs2_finalize\n");
395 395
396 g_free(priv->conference_type); 396 g_free(priv->conference_type);
397 397 g_list_free_full(priv->streams, (GDestroyNotify)free_stream);
398 for (; priv->streams; priv->streams =
399 g_list_delete_link(priv->streams, priv->streams)) {
400 PurpleMediaBackendFs2Stream *stream = priv->streams->data;
401 free_stream(stream);
402 }
403 398
404 if (priv->sessions) { 399 if (priv->sessions) {
405 GList *sessions = g_hash_table_get_values(priv->sessions); 400 GList *sessions = g_hash_table_get_values(priv->sessions);
406 401
407 for (; sessions; sessions = 402 g_list_free_full(sessions, (GDestroyNotify)free_session);
408 g_list_delete_link(sessions, sessions)) {
409 PurpleMediaBackendFs2Session *session =
410 sessions->data;
411 free_session(session);
412 }
413
414 g_hash_table_destroy(priv->sessions); 403 g_hash_table_destroy(priv->sessions);
415 } 404 }
416 405
417 G_OBJECT_CLASS(purple_media_backend_fs2_parent_class)->finalize(obj); 406 G_OBJECT_CLASS(purple_media_backend_fs2_parent_class)->finalize(obj);
418 } 407 }

mercurial