From d2821be945fefd89c8716ceb1f4c5bc86156ea98 Mon Sep 17 00:00:00 2001 From: Michael Jerris <mike@jerris.com> Date: Fri, 5 Jun 2009 16:16:56 +0000 Subject: [PATCH] mod_conference: don't transfer back to the same conference git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13638 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_conference/mod_conference.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index b5f6104ed0..742b175e5d 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -3933,15 +3933,17 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc /* move the member from the old conference to the new one */ switch_mutex_lock(member->control_mutex); - conference_del_member(conference, member); - conference_add_member(new_conference, member); + if (conference != new_conference) { + conference_del_member(conference, member); + conference_add_member(new_conference, member); - if (conference->rate != new_conference->rate) { - if (setup_media(member, new_conference)) { - switch_clear_flag_locked(member, MFLAG_RUNNING); - } else { - switch_channel_set_app_flag(channel, CF_APP_TAGGED); - switch_set_flag_locked(member, MFLAG_RESTART); + if (conference->rate != new_conference->rate) { + if (setup_media(member, new_conference)) { + switch_clear_flag_locked(member, MFLAG_RUNNING); + } else { + switch_channel_set_app_flag(channel, CF_APP_TAGGED); + switch_set_flag_locked(member, MFLAG_RESTART); + } } }