summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Tanner <thosrtanner2@users.sourceforge.net>2015-04-25 13:04:14 +0100
committerTom Tanner <thosrtanner2@users.sourceforge.net>2015-04-25 13:04:14 +0100
commit927504cbd947a0cd794ed4777933df12bd0cd7e8 (patch)
tree32e07cf443c2707bdde7e00532195b4860b24595 /src
parenta44cb011a5bf7e5825ac2eca8f183ea7eed63763 (diff)
1) reintroduce the report error when unpacking archives to avoid the error
message disappearing entirely 2) Allow very long filenames to be used when unpacking
Diffstat (limited to 'src')
-rw-r--r--src/installationmanager.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index 7d431f02..e5f03481 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -414,11 +414,7 @@ void InstallationManager::updateProgressFile(LPCWSTR fileName)
void InstallationManager::report7ZipError(LPCWSTR errorMessage)
{
-#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
- m_InstallationProgress.setLabelText(QString::fromWCharArray(errorMessage));
-#else
- reportError(QString::fromUtf16(errorMessage));
-#endif
+ reportError(QString::fromWCharArray(errorMessage));
m_CurrentArchive->cancel();
}
@@ -545,7 +541,7 @@ bool InstallationManager::doInstall(GuessedValue<QString> &modName, int modID,
m_InstallationProgress.setValue(0);
m_InstallationProgress.setWindowModality(Qt::WindowModal);
m_InstallationProgress.show();
- if (!m_CurrentArchive->extract(ToWString(QDir::toNativeSeparators(targetDirectory)).c_str(),
+ if (!m_CurrentArchive->extract(ToWString("\\\\?\\" + QDir::toNativeSeparators(targetDirectory)).c_str(),
new MethodCallback<InstallationManager, void, float>(this, &InstallationManager::updateProgress),
new MethodCallback<InstallationManager, void, LPCWSTR>(this, &InstallationManager::updateProgressFile),
new MethodCallback<InstallationManager, void, LPCWSTR>(this, &InstallationManager::report7ZipError))) {