diff options
| author | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-04-25 13:04:14 +0100 |
|---|---|---|
| committer | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-04-25 13:04:14 +0100 |
| commit | 927504cbd947a0cd794ed4777933df12bd0cd7e8 (patch) | |
| tree | 32e07cf443c2707bdde7e00532195b4860b24595 /src/installationmanager.cpp | |
| parent | a44cb011a5bf7e5825ac2eca8f183ea7eed63763 (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/installationmanager.cpp')
| -rw-r--r-- | src/installationmanager.cpp | 8 |
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))) {
|
