]> git.lyx.org Git - features.git/commitdiff
fix bug 4693, Exporting files doesn't create the files in the correct folder
authorPeter Kümmel <syntheticpp@gmx.net>
Sat, 4 Oct 2008 12:05:06 +0000 (12:05 +0000)
committerPeter Kümmel <syntheticpp@gmx.net>
Sat, 4 Oct 2008 12:05:06 +0000 (12:05 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26718 a592a061-630c-0410-9148-cb99ea01b6c8

src/support/FileName.cpp

index 48a2e3c67f60818b023f8fc040a3803c71f5e293..5c95553a99ec3fc4c0c32f102de857c422265902 100644 (file)
@@ -121,6 +121,23 @@ struct FileName::Private
 #endif
        }
 
+       static QString longPathName(QString const & path)
+       {
+#ifndef Q_OS_WIN
+               return path;
+#else
+               if (path.isEmpty()) {
+                       return QString();
+               }
+               QString maybeShort = QDir::toNativeSeparators(path);
+               QByteArray shortName = maybeShort.toLocal8Bit();;
+               char longPath[MAX_PATH];
+               int err = GetLongPathName(shortName.constData(), longPath, MAX_PATH);
+               (void)err;
+               return QDir::fromNativeSeparators(QString::fromLocal8Bit(longPath));
+#endif
+       }
+
        ///
        QFileInfo fi;
 };
@@ -426,7 +443,7 @@ FileName FileName::getcwd()
 
 FileName FileName::tempPath()
 {
-       return FileName(fromqstr(QDir::tempPath()));
+       return FileName(fromqstr(Private::longPathName(QDir::tempPath())));
 }