[Telepathy-commits] [telepathy-haze/master] Add an env var. to make libpurple's criticals fatal.

Will Thompson will.thompson at collabora.co.uk
Wed Aug 27 08:30:15 PDT 2008


---
 src/main.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/main.c b/src/main.c
index 6546568..7f4d5ae 100644
--- a/src/main.c
+++ b/src/main.c
@@ -216,6 +216,8 @@ static TpBaseConnectionManager *
 get_cm (void)
 {
     GLogLevelFlags fatal_mask;
+    gboolean fatal_purple_criticals =
+        (g_getenv ("THIS_PIDGIN_IS_NO_MORE") != NULL);
 
     /* libpurple has a tendency to throw critical errors from
      * g_return_val_if_fail(), particularly in MSN code.  We really don't want
@@ -226,13 +228,16 @@ get_cm (void)
      * G_LOG_DOMAIN="haze" for itself so that we can assume the NULL domain is
      * libpurple.
      */
-    fatal_mask = g_log_set_fatal_mask (NULL, G_LOG_FATAL_MASK);
-    fatal_mask &= ~G_LOG_LEVEL_CRITICAL;
-    g_log_set_fatal_mask (NULL, fatal_mask);
+    if (!fatal_purple_criticals)
+    {
+        fatal_mask = g_log_set_fatal_mask (NULL, G_LOG_FATAL_MASK);
+        fatal_mask &= ~G_LOG_LEVEL_CRITICAL;
+        g_log_set_fatal_mask (NULL, fatal_mask);
 
-    fatal_mask = g_log_set_fatal_mask ("purple", G_LOG_FATAL_MASK);
-    fatal_mask &= ~G_LOG_LEVEL_CRITICAL;
-    g_log_set_fatal_mask ("purple", fatal_mask);
+        fatal_mask = g_log_set_fatal_mask ("purple", G_LOG_FATAL_MASK);
+        fatal_mask &= ~G_LOG_LEVEL_CRITICAL;
+        g_log_set_fatal_mask ("purple", fatal_mask);
+    }
 
     return (TpBaseConnectionManager *) haze_connection_manager_get ();
 }
-- 
1.5.6.3




More information about the Telepathy-commits mailing list