summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ruprecht <maiku@pidgin.im>2009-10-28 18:36:18 +0000
committerMichael Ruprecht <maiku@pidgin.im>2009-10-28 18:36:18 +0000
commit5e978c1f323f39ff986bdc97592c7094bd0662af (patch)
tree89d2d0d830d0eb8621fc00854ae0648bd3ef6120
parent0733d5835aaeb9d997cab162263a2999bc466a36 (diff)
downloadpidgin-5e978c1f323f39ff986bdc97592c7094bd0662af.tar.gz
Move new stream emission back to media.c
-rw-r--r--libpurple/media/backend-fs2.c3
-rw-r--r--libpurple/media/media.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/libpurple/media/backend-fs2.c b/libpurple/media/backend-fs2.c
index 38d40201da..94bae684f6 100644
--- a/libpurple/media/backend-fs2.c
+++ b/libpurple/media/backend-fs2.c
@@ -1468,9 +1468,6 @@ _create_participant(PurpleMediaBackendFs2 *self, const gchar *name)
g_hash_table_insert(priv->participants, g_strdup(name), participant);
- g_signal_emit_by_name(priv->media, "state-changed",
- PURPLE_MEDIA_STATE_NEW, NULL, name);
-
return TRUE;
}
diff --git a/libpurple/media/media.c b/libpurple/media/media.c
index 3e36c578a9..042639792b 100644
--- a/libpurple/media/media.c
+++ b/libpurple/media/media.c
@@ -1033,6 +1033,15 @@ purple_media_add_stream(PurpleMedia *media, const gchar *sess_id,
session->id, NULL);
}
+ if (!g_list_find_custom(media->priv->participants,
+ who, (GCompareFunc)strcmp)) {
+ media->priv->participants = g_list_prepend(
+ media->priv->participants, g_strdup(who));
+
+ g_signal_emit_by_name(media, "state-changed",
+ PURPLE_MEDIA_STATE_NEW, NULL, who);
+ }
+
if (purple_media_get_stream(media, sess_id, who) == NULL) {
stream = purple_media_insert_stream(session, who, initiator);