From: Peter Kümmel Date: Sat, 4 Oct 2008 12:05:06 +0000 (+0000) Subject: fix bug 4693, Exporting files doesn't create the files in the correct folder X-Git-Tag: 1.6.10~3189 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e3a494d322f1f33ab805a8e51a851c5adf0f45a9;p=features.git fix bug 4693, Exporting files doesn't create the files in the correct folder git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26718 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp index 48a2e3c67f..5c95553a99 100644 --- a/src/support/FileName.cpp +++ b/src/support/FileName.cpp @@ -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()))); }