From 371b5ebdac5b813a4aa14e71b384c4475c70ceb5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Quentin?=
 <jquentin@jquentin-laptop-kub2.(none)>
Date: Mon, 6 Jul 2009 17:08:23 -0400
Subject: [PATCH] [#1798] Does not hang up when the call is building up

---
 sflphone-client-kde/src/Call.cpp | 9 ++++++++-
 sflphone-client-kde/src/Call.h   | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/sflphone-client-kde/src/Call.cpp b/sflphone-client-kde/src/Call.cpp
index b2f6a6ab1c..5539577e4f 100644
--- a/sflphone-client-kde/src/Call.cpp
+++ b/sflphone-client-kde/src/Call.cpp
@@ -54,7 +54,7 @@ const function Call::actionPerformedFunctionMap[11][5] =
 /*INCOMING       */  {&Call::accept     , &Call::refuse   , &Call::acceptTransf   , &Call::acceptHold  ,  &Call::setRecord     },
 /*RINGING        */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::nothing     ,  &Call::setRecord     },
 /*CURRENT        */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::hold        ,  &Call::setRecord     },
-/*DIALING        */  {&Call::call       , &Call::nothing  , &Call::nothing        , &Call::nothing     ,  &Call::nothing       },
+/*DIALING        */  {&Call::call       , &Call::cancel  , &Call::nothing        , &Call::nothing     ,  &Call::nothing       },
 /*HOLD           */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::unhold      ,  &Call::setRecord     },
 /*FAILURE        */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::nothing     ,  &Call::nothing       },
 /*BUSY           */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::nothing     ,  &Call::nothing       },
@@ -566,6 +566,13 @@ void Call::hangUp()
 	callManager.hangUp(callId);
 }
 
+void Call::cancel()
+{
+	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
+	qDebug() << "Canceling call. callId : " << callId;
+	callManager.hangUp(callId);
+}
+
 void Call::hold()
 {
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
diff --git a/sflphone-client-kde/src/Call.h b/sflphone-client-kde/src/Call.h
index 143c0cb4eb..8ec2ca9a0f 100644
--- a/sflphone-client-kde/src/Call.h
+++ b/sflphone-client-kde/src/Call.h
@@ -167,6 +167,7 @@ private:
 	void acceptTransf();
 	void acceptHold();
 	void hangUp();
+	void cancel();
 	void hold();
 	void call();
 	void transfer();
-- 
GitLab