Mercurial > pidgin
diff libpurple/protocols/jabber/jingle/rtp.c @ 26524:df9042312063
Switch media to store accounts rather than connections.
This for the most part stops it from crashing when ending a session when
the connection has been interrupted.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Thu, 09 Apr 2009 21:35:06 +0000 |
parents | 8399b545925c |
children | 813f2eb3fdc8 |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jingle/rtp.c Thu Apr 09 17:59:35 2009 +0000 +++ b/libpurple/protocols/jabber/jingle/rtp.c Thu Apr 09 21:35:06 2009 +0000 @@ -204,8 +204,9 @@ { JabberStream *js = jingle_session_get_js(session); PurpleMedia *media = NULL; - GList *iter = purple_media_manager_get_media_by_connection( - purple_media_manager_get(), js->gc); + GList *iter = purple_media_manager_get_media_by_account( + purple_media_manager_get(), + purple_connection_get_account(js->gc)); for (; iter; iter = g_list_delete_link(iter, iter)) { JingleSession *media_session = @@ -466,6 +467,9 @@ { purple_debug_info("jingle-rtp", "stream-info: type %d " "id: %s name: %s\n", type, sid, name); + + g_return_if_fail(JINGLE_IS_SESSION(session)); + if (type == PURPLE_MEDIA_INFO_HANGUP) { jabber_iq_send(jingle_session_terminate_packet( session, "success")); @@ -518,9 +522,11 @@ JabberStream *js = jingle_session_get_js(session); gchar *remote_jid = jingle_session_get_remote_jid(session); - PurpleMedia *media = purple_media_manager_create_media(purple_media_manager_get(), - js->gc, "fsrtpconference", remote_jid, - jingle_session_is_initiator(session)); + PurpleMedia *media = purple_media_manager_create_media( + purple_media_manager_get(), + purple_connection_get_account(js->gc), + "fsrtpconference", remote_jid, + jingle_session_is_initiator(session)); g_free(remote_jid); if (!media) {