| 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 |