diff --git a/gtk/incall_view.c b/gtk/incall_view.c index 6c7edd939..174e39d69 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -171,7 +171,6 @@ void linphone_gtk_enable_transfer_button(LinphoneCore *lc, gboolean value){ static void conference_button_clicked(GtkWidget *button, gpointer call_ref){ gtk_widget_set_sensitive(button,FALSE); - g_object_set_data(G_OBJECT(linphone_gtk_get_main_window()),"conf_frame",NULL); linphone_core_add_all_to_conference(linphone_gtk_get_core()); } diff --git a/gtk/main.c b/gtk/main.c index 9367c8080..85ec6d36d 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -829,12 +829,12 @@ static void linphone_gtk_update_call_buttons(LinphoneCall *call){ conf_frame=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"conf_frame"); if(conf_frame==NULL){ linphone_gtk_enable_transfer_button(lc,call_list_size>1); - linphone_gtk_enable_conference_button(lc,call_list_size>1); } else { linphone_gtk_enable_transfer_button(lc,FALSE); - linphone_gtk_enable_conference_button(lc,FALSE); } if (call) { + bool_t enable_conference = call_list_size>1 && linphone_call_params_get_local_conference_mode(linphone_call_get_current_params(call)) == FALSE; + linphone_gtk_enable_conference_button(lc,enable_conference); linphone_gtk_update_video_button(call); } }