diff --git a/linphone/coreapi/linphonecore.c b/linphone/coreapi/linphonecore.c index 12b0a5eb8..dc2628938 100644 --- a/linphone/coreapi/linphonecore.c +++ b/linphone/coreapi/linphonecore.c @@ -982,7 +982,11 @@ void linphone_core_iterate(LinphoneCore *lc) while((ev=eXosip_event_wait(0,0))!=NULL){ linphone_core_process_event(lc,ev); } - if (lc->automatic_action==0) eXosip_automatic_action(); + if (lc->automatic_action==0) { + eXosip_lock(); + eXosip_automatic_action(); + eXosip_unlock(); + } } if (lc->call!=NULL){ LinphoneCall *call=lc->call; diff --git a/linphone/gtk-glade/main.c b/linphone/gtk-glade/main.c index 2875f0009..689a9d5e2 100644 --- a/linphone/gtk-glade/main.c +++ b/linphone/gtk-glade/main.c @@ -353,7 +353,7 @@ void linphone_gtk_terminate_call(GtkWidget *button){ void linphone_gtk_decline_call(GtkWidget *button){ linphone_core_terminate_call(linphone_gtk_get_core(),NULL); - linphone_gtk_call_terminated(gtk_widget_get_toplevel(button)); + linphone_gtk_call_terminated(linphone_gtk_get_main_window()); gtk_widget_destroy(gtk_widget_get_toplevel(button)); }