Commit ecde9f23 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

[#3233] Move "conferenceChanged" dbus signal in detachParticipant

Was previously in remove participant
parent d6488379
...@@ -1150,14 +1150,15 @@ void ManagerImpl::detachParticipant (const CallID& call_id, ...@@ -1150,14 +1150,15 @@ void ManagerImpl::detachParticipant (const CallID& call_id,
iter_details = call_details.find("CALL_STATE"); iter_details = call_details.find("CALL_STATE");
if (iter_details->second == "RINGING") { if (iter_details->second == "RINGING") {
removeParticipant(call_id); removeParticipant(call_id);
} else { }
_debug (" ONHOLD %s", call_id.c_str()); else {
onHoldCall(call_id); onHoldCall(call_id);
removeParticipant(call_id);
removeParticipant(call_id); processRemainingParticipant(current_call_id, conf);
processRemainingParticipant(current_call_id, conf); _dbus->getCallManager()->conferenceChanged(conf->getConfID(),
conf->getStateStr());
} }
} else { } else {
...@@ -1210,10 +1211,6 @@ void ManagerImpl::removeParticipant (const CallID& call_id) { ...@@ -1210,10 +1211,6 @@ void ManagerImpl::removeParticipant (const CallID& call_id) {
_debug ("Manager: Remove participant %s", call_id.c_str()); _debug ("Manager: Remove participant %s", call_id.c_str());
conf->remove(call_id); conf->remove(call_id);
call->setConfId(""); call->setConfId("");
_dbus->getCallManager()->conferenceChanged(conf->getConfID(),
conf->getStateStr());
} }
if (_audiodriver) if (_audiodriver)
...@@ -1224,7 +1221,8 @@ void ManagerImpl::removeParticipant (const CallID& call_id) { ...@@ -1224,7 +1221,8 @@ void ManagerImpl::removeParticipant (const CallID& call_id) {
void ManagerImpl::processRemainingParticipant (CallID current_call_id, void ManagerImpl::processRemainingParticipant (CallID current_call_id,
Conference *conf) { Conference *conf) {
_debug ("ManagerImpl::processRemainingParticipant()"); _debug ("Manager: Process remaining %d participant(s) from conference %s",
conf->getNbParticipants(), conf->getConfID().c_str());
if (conf->getNbParticipants() > 1) { if (conf->getNbParticipants() > 1) {
...@@ -1250,7 +1248,6 @@ void ManagerImpl::processRemainingParticipant (CallID current_call_id, ...@@ -1250,7 +1248,6 @@ void ManagerImpl::processRemainingParticipant (CallID current_call_id,
ParticipantSet::iterator iter_participant = participants.begin(); ParticipantSet::iterator iter_participant = participants.begin();
// bind main participant to remaining conference call // bind main participant to remaining conference call
if (iter_participant != participants.end()) { if (iter_participant != participants.end()) {
// this call is no more a conference participant // this call is no more a conference participant
...@@ -1268,6 +1265,7 @@ void ManagerImpl::processRemainingParticipant (CallID current_call_id, ...@@ -1268,6 +1265,7 @@ void ManagerImpl::processRemainingParticipant (CallID current_call_id,
} }
removeConference(conf->getConfID()); removeConference(conf->getConfID());
} else { } else {
removeConference(conf->getConfID()); removeConference(conf->getConfID());
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment