From 1e40de377901a788a5bbd7a9e38c1809208e5e3a Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Thu, 13 Feb 2014 01:04:58 +0100 Subject: [PATCH] Don't send all debug messages to Telepathy The log handler can be invoked at bad times, and in particular it can be invoked from gsignal with the signal lock taken. At that time, calling into arbitrary high-level APIs can cause a dead-lock. Instead, only send to telepathy the tp-glib debug messages. Everything else is in the journal anyway. https://bugzilla.gnome.org/show_bug.cgi?id=724256 --- src/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index a563c085d..290c7e7e1 100644 --- a/src/main.c +++ b/src/main.c @@ -277,7 +277,9 @@ default_log_handler (const char *log_domain, g_get_current_time (&now); - tp_debug_sender_add_message (sender, &now, log_domain, log_level, message); + /* Send telepathy debug through DBus */ + if (log_domain != NULL && g_str_has_prefix (log_domain, "tp-glib")) + tp_debug_sender_add_message (sender, &now, log_domain, log_level, message); /* Filter out telepathy-glib logs, we don't want to flood Shell's output * with those. */