From 4e06de11a6ac772ebff7da23d6c000935d17723e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Quentin?=
 <jquentin@jquentin-laptop-kub2.(none)>
Date: Wed, 15 Jul 2009 14:40:58 -0400
Subject: [PATCH] [#1853] Edit before call does nothing on call history [#1854]
 Edit before call calls even if user presses cancel

---
 sflphone-client-kde/src/sflphone_kdeview.cpp | 32 ++++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/sflphone-client-kde/src/sflphone_kdeview.cpp b/sflphone-client-kde/src/sflphone_kdeview.cpp
index 3e144e160e..ad49b55d49 100644
--- a/sflphone-client-kde/src/sflphone_kdeview.cpp
+++ b/sflphone-client-kde/src/sflphone_kdeview.cpp
@@ -1150,11 +1150,14 @@ void sflphone_kdeView::editBeforeCall()
 		if(item)
 		{
 			Call * call = callList->findCallByHistoryItem(item);
-			name = call->getPeerName();
-			number = call->getPeerPhoneNumber();
+			if(call)
+			{
+				name = call->getPeerName();
+				number = call->getPeerPhoneNumber();
+			}
 		}
 	}
-	if(stackedWidget_screen->currentWidget() == page_addressBook)
+	else if(stackedWidget_screen->currentWidget() == page_addressBook)
 	{
 		QListWidgetItem * item = listWidget_addressBook->currentItem();
 		if(item)
@@ -1166,16 +1169,19 @@ void sflphone_kdeView::editBeforeCall()
 	}
 	else
 	{	return;	}
-	QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number);
-	
-	action_history->setChecked(false);
-	action_addressBook->setChecked(false);
-	stackedWidget_screen->setCurrentWidget(page_callList);
-	Call * call = callList->addDialingCall(name);
-	call->appendItemText(newNumber);
-	addCallToCallList(call);
-	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-	action(call, CALL_ACTION_ACCEPT);
+	bool ok;
+	QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number, &ok);
+	if(ok)
+	{
+		action_history->setChecked(false);
+		action_addressBook->setChecked(false);
+		stackedWidget_screen->setCurrentWidget(page_callList);
+		Call * call = callList->addDialingCall(name);
+		call->appendItemText(newNumber);
+		addCallToCallList(call);
+		listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
+		action(call, CALL_ACTION_ACCEPT);
+	}
 }
 
 void sflphone_kdeView::setAccountFirst(Account * account)
-- 
GitLab