--- gconf/gconfmm/client.cc.orig	Thu Jul 19 10:19:13 2007
+++ gconf/gconfmm/client.cc	Thu Jul 19 10:24:22 2007
@@ -182,10 +182,10 @@
     switch(list_type)
     {
       case GCONF_VALUE_INT:
-        gconf_value_set_int(v,(int)i->data);
+        gconf_value_set_int(v,GPOINTER_TO_INT(i->data));
         break;
       case GCONF_VALUE_BOOL:
-        gconf_value_set_bool(v,(gboolean)i->data);
+        gconf_value_set_bool(v,(i->data) != 0);
         break;
       case GCONF_VALUE_FLOAT:
         gconf_value_set_float(v,*(gdouble*)i->data);
--- gconf/src/client.ccg.orig	Thu Jul 19 10:28:58 2007
+++ gconf/src/client.ccg	Thu Jul 19 10:29:36 2007
@@ -177,10 +177,10 @@
     switch(list_type)
     {
       case GCONF_VALUE_INT:
-        gconf_value_set_int(v,(int)i->data);
+        gconf_value_set_int(v,GPOINTER_TO_INT(i->data));
         break;
       case GCONF_VALUE_BOOL:
-        gconf_value_set_bool(v,(gboolean)i->data);
+        gconf_value_set_bool(v,(i->data) != 0);
         break;
       case GCONF_VALUE_FLOAT:
         gconf_value_set_float(v,*(gdouble*)i->data);
