Skip to content
Snippets Groups Projects
Commit 61164f53 authored by pierre-luc's avatar pierre-luc
Browse files

[#2017] [#2019] Fix the inability to dial a number and place a registered

call. Also, the pulseaudio layer is no more drained because of the time (useless)
it could take in some circumstances.
parent 51af54ed
No related branches found
No related tags found
No related merge requests found
......@@ -602,7 +602,7 @@ sflphone_new_call()
callable_obj_t *c;
gchar *peer_name, *peer_number;
DEBUG("sflphone_new_call\n");
DEBUG("sflphone_new_call");
sflphone_on_hold();
// Play a tone when creating a new call
......@@ -644,11 +644,11 @@ sflphone_keypad( guint keyval, gchar * key)
}
else if(c)
{
DEBUG("call");
DEBUG("Call is non-zero");
switch(c->_state)
{
case CALL_STATE_DIALING: // Currently dialing => edit number
DEBUG("Writing a number\n");
DEBUG("Writing a number");
process_dialing(c, keyval, key);
break;
case CALL_STATE_RECORD:
......@@ -784,6 +784,11 @@ static int _place_registered_call(callable_obj_t * c) {
account_t * current = NULL;
if(c == NULL) {
DEBUG("callable_obj_t is NULL in _place_registered_call");
return -1;
}
if (c->_state != CALL_STATE_DIALING) {
return -1;
}
......@@ -804,12 +809,17 @@ static int _place_registered_call(callable_obj_t * c) {
return -1;
}
current = account_list_get_by_id(c->_accountID);
if(g_strcasecmp(c->_accountID, "") != 0) {
current = account_list_get_by_id(c->_accountID);
} else {
current = account_list_get_current();
}
if(current == NULL) {
DEBUG("Unexpected condition: account_t is NULL in %s at %d", __FILE__, __LINE__);
DEBUG("Unexpected condition: account_t is NULL in %s at %d for accountID %s", __FILE__, __LINE__, c->_accountID);
return -1;
}
if(g_strcasecmp(g_hash_table_lookup( current->properties, "Status"),"REGISTERED")==0) {
/* The call is made with the current account */
c->_accountID = current->accountID;
......@@ -820,7 +830,7 @@ static int _place_registered_call(callable_obj_t * c) {
* If we are here, we can be sure that there is at least one.
*/
current = account_list_get_by_state( ACCOUNT_STATE_REGISTERED );
c->_accountID = current -> accountID;
c->_accountID = current->accountID;
dbus_place_call(c);
notify_current_account( current );
}
......
......@@ -51,7 +51,7 @@ popup_menu (GtkWidget *widget,
/* Call back when the user click on a call in the list */
static void
selected(GtkTreeSelection *sel, void* data UNUSED )
call_selected_cb(GtkTreeSelection *sel, void* data UNUSED )
{
GtkTreeIter iter;
GValue val;
......@@ -231,10 +231,6 @@ focus_on_calltree_in(){
void
calltree_create (calltab_t* tab, gboolean searchbar_type)
{
// GtkWidget *sw;
// GtkCellRenderer *rend;
// GtkTreeViewColumn *col;
// GtkTreeSelection *sel;
tab->tree = gtk_vbox_new(FALSE, 10);
......@@ -320,7 +316,7 @@ calltree_create (calltab_t* tab, gboolean searchbar_type)
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tab->view));
g_signal_connect (G_OBJECT (sel), "changed",
G_CALLBACK (selected),
G_CALLBACK (call_selected_cb),
NULL);
gtk_box_pack_start(GTK_BOX(tab->tree), sw, TRUE, TRUE, 0);
......@@ -672,6 +668,8 @@ void calltree_add_call (calltab_t* tab, callable_obj_t * c)
{ g_object_unref(G_OBJECT(pixbuf)); }
gtk_tree_view_set_model (GTK_TREE_VIEW(history->view), GTK_TREE_MODEL(history->store));
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(tab->view)), &iter);
history_reinit(history);
}
......@@ -803,6 +801,7 @@ void calltree_display (calltab_t *tab) {
gtk_widget_show (active_calltree->tree);
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (active_calltree->view));
DEBUG("Emit signal changed from calltree_display");
g_signal_emit_by_name(sel, "changed");
toolbar_update_buttons();
}
......@@ -57,7 +57,7 @@ PulseLayer::closeLayer (void)
// PulseLayer to close immediately, not
// waiting for the playback buffer to be
// emptied. It should not hurt.
playback->drainStream();
//playback->drainStream();
if (m) {
pa_threaded_mainloop_stop (m);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment