13
0

define CHARSETALIASDIR (again) to stop various bits of the GNU stack from loading a charset.alias file that we did not provide; slightly rearrange logic of fixup_bundle() so that we can do more stuff even if we can't write to the user ardour conf dir (as in 2.X)

git-svn-id: svn://localhost/ardour2/branches/3.0@12771 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-06-18 21:33:55 +00:00
parent a8237f1aed
commit a11d9d4e5a

View File

@ -184,8 +184,7 @@ fixup_bundle_environment (int, char* [])
if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
error << string_compose (_("cannot create user ardour folder %1 (%2)"), userconfigdir, strerror (errno))
<< endmsg;
return;
}
} else {
path = Glib::build_filename (userconfigdir, "pango.rc");
std::ofstream pangorc (path.c_str());
@ -199,16 +198,10 @@ fixup_bundle_environment (int, char* [])
setenv ("PANGO_RC_FILE", path.c_str(), 1);
}
}
// gettext charset aliases XXX do we really need this, since the path
// is totally wrong?
setenv ("CHARSETALIASDIR", path.c_str(), 1);
setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
setenv ("FONTCONFIG_FILE", Glib::build_filename (bundle_dir, "Resources/fonts.conf").c_str(), 1);
// GDK Pixbuf loader module file
setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (bundle_dir, "Resources/gdk-pixbuf.loaders").c_str(), 1);
}
@ -280,8 +273,7 @@ fixup_bundle_environment (int /*argc*/, char* argv[])
if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) {
error << string_compose (_("cannot create user ardour folder %1 (%2)"), userconfigdir, strerror (errno))
<< endmsg;
return;
}
} else {
path = Glib::build_filename (userconfigdir, "pango.rc");
std::ofstream pangorc (path.c_str());
@ -303,6 +295,13 @@ fixup_bundle_environment (int /*argc*/, char* argv[])
setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (userconfigdir, "gdk-pixbuf.loaders").c_str(), 1);
}
/* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack
from looking outside the bundle to find the charset.alias file.
*/
setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
}
#endif
static gboolean