From 34fd4562709ab6d7c9b444ccb691e19bc29cc630 Mon Sep 17 00:00:00 2001
From: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
Date: Tue, 13 May 2008 10:26:14 -0400
Subject: [PATCH] Fix transfer case for call duration

---
 sflphone-gtk/src/actions.c  |  3 +++
 sflphone-gtk/src/calltree.c | 10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c
index 123590364c..9909edd233 100644
--- a/sflphone-gtk/src/actions.c
+++ b/sflphone-gtk/src/actions.c
@@ -245,6 +245,7 @@ sflphone_hang_up()
 				break;
 			case CALL_STATE_TRANSFERT:  
 				dbus_hang_up (selectedCall);
+				(void) time(&selectedCall->_stop);
 				break;
 			default:
 				g_warning("Should not happen in sflphone_hang_up()!");
@@ -277,6 +278,7 @@ sflphone_pick_up()
 				break;
 			case CALL_STATE_TRANSFERT:
 				dbus_transfert (selectedCall);
+				(void) time(&selectedCall->_stop);
 				break;
 			case CALL_STATE_CURRENT:
 				sflphone_new_call();
@@ -545,6 +547,7 @@ sflphone_keypad( guint keyval, gchar * key)
 					case 65293: /* ENTER */
 					case 65421: /* ENTER numpad */
 						dbus_transfert(c);
+						(void) time(&c->_stop);
 						break;
 					case 65307: /* ESCAPE */
 						sflphone_unset_transfert(c); 
diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index bffd121ad9..41f741de6f 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -105,9 +105,17 @@ call_button( GtkWidget *widget, gpointer   data )
       sflphone_place_call(newCall);
       if( active_calltree == history )  switch_tab();
     }
-  }else
+    else
+    {
+      sflphone_new_call();
+      if( active_calltree == history )  switch_tab();
+    }
+  }
+  else
+  {
     sflphone_new_call();
     if( active_calltree == history )  switch_tab();
+  }
 }
 
 /**
-- 
GitLab