Hi, we have tried to keep the CVS version of GIMP compileable with the latest releases of GTK+ and friends as well as with the current state of these modules in CVS. The latest (small) changes in glib break source compatibility and since the glib version number has not yet been incremented, I don't see a way to conditionalize the code so that it works with both versions of glib. As a first solution, I'm posting a patch here for the people among you that follow CVS development of glib, pango, atk and gtk+. I'd like to know how many of you would prefer to have this changes applied to the gimp CVS tree now and how many would prefer us to stay source compatible with the latest glib, pango, atk and gtk+ development releases. Salut, Sven Index: libgimpbase/gimpparasiteio.c =================================================================== RCS file: /cvs/gnome/gimp/libgimpbase/gimpparasiteio.c,v retrieving revision 1.9 diff -u -r1.9 gimpparasiteio.c --- libgimpbase/gimpparasiteio.c 2001/08/01 00:35:48 1.9 +++ libgimpbase/gimpparasiteio.c 2001/10/02 17:32:26 @@ -161,8 +161,8 @@ for (i = 0; i < params->dim; i++) { - g_string_printfa (s, " rank%d:%d", i, params->rank[i]); - g_string_printfa (s, " sel%d:%s", i, params->selection[i]); + g_string_append_printf (s, " rank%d:%d", i, params->rank[i]); + g_string_append_printf (s, " sel%d:%s", i, params->selection[i]); } str = s->str; Index: plug-ins/ifscompose/ifscompose_storage.c =================================================================== RCS file: /cvs/gnome/gimp/plug-ins/ifscompose/ifscompose_storage.c,v retrieving revision 1.8 diff -u -r1.8 ifscompose_storage.c --- plug-ins/ifscompose/ifscompose_storage.c 2001/08/01 00:35:57 1.8 +++ plug-ins/ifscompose/ifscompose_storage.c 2001/10/02 17:32:26 @@ -27,6 +27,7 @@ #include "ifscompose.h" + enum { TOKEN_INVALID = G_TOKEN_LAST, TOKEN_ITERATIONS, @@ -422,8 +423,9 @@ scanner->input_name = "IfsCompose Saved Data"; for (i = 0; i < nsymbols; i++) - g_scanner_add_symbol (scanner, - symbols[i].name, GINT_TO_POINTER (symbols[i].token)); + g_scanner_scope_add_symbol (scanner, 0, + symbols[i].name, + GINT_TO_POINTER (symbols[i].token)); g_scanner_input_text (scanner, str, strlen (str)); @@ -450,51 +452,51 @@ gint i; GString *result = g_string_new (NULL); - g_string_printfa (result, "iterations %d\n", vals->iterations); - g_string_printfa (result, "max_memory %d\n", vals->max_memory); - g_string_printfa (result, "subdivide %d\n", vals->subdivide); - g_string_printfa (result, "radius %f\n", vals->radius); - g_string_printfa (result, "aspect_ratio %f\n", vals->aspect_ratio); - g_string_printfa (result, "center_x %f\n", vals->center_x); - g_string_printfa (result, "center_y %f\n", vals->center_y); + g_string_append_printf (result, "iterations %d\n", vals->iterations); + g_string_append_printf (result, "max_memory %d\n", vals->max_memory); + g_string_append_printf (result, "subdivide %d\n", vals->subdivide); + g_string_append_printf (result, "radius %f\n", vals->radius); + g_string_append_printf (result, "aspect_ratio %f\n", vals->aspect_ratio); + g_string_append_printf (result, "center_x %f\n", vals->center_x); + g_string_append_printf (result, "center_y %f\n", vals->center_y); for (i=0; i<vals->num_elements; i++) { g_string_append (result, "element {\n"); - g_string_printfa (result, " x %f\n", elements[i]->v.x); - g_string_printfa (result, " y %f\n", elements[i]->v.y); - g_string_printfa (result, " theta %f\n", elements[i]->v.theta); - g_string_printfa (result, " scale %f\n", elements[i]->v.scale); - g_string_printfa (result, " asym %f\n", elements[i]->v.asym); - g_string_printfa (result, " shear %f\n", elements[i]->v.shear); - g_string_printfa (result, " flip %d\n", elements[i]->v.flip); - g_string_printfa (result, " red_color { %f,%f,%f }\n", - elements[i]->v.red_color.r, - elements[i]->v.red_color.g, - elements[i]->v.red_color.b); - g_string_printfa (result, " green_color { %f,%f,%f }\n", - elements[i]->v.green_color.r, - elements[i]->v.green_color.g, - elements[i]->v.green_color.b); - g_string_printfa (result, " blue_color { %f,%f,%f }\n", - elements[i]->v.blue_color.r, - elements[i]->v.blue_color.g, - elements[i]->v.blue_color.b); - g_string_printfa (result, " black_color { %f,%f,%f }\n", - elements[i]->v.black_color.r, - elements[i]->v.black_color.g, - elements[i]->v.black_color.b); - g_string_printfa (result, " target_color { %f,%f,%f }\n", - elements[i]->v.target_color.r, - elements[i]->v.target_color.g, - elements[i]->v.target_color.b); - g_string_printfa (result, " hue_scale %f\n", - elements[i]->v.hue_scale); - g_string_printfa (result, " value_scale %f\n", - elements[i]->v.value_scale); - g_string_printfa (result, " simple_color %d\n", - elements[i]->v.simple_color); - g_string_printfa (result, " prob %f\n", elements[i]->v.prob); + g_string_append_printf (result, " x %f\n", elements[i]->v.x); + g_string_append_printf (result, " y %f\n", elements[i]->v.y); + g_string_append_printf (result, " theta %f\n", elements[i]->v.theta); + g_string_append_printf (result, " scale %f\n", elements[i]->v.scale); + g_string_append_printf (result, " asym %f\n", elements[i]->v.asym); + g_string_append_printf (result, " shear %f\n", elements[i]->v.shear); + g_string_append_printf (result, " flip %d\n", elements[i]->v.flip); + g_string_append_printf (result, " red_color { %f,%f,%f }\n", + elements[i]->v.red_color.r, + elements[i]->v.red_color.g, + elements[i]->v.red_color.b); + g_string_append_printf (result, " green_color { %f,%f,%f }\n", + elements[i]->v.green_color.r, + elements[i]->v.green_color.g, + elements[i]->v.green_color.b); + g_string_append_printf (result, " blue_color { %f,%f,%f }\n", + elements[i]->v.blue_color.r, + elements[i]->v.blue_color.g, + elements[i]->v.blue_color.b); + g_string_append_printf (result, " black_color { %f,%f,%f }\n", + elements[i]->v.black_color.r, + elements[i]->v.black_color.g, + elements[i]->v.black_color.b); + g_string_append_printf (result, " target_color { %f,%f,%f }\n", + elements[i]->v.target_color.r, + elements[i]->v.target_color.g, + elements[i]->v.target_color.b); + g_string_append_printf (result, " hue_scale %f\n", + elements[i]->v.hue_scale); + g_string_append_printf (result, " value_scale %f\n", + elements[i]->v.value_scale); + g_string_append_printf (result, " simple_color %d\n", + elements[i]->v.simple_color); + g_string_append_printf (result, " prob %f\n", elements[i]->v.prob); g_string_append (result, "}\n"); }