{
if (state == PURPLE_MEDIA_STATE_END && !id && !participant) {
- chat->media = NULL;
- chime_call_set_mute(chat->call, TRUE);
+ if (chat->media) {
+ chat->media = NULL;
+ chime_call_set_mute(chat->call, TRUE);
+ }
}
}
0, 0, NULL, NULL, chat);
if (chat->media) {
- purple_media_end(chat->media, "chime", chime_call_get_alert_body(chat->call));
- purple_media_manager_remove_media(purple_media_manager_get(),
- chat->media);
+ PurpleMedia *media = chat->media;
chat->media = NULL;
+
+ purple_media_end(media, "chime", chime_call_get_alert_body(chat->call));
+ purple_media_manager_remove_media(purple_media_manager_get(), media);
}
if (chat->audio_inpipeline) {