diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index 9db64e3f56e0d2f2ca0ed9270f96219372dc9e35..c6e0fa8369e097c7611dc6853ce4f9d8c165d111 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -1156,15 +1156,19 @@ void ManagerImpl::detachParticipant (const CallID& call_id, onHoldCall(call_id); removeParticipant(call_id); - processRemainingParticipant(current_call_id, conf); + + _dbus->getCallManager()->conferenceChanged(conf->getConfID(), + conf->getStateStr()); } - } else { + } + else { _debug ("Manager: Call is not conferencing, cannot detach"); } - } else { + } + else { _debug ("Manager: Unbind main participant from all"); _audiodriver->getMainBuffer()->unBindAll(default_id); @@ -1211,9 +1215,6 @@ void ManagerImpl::removeParticipant (const CallID& call_id) { conf->remove(call_id); call->setConfId(""); - _dbus->getCallManager()->conferenceChanged(conf->getConfID(), - conf->getStateStr()); - } if (_audiodriver) @@ -1648,8 +1649,8 @@ void ManagerImpl::peerHungupCall (const CallID& call_id) { if (conf != NULL) { removeParticipant(call_id); - processRemainingParticipant(current_call_id, conf); + } } else { if (isCurrentCall(call_id)) {