aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2009-06-18 07:54:55 +0800
committerJonny Lamb <jonny.lamb@collabora.co.uk>2009-06-18 08:05:56 +0800
commit6914121ce5169769207613166e14c077259c863b (patch)
tree0ea43898ab34d033e0cd8f3f7f3bd7eb851f8a19 /src
parenta7785586abe2bf770185fdf8be1855552c476600 (diff)
downloadgsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar.gz
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar.bz2
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar.lz
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar.xz
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.tar.zst
gsoc2013-empathy-6914121ce5169769207613166e14c077259c863b.zip
Implement o.fd.Tp.Debug. (Fixes #580631)
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/empathy.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/empathy.c b/src/empathy.c
index f23ce9145..fc6b5118c 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -48,6 +48,7 @@
#include <libempathy/empathy-call-factory.h>
#include <libempathy/empathy-chatroom-manager.h>
#include <libempathy/empathy-account-manager.h>
+#include <libempathy/empathy-debugger.h>
#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-dispatch-operation.h>
#include <libempathy/empathy-log-manager.h>
@@ -450,6 +451,31 @@ new_call_handler_cb (EmpathyCallFactory *factory, EmpathyCallHandler *handler,
gtk_widget_show (GTK_WIDGET (window));
}
+#ifdef ENABLE_DEBUG
+static void
+default_log_handler (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data)
+{
+ g_log_default_handler (log_domain, log_level, message, NULL);
+
+ /* G_LOG_DOMAIN = "empathy". No need to send empathy messages to the
+ * debugger as they already have in empathy_debug. */
+ if (log_level != G_LOG_LEVEL_DEBUG
+ || tp_strdiff (log_domain, G_LOG_DOMAIN)) {
+ EmpathyDebugger *dbg;
+ GTimeVal now;
+
+ dbg = empathy_debugger_get_singleton ();
+ g_get_current_time (&now);
+
+ empathy_debugger_add_message (dbg, &now, log_domain,
+ log_level, message);
+ }
+}
+#endif /* ENABLE_DEBUG */
+
int
main (int argc, char *argv[])
{
@@ -514,6 +540,11 @@ main (int argc, char *argv[])
gtk_window_set_default_icon_name ("empathy");
textdomain (GETTEXT_PACKAGE);
+#ifdef ENABLE_DEBUG
+ /* Set up debugger */
+ g_log_set_default_handler (default_log_handler, NULL);
+#endif
+
/* Setting up the bacon connection */
startup_timestamp = get_startup_timestamp ();
connection = bacon_message_connection_new ("empathy");