commit ee6583ff94497c290898444da5ce3853b89e937d
Author: Enrico Forestieri <for...@lyx.org>
Date:   Fri Mar 13 18:12:08 2015 +0100

    Make sure that a generated temporary filename doesn't end with a dot.
    
    This may happen if the extension is empty, and a filename ending with
    a dot may give troubles on Windows.

diff --git a/src/graphics/GraphicsCacheItem.cpp 
b/src/graphics/GraphicsCacheItem.cpp
index 9fab10d..2e8c415 100644
--- a/src/graphics/GraphicsCacheItem.cpp
+++ b/src/graphics/GraphicsCacheItem.cpp
@@ -364,9 +364,10 @@ bool CacheItem::Impl::tryDisplayFormat(FileName & 
filename, string & from)
        if (zipped_) {
                string tempname = 
unzippedFileName(filename_.toFilesystemEncoding());
                string const ext = getExtension(tempname);
+               tempname = changeExtension(tempname, "") + "-XXXXXX";
                if (!ext.empty())
-                       tempname = changeExtension(tempname, "");
-               TempFile tempfile(tempname + "-XXXXXX." + ext);
+                       tempname = addExtension(tempname, ext);
+               TempFile tempfile(tempname);
                tempfile.setAutoRemove(false);
                unzipped_filename_ = tempfile.name();
                if (unzipped_filename_.empty()) {

Reply via email to