bug-buddy r2747 - in trunk: . src



Author: cosimoc
Date: Thu Oct 16 22:13:21 2008
New Revision: 2747
URL: http://svn.gnome.org/viewvc/bug-buddy?rev=2747&view=rev

Log:
2008-10-17  Cosimo Cecchi  <cosimoc gnome org>

	* src/bug-buddy.c: (fill_system_info):
	Check if the GTK+ module is activated in GConf before adding it to
	the report.


Modified:
   trunk/ChangeLog
   trunk/src/bug-buddy.c

Modified: trunk/src/bug-buddy.c
==============================================================================
--- trunk/src/bug-buddy.c	(original)
+++ trunk/src/bug-buddy.c	Thu Oct 16 22:13:21 2008
@@ -1734,18 +1734,33 @@
 		GSList *l;
 		GConfEntry *entry;
 		char *name;
+		GConfValue *val;
 
 		modules = g_string_new ("GTK+ Modules: ");
 
 		for (l = entries; l != NULL; l = l->next)  {
 			entry = l->data;
-			name = gconf_get_key_name_from_path (gconf_entry_get_key (entry));
+			val = gconf_entry_get_value (entry);
 
-			if (!g_strstr_len (modules->str, modules->len, name)) {
-				g_string_append_printf (modules, "%s, ", name);
+			/* if the value is a boolean, check if it's activated, otherwise if it's
+			 * a string, it will refer to a boolean; check that.
+			 * i know this is quite ugly.
+			 */
+			if ((val->type == GCONF_VALUE_BOOL && gconf_value_get_bool (val)) ||
+			    (val->type == GCONF_VALUE_STRING && gconf_client_get_bool (gconf_client,
+										       gconf_value_get_string (val),
+										       NULL)))
+			{
+
+				name = gconf_get_key_name_from_path (gconf_entry_get_key (entry));
+
+				if (!g_strstr_len (modules->str, modules->len, name)) {
+					g_string_append_printf (modules, "%s, ", name);
+				}
+
+				g_free (name);
 			}
 
-			g_free (name);
 			gconf_entry_free (entry);
 		}
 



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