libpurple/mediamanager.c

branch
release-2.x.y
changeset 37795
d9aac4128ad2
parent 37692
3ac4724fc358
child 37796
160437508477
equal deleted inserted replaced
37794:1645cfba41c8 37795:d9aac4128ad2
489 if (list) { 489 if (list) {
490 *medias = g_list_delete_link(*medias, list); 490 *medias = g_list_delete_link(*medias, list);
491 491
492 #ifdef HAVE_MEDIA_APPLICATION 492 #ifdef HAVE_MEDIA_APPLICATION
493 g_mutex_lock (&manager->priv->appdata_mutex); 493 g_mutex_lock (&manager->priv->appdata_mutex);
494 for (list = manager->priv->appdata_info; list; list = list->next) { 494 list = manager->priv->appdata_info;
495 while (list) {
495 PurpleMediaAppDataInfo *info = list->data; 496 PurpleMediaAppDataInfo *info = list->data;
497 GList *next = list->next;
496 498
497 if (info->media == media) { 499 if (info->media == media) {
498 manager->priv->appdata_info = g_list_delete_link ( 500 manager->priv->appdata_info = g_list_delete_link (
499 manager->priv->appdata_info, list); 501 manager->priv->appdata_info, list);
500 free_appdata_info_locked (info); 502 free_appdata_info_locked (info);
501 } 503 }
504
505 list = next;
502 } 506 }
503 g_mutex_unlock (&manager->priv->appdata_mutex); 507 g_mutex_unlock (&manager->priv->appdata_mutex);
504 #endif 508 #endif
505 } 509 }
506 #endif 510 #endif

mercurial