]> git.lyx.org Git - lyx.git/blobdiff - src/support/path_defines.C.in
tostr -> convert and some bformat work
[lyx.git] / src / support / path_defines.C.in
index 873773b1793580303773bc0851bfe50330bbd655..dfe7062efb274395531da49a61478c172be4b5a8 100644 (file)
@@ -217,8 +217,18 @@ bool setLyxPaths()
        bool followlink;
        do {
                // Path of binary/../share/name of binary/
-               searchpath += NormalizePath(AddPath(binpath, "../share/") +
-                     OnlyFilename(binname)) + ';';
+               string const exe_name = OnlyFilename(binname);
+#ifdef _WIN32
+               string const lyx_system_dir_name =
+                       suffixIs(exe_name, ".exe") ?
+                               ChangeExtension(exe_name, "") :
+                               exe_name;
+#else
+               string const lyx_system_dir_name = exe_name;
+#endif
+               string const shared_dir_name =
+                       NormalizePath(AddPath(binpath, "../share/"));
+               searchpath += shared_dir_name + lyx_system_dir_name + ';';
 
                // Follow Symlinks
                FileInfo file(fullbinpath, true);
@@ -356,10 +366,10 @@ bool setLyxPaths()
                // default behaviour
                if (user_lyxdir_.empty())
                        if (inOSXBundle)
-                               user_lyxdir_ = AddPath(GetEnvPath("HOME"),
+                               user_lyxdir_ = AddPath(os::homepath(),
                                                       "Library/Preferences/LyX");
                        else
-                               user_lyxdir_ = AddPath(GetEnvPath("HOME"),
+                               user_lyxdir_ = AddPath(os::homepath(),
                                                       string(".") + PACKAGE);
                explicit_userdir = false;
        }