From 0aef436df6b17cc9d1c70419c92cbd9d12995abb Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 12 Aug 2015 17:35:06 +0200 Subject: [PATCH] fix crash when terminating call at the GTK interface level. --- coreapi/call_params.h | 2 +- gtk/incall_view.c | 7 +++++-- mediastreamer2 | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/coreapi/call_params.h b/coreapi/call_params.h index 8f9182af1..29c0a1223 100644 --- a/coreapi/call_params.h +++ b/coreapi/call_params.h @@ -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*/ }; /** diff --git a/gtk/incall_view.c b/gtk/incall_view.c index 5f2f73fc1..c3b137fb6 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -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); } } diff --git a/mediastreamer2 b/mediastreamer2 index 9e7e97f5e..46c025c42 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 9e7e97f5ed71e4eda8a3b04234fb31e3ebbfb4d9 +Subproject commit 46c025c428a0bd7c351258ce0d20d6341e895287