Index: goffice/graph/gog-object-xml.c =================================================================== RCS file: /cvs/gnome/goffice/goffice/graph/gog-object-xml.c,v retrieving revision 1.25 diff -u -p -r1.25 gog-object-xml.c --- goffice/graph/gog-object-xml.c 8 Apr 2006 17:53:41 -0000 1.25 +++ goffice/graph/gog-object-xml.c 26 Nov 2006 18:54:51 -0000 @@ -116,7 +116,7 @@ gog_object_set_arg_full (char const *nam g_object_unref (val_obj); } } - } else if (!gsf_xml_gvalue_from_str (&res, G_TYPE_FUNDAMENTAL (prop_type), val)) + } else if (!gsf_xml_gvalue_from_str (&res, prop_type, val)) success = FALSE; if (!success) { @@ -150,6 +150,7 @@ gog_object_write_property_sax (GogObject return; } + switch (G_TYPE_FUNDAMENTAL (prop_type)) { case G_TYPE_CHAR: case G_TYPE_UCHAR: @@ -159,7 +160,9 @@ gog_object_write_property_sax (GogObject case G_TYPE_LONG: case G_TYPE_ULONG: case G_TYPE_FLOAT: - case G_TYPE_DOUBLE: { + case G_TYPE_DOUBLE: + case G_TYPE_ENUM: + case G_TYPE_FLAGS: { GValue str = { 0 }; g_value_init (&str, G_TYPE_STRING); g_value_transform (&value, &str); @@ -196,7 +199,8 @@ gog_object_write_property_sax (GogObject break; default: - ; + g_warning ("I could not persist property \"%s\", since type \"%s\" is unhandled.", + g_param_spec_get_name (pspec), g_type_name (G_TYPE_FUNDAMENTAL(prop_type))); } g_value_unset (&value); }