[gnome-shell] Disable gdmuser debugging messages (unless "gdm" is set in GNOME_SHELL_DEBUG)



commit 2ea50125350056e4604f0dbe40dd0ea74b79e9a0
Author: Dan Winship <danw gnome org>
Date:   Fri Apr 3 10:59:11 2009 -0400

    Disable gdmuser debugging messages (unless "gdm" is set in GNOME_SHELL_DEBUG)
    
    http://bugzilla.gnome.org/show_bug.cgi?id=577855
---
 src/gdmuser/gdm-user-manager.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/gdmuser/gdm-user-manager.c b/src/gdmuser/gdm-user-manager.c
index b059034..411cf94 100644
--- a/src/gdmuser/gdm-user-manager.c
+++ b/src/gdmuser/gdm-user-manager.c
@@ -1453,6 +1453,28 @@ on_passwd_monitor_changed (GFileMonitor     *monitor,
 }
 
 static void
+ignore_log_handler (const char     *log_domain,
+                    GLogLevelFlags  log_level,
+                    const char     *message,
+                    gpointer        user_data)
+{
+        return;
+}
+
+static void
+check_gdm_debug (void)
+{
+        GDebugKey gdmkeys[] = { { "gdm", 1 } };
+        const char *gnome_shell_debug = g_getenv ("GNOME_SHELL_DEBUG");
+
+        if (!gnome_shell_debug ||
+            !g_parse_debug_string (gnome_shell_debug, gdmkeys, 1)) {
+                g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
+                                   ignore_log_handler, NULL);
+        }
+}
+
+static void
 gdm_user_manager_class_init (GdmUserManagerClass *klass)
 {
         GObjectClass   *object_class = G_OBJECT_CLASS (klass);
@@ -1509,6 +1531,7 @@ gdm_user_manager_class_init (GdmUserManagerClass *klass)
                               G_TYPE_NONE, 1, GDM_TYPE_USER);
 
         g_type_class_add_private (klass, sizeof (GdmUserManagerPrivate));
+        check_gdm_debug ();
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]