Firstly, thanks for integrating the binary relocatability patch! This will help not only the autopackage team but win32 porters as well.
Having said that, you now have to remember that you can't use the C preprocessor to build paths anymore. Here is a patch to fix the CVS relocatable build.
thanks -mike
Index: src/dialogs/stroke-style.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/dialogs/stroke-style.cpp,v retrieving revision 1.39 diff -u -r1.39 stroke-style.cpp --- src/dialogs/stroke-style.cpp 25 Apr 2004 22:18:20 -0000 1.39 +++ src/dialogs/stroke-style.cpp 28 Apr 2004 19:55:23 -0000 @@ -789,15 +789,18 @@ static unsigned int edoc = FALSE; /* Try to load from document */ if (!edoc && !doc) { - if (g_file_test(INKSCAPE_MARKERSDIR "/markers.svg", G_FILE_TEST_IS_REGULAR)) { - doc = sp_document_new(INKSCAPE_MARKERSDIR "/markers.svg", FALSE, FALSE); + char *markers_file = g_build_filename(INKSCAPE_MARKERSDIR, "/markers.svg", NULL); + if (g_file_test(markers_file, G_FILE_TEST_IS_REGULAR)) { + doc = sp_document_new(markers_file, FALSE, FALSE); } - if ( !doc && g_file_test( INKSCAPE_MARKERSDIR "/markers.svg", + if ( !doc && g_file_test( markers_file, G_FILE_TEST_IS_REGULAR) ) { - doc = sp_document_new( INKSCAPE_MARKERSDIR "/markers.svg", + doc = sp_document_new( markers_file, FALSE, FALSE ); } + g_free(markers_file); + if (doc) { unsigned int visionkey; sp_document_ensure_up_to_date(doc); @@ -909,15 +912,17 @@ } /* Try to load from document */ if (!edoc && !doc) { - if (g_file_test(INKSCAPE_MARKERSDIR "/markers.svg", G_FILE_TEST_IS_REGULAR)) { - doc = sp_document_new(INKSCAPE_MARKERSDIR "/markers.svg", FALSE, FALSE); + char *markers = g_build_filename(INKSCAPE_MARKERSDIR, "/markers.svg", NULL); + if (g_file_test(markers, G_FILE_TEST_IS_REGULAR)) { + doc = sp_document_new(markers, FALSE, FALSE); } - if ( !doc && g_file_test( INKSCAPE_MARKERSDIR "/markers.svg", + if ( !doc && g_file_test( markers, G_FILE_TEST_IS_REGULAR) ) { - doc = sp_document_new( INKSCAPE_MARKERSDIR "/markers.svg", + doc = sp_document_new( markers, FALSE, FALSE ); } + g_free(markers); if (doc) { sp_document_ensure_up_to_date(doc); } else { @@ -951,15 +956,18 @@
/* Try to load from document */ if (!edoc && !doc) { - if (g_file_test(INKSCAPE_MARKERSDIR "/markers.svg", G_FILE_TEST_IS_REGULAR)) { - doc = sp_document_new(INKSCAPE_MARKERSDIR "/markers.svg", FALSE, FALSE); + char *marker = g_build_filename(INKSCAPE_MARKERSDIR, "/markers.svg", NULL); + if (g_file_test(marker, G_FILE_TEST_IS_REGULAR)) { + doc = sp_document_new(marker, FALSE, FALSE); } - if ( !doc && g_file_test( INKSCAPE_MARKERSDIR "/markers.svg", + if ( !doc && g_file_test( marker, G_FILE_TEST_IS_REGULAR) ) { - doc = sp_document_new( INKSCAPE_MARKERSDIR "/markers.svg", + doc = sp_document_new( marker, FALSE, FALSE ); } + g_free(marker); + if (doc) { sp_document_ensure_up_to_date(doc); } else { @@ -1216,21 +1224,24 @@
tb = NULL;
+ char *path = g_build_filename(INKSCAPE_PIXMAPDIR, "/join_miter.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_JOIN_MITER, - INKSCAPE_PIXMAPDIR "/join_miter.xpm", - hb, spw, "join", "miter"); + path, hb, spw, "join", "miter"); + g_free(path); gtk_tooltips_set_tip(tt, tb, _("Miter join"), NULL);
+ path = g_build_filename(INKSCAPE_PIXMAPDIR, "/join_round.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_JOIN_ROUND, - INKSCAPE_PIXMAPDIR "/join_round.xpm", - hb, spw, "join", "round"); + path, hb, spw, "join", "round"); gtk_tooltips_set_tip(tt, tb, _("Round join"), NULL); + g_free(path);
+ path = g_build_filename(INKSCAPE_PIXMAPDIR, "/join_bevel.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_JOIN_BEVEL, - INKSCAPE_PIXMAPDIR "/join_bevel.xpm", - hb, spw, "join", "bevel"); + path, hb, spw, "join", "bevel"); gtk_tooltips_set_tip(tt, tb, _("Bevel join"), NULL); - + g_free(path); + i++;
/* Miterlimit */ @@ -1259,20 +1270,24 @@ hb = spw_hbox(t, 3, 1, i);
tb = NULL; + + path = g_build_filename(INKSCAPE_PIXMAPDIR, "/cap_butt.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_CAP_BUTT, - INKSCAPE_PIXMAPDIR "/cap_butt.xpm", - hb, spw, "cap", "butt"); + path, hb, spw, "cap", "butt"); gtk_tooltips_set_tip(tt, tb, _("Butt cap"), NULL); + g_free(path);
+ path = g_build_filename(INKSCAPE_PIXMAPDIR, "/cap_round.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_CAP_ROUND, - INKSCAPE_PIXMAPDIR "/cap_round.xpm", - hb, spw, "cap", "round"); + path, hb, spw, "cap", "round"); gtk_tooltips_set_tip(tt, tb, _("Round cap"), NULL); + g_free(path);
+ path = g_build_filename(INKSCAPE_PIXMAPDIR, "/cap_square.xpm", NULL); tb = sp_stroke_radio_button(tb, INKSCAPE_STOCK_CAP_SQUARE, - INKSCAPE_PIXMAPDIR "/cap_square.xpm", - hb, spw, "cap", "square"); + path, hb, spw, "cap", "square"); gtk_tooltips_set_tip(tt, tb, _("Square cap"), NULL); + g_free(path);
i++;