commit 4debbdd6b6d87739e6d55adb6dfd00c8c8af4895
Author: Juergen Spitzmueller <[email protected]>
Date:   Mon Feb 17 09:00:08 2020 +0100

    Restore custom tmp directory
    
    Fixes #1174
---
 src/support/filetools.cpp |   16 ++++++++++++++--
 src/support/filetools.h   |    4 ++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp
index a36446d..a34ee22 100644
--- a/src/support/filetools.cpp
+++ b/src/support/filetools.cpp
@@ -442,9 +442,20 @@ string const commandPrep(string const & command_in)
 }
 
 
+FileName const tempFileName(FileName tempdir, string const & mask, bool const 
dir)
+{
+       return tempFileName(TempFile(tempdir, mask).name(), dir);
+}
+
+
 FileName const tempFileName(string const & mask, bool const dir)
 {
-       FileName tempfile = TempFile(mask).name();
+       return tempFileName(TempFile(mask).name(), dir);
+}
+
+
+FileName const tempFileName(FileName tempfile, bool const dir)
+{
        // Since the QTemporaryFile object is destroyed at function return
        // (which is what is intended here), the next call to this function
        // may return the same file name again.
@@ -499,7 +510,8 @@ static FileName createTmpDir(FileName const & tempdir, 
string const & mask)
 
        QFileInfo tmp_fi(QDir(toqstr(tempdir.absFileName())), toqstr(mask));
        FileName const tmpfl =
-               tempFileName(fromqstr(tmp_fi.absoluteFilePath()) + 
".XXXXXXXXXXXX", true);
+               tempFileName(FileName(fromqstr(tmp_fi.absolutePath())),
+                            fromqstr(tmp_fi.fileName()) + ".XXXXXXXXXXXX", 
true);
 
        if (tmpfl.empty() || !tmpfl.createDirectory(0700)) {
                LYXERR0("LyX could not create temporary directory in " << 
tempdir
diff --git a/src/support/filetools.h b/src/support/filetools.h
index 05b3d70..1ac0edf 100644
--- a/src/support/filetools.h
+++ b/src/support/filetools.h
@@ -40,6 +40,10 @@ static std::set<std::string> tmp_names_;
 * all used temp file names.
 * If you don't have to remove the temp file manually, use TempFile instead!
 */
+FileName const tempFileName(FileName, bool const dir = false);
+/// Get temporary file name with custom path
+FileName const tempFileName(FileName, std::string const &, bool const dir = 
false);
+/// Get temporary file name with default path
 FileName const tempFileName(std::string const &, bool const dir = false);
 
 /// Remove and unregister a temporary file.
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to