fix crash when terminating call at the GTK interface level.

This commit is contained in:
Simon Morlat 2015-08-12 17:35:06 +02:00
parent 3fcc80f87b
commit 0aef436df6
3 changed files with 7 additions and 4 deletions

View file

@ -37,7 +37,7 @@ enum _LinphoneMediaDirection {
LinphoneMediaDirectionInactive, /** No active media not supported yet*/
LinphoneMediaDirectionSendOnly, /** Send only mode*/
LinphoneMediaDirectionRecvOnly, /** recv only mode*/
LinphoneMediaDirectionSendRecv, /*send receive mode not supported yet*/
LinphoneMediaDirectionSendRecv, /** send receive*/
};
/**

View file

@ -607,7 +607,8 @@ static gboolean update_audio_meter(volume_ctx_t *ctx){
return TRUE;
}
static void on_audio_meter_destroy(guint task_id){
static void on_audio_meter_destroy(GtkWidget *w, gpointer data){
guint task_id = GPOINTER_TO_INT(data);
g_source_remove(task_id);
}
@ -621,7 +622,8 @@ void linphone_gtk_init_audio_meter(GtkWidget *w, get_volume_t get_volume, void *
ctx->last_value=0;
g_object_set_data_full(G_OBJECT(w),"ctx",ctx,g_free);
task_id=g_timeout_add(50,(GSourceFunc)update_audio_meter,ctx);
g_object_set_data_full(G_OBJECT(w),"task_id",GINT_TO_POINTER(task_id),(GDestroyNotify)on_audio_meter_destroy);
g_object_set_data(G_OBJECT(w), "task_id", GINT_TO_POINTER(task_id));
g_signal_connect(G_OBJECT(w), "destroy", (GCallback)on_audio_meter_destroy, GINT_TO_POINTER(task_id));
}
}
@ -630,6 +632,7 @@ void linphone_gtk_uninit_audio_meter(GtkWidget *w){
if (task_id!=0){
g_object_set_data(G_OBJECT(w),"ctx",NULL);
g_object_set_data(G_OBJECT(w),"task_id",NULL);
g_source_remove(task_id);
}
}

@ -1 +1 @@
Subproject commit 9e7e97f5ed71e4eda8a3b04234fb31e3ebbfb4d9
Subproject commit 46c025c428a0bd7c351258ce0d20d6341e895287