Mercurial > pidgin
changeset 29215:1eb68d854dfc
Fix two assertions related to no sessions being created for the media object.
author | maiku@pidgin.im |
---|---|
date | Mon, 02 Nov 2009 23:14:33 +0000 |
parents | 7c87e62790a6 |
children | e4884dbf0c02 |
files | libpurple/media/media.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/media/media.c Mon Nov 02 20:20:21 2009 +0000 +++ b/libpurple/media/media.c Mon Nov 02 23:14:33 2009 +0000 @@ -739,7 +739,8 @@ } /* Free the conference if no sessions left */ - if (g_hash_table_size(media->priv->sessions) == 0) { + if (media->priv->sessions != NULL && + g_hash_table_size(media->priv->sessions) == 0) { g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0, PURPLE_MEDIA_STATE_END, NULL, NULL); @@ -846,9 +847,12 @@ /* Everything that needs to be emitted has been */ } else if (session_id == NULL && participant == NULL) { /* Emit for everything in the conference */ - GList *sessions = g_hash_table_get_values( + GList *sessions = NULL; + GList *participants = media->priv->participants; + + if (media->priv->sessions != NULL) + sessions = g_hash_table_get_values( media->priv->sessions); - GList *participants = media->priv->participants; /* Emit for sessions */ for (; sessions; sessions = g_list_delete_link(