gboolean linphone_gtk_check_logs(){ GList *elem; g_static_mutex_lock(&log_mutex); for(elem=log_queue;elem!=NULL;elem=elem->next){ LinphoneGtkLog *lgl=(LinphoneGtkLog*)elem->data; linphone_gtk_display_log(lgl->lev,lgl->msg); g_free(lgl->msg); g_free(lgl); } if (log_queue) g_list_free(log_queue); log_queue=NULL; g_static_mutex_unlock(&log_mutex); return TRUE; }
/* * called from Gtk main loop. **/ gboolean linphone_gtk_check_logs(void){ GList *elem; GtkTextView *v=NULL; if (log_window) v=GTK_TEXT_VIEW(linphone_gtk_get_widget(log_window,"textview")); g_static_mutex_lock(&log_mutex); for(elem=log_queue;elem!=NULL;elem=elem->next){ LinphoneGtkLog *lgl=(LinphoneGtkLog*)elem->data; if (v) linphone_gtk_display_log(v,lgl->lev,lgl->msg); g_free(lgl->msg); g_free(lgl); } if (log_queue) g_list_free(log_queue); log_queue=NULL; g_static_mutex_unlock(&log_mutex); if (v) linphone_gtk_log_scroll_to_end(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(log_window,"scroll_to_end"))); return TRUE; }
/* * called from Gtk main loop. **/ gboolean linphone_gtk_check_logs(void){ GList *elem; GtkTextView *v=NULL; if (log_window) v=GTK_TEXT_VIEW(linphone_gtk_get_widget(log_window,"textview")); g_static_mutex_lock(&log_mutex); for(elem=log_queue;elem!=NULL;elem=elem->next){ LinphoneGtkLog *lgl=(LinphoneGtkLog*)elem->data; if (v) linphone_gtk_display_log(v,lgl->lev,lgl->msg); g_free(lgl->msg); g_free(lgl); } if (log_queue) g_list_free(log_queue); log_queue=NULL; g_static_mutex_unlock(&log_mutex); if (v) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(log_window,"scroll_to_end")), lp_config_get_int(linphone_core_get_config(linphone_gtk_get_core()), "GtkUi", "logs_scroll_to_end", 0) == 1); linphone_gtk_log_scroll_to_end(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(log_window,"scroll_to_end"))); } return TRUE; }