[Spice-devel] [PATCH spice-gtk] Fix --spice-debug flag on glib >= 2.31

Daniel P. Berrange berrange at redhat.com
Wed Apr 25 04:26:16 PDT 2012


From: "Daniel P. Berrange" <berrange at redhat.com>

With glib >= 2.31 no debug messages are ever printed out by
default, which makes the --spice-debug flag useless. This
fix explicitly turns on the appropriate log domain when
debug is requested. It takes care to preserve the users
own existing log domain requests
---
 gtk/spice-util.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/gtk/spice-util.c b/gtk/spice-util.c
index 1c5d10f..fdea362 100644
--- a/gtk/spice-util.c
+++ b/gtk/spice-util.c
@@ -19,6 +19,8 @@
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
+#include <stdlib.h>
+#include <string.h>
 #include <glib-object.h>
 #include "spice-util-priv.h"
 #include "spice-util.h"
@@ -45,6 +47,18 @@ static gboolean debugFlag = FALSE;
  **/
 void spice_util_set_debug(gboolean enabled)
 {
+#if GLIB_CHECK_VERSION(2, 31, 0)
+    if (enabled) {
+        gchar *doms = getenv("G_MESSAGES_DEBUG");
+        if (!doms) {
+            setenv("G_MESSAGES_DEBUG", G_LOG_DOMAIN, 1);
+        } else if (!strstr(doms, G_LOG_DOMAIN)) {
+            gchar *newdoms = g_strdup_printf("%s %s", doms, G_LOG_DOMAIN);
+            setenv("G_MESSAGES_DEBUG", newdoms, 1);
+            g_free(newdoms);
+        }
+    }
+#endif
     debugFlag = enabled;
 }
 
-- 
1.7.7.6



More information about the Spice-devel mailing list