return;
}
- if (!destroyDir(package().temp_dir())) {
+ if (!destroyDir(FileName(package().temp_dir()))) {
docstring const msg =
bformat(_("Unable to remove the temporary directory %1$s"),
from_utf8(package().temp_dir()));
return EXIT_FAILURE;
for (int argi = argc - 1; argi >= 1; --argi) {
- // check for any remaining extra arguments other than
- // document file names. These will be passed out to the
- // frontend.
- if (argv[argi][0] == '-')
- continue;
// get absolute path of file and add ".lyx" to
// the filename if necessary
pimpl_->files_to_load_.push_back(fileSearch(string(), os::internal_path(argv[argi]), "lyx"));
if (!lyxrc.path_prefix.empty())
prependEnvPath("PATH", lyxrc.path_prefix);
- if (fs::exists(lyxrc.document_path) &&
- fs::is_directory(lyxrc.document_path))
+ FileName const document_path(lyxrc.document_path);
+ if (fs::exists(document_path.toFilesystemEncoding()) &&
+ fs::is_directory(document_path.toFilesystemEncoding()))
package().document_dir() = lyxrc.document_path;
package().temp_dir() = createLyXTmpDir(FileName(lyxrc.tempdir_path)).absFilename();
// return true if file does not exist or is older than configure.py.
bool needsUpdate(string const & file)
{
- static string const configure_script =
- addName(package().system_support(), "configure.py");
- string const absfile =
- addName(package().user_support(), file);
+ // We cannot initialize configure_script directly because the package
+ // is not initialized yet when static objects are constructed.
+ static string configure_script;
+ static bool firstrun = true;
+ if (firstrun) {
+ configure_script = FileName(addName(
+ package().system_support(),
+ "configure.py")).toFilesystemEncoding();
+ firstrun = false;
+ }
+ string const absfile = FileName(addName(
+ package().user_support(), file)).toFilesystemEncoding();
return (! fs::exists(absfile))
|| (fs::last_write_time(configure_script)
> fs::last_write_time(absfile));
bool LyX::queryUserLyXDir(bool explicit_userdir)
{
// Does user directory exist?
- if (fs::exists(package().user_support()) &&
- fs::is_directory(package().user_support())) {
+ string const user_support =
+ FileName(package().user_support()).toFilesystemEncoding();
+ if (fs::exists(user_support) && fs::is_directory(user_support)) {
first_start = false;
return needsUpdate("lyxrc.defaults")