maiku.vv: b96d49fd: Properly free PurpleMedia when there's a...
maiku at soc.pidgin.im
maiku at soc.pidgin.im
Thu Aug 28 05:15:40 EDT 2008
-----------------------------------------------------------------
Revision: b96d49fd610064cdc611a4e70497057429e44181
Ancestor: a72b858b073e92f0a1662db82ddea0b4b88e6aea
Author: maiku at soc.pidgin.im
Date: 2008-08-28T04:57:30
Branch: im.pidgin.maiku.vv
URL: http://d.pidgin.im/viewmtn/revision/info/b96d49fd610064cdc611a4e70497057429e44181
Modified files:
libpurple/media.c libpurple/protocols/jabber/jingle.c
ChangeLog:
Properly free PurpleMedia when there's an error creating an FsStream.
-------------- next part --------------
============================================================
--- libpurple/media.c 6def34bd0fa125078c131715492b6bd8194d724d
+++ libpurple/media.c 2bcf57927b7f6f3e44faad930d37fc95851dc301
@@ -1199,6 +1199,7 @@ purple_media_add_stream_internal(PurpleM
err->message);
g_error_free(err);
g_object_unref(participant);
+ g_hash_table_remove(media->priv->participants, who);
purple_media_remove_session(media, session);
g_free(session);
return FALSE;
============================================================
--- libpurple/protocols/jabber/jingle.c bbabfe18abb1eb0652ff5c151aa5d7165af01bce
+++ libpurple/protocols/jabber/jingle.c 8501eb4aeff8cd86bd131aa3933584219fddec7c
@@ -949,6 +949,8 @@ jabber_jingle_session_initiate_media_int
return FALSE;
}
+ jabber_jingle_session_set_media(session, media);
+
for (; contents; contents = g_list_delete_link(contents, contents)) {
JingleSessionContent *jsc = contents->data;
gboolean result = FALSE;
@@ -986,12 +988,11 @@ jabber_jingle_session_initiate_media_int
if (!result) {
purple_debug_error("jingle", "Couldn't create stream\n");
+ purple_media_hangup(media);
return FALSE;
}
}
- jabber_jingle_session_set_media(session, media);
-
/* connect callbacks */
g_signal_connect_swapped(G_OBJECT(media), "accepted",
G_CALLBACK(jabber_jingle_session_send_session_accept), session);
More information about the Commits
mailing list