From 0d73ec651004d555c2aaa1df504b8f3d71a3d951 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandre.savard@savoirfairelinux.com> Date: Mon, 28 Feb 2011 11:58:07 -0500 Subject: [PATCH] [#5242] Hangup every calls before leaving --- sflphone-common/src/managerimpl.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index f91a520417..e5ca864f0b 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -173,6 +173,15 @@ void ManagerImpl::terminate () _debug ("Manager: Terminate "); + std::vector<std::string> callList = getCallList(); + _debug ("Manager: Hangup %d remaining call", callList.size()); + std::vector<std::string>::iterator iter = callList.begin(); + + while (iter != callList.end()) { + hangupCall (*iter); + iter++; + } + unloadAccountMap(); _debug ("Manager: Unload DTMF key"); @@ -393,7 +402,6 @@ bool ManagerImpl::hangupCall (const CallID& call_id) _info ("Manager: Hangup call %s", call_id.c_str()); - PulseLayer *pulselayer; AccountID account_id; bool returnValue = true; @@ -453,10 +461,6 @@ bool ManagerImpl::hangupCall (const CallID& call_id) audiolayer->stopStream(); } - if (_audiodriver->getLayerType() == PULSEAUDIO) { - pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); - } - return returnValue; } -- GitLab