diff options
Diffstat (limited to 'src/installationmanager.cpp')
| -rw-r--r-- | src/installationmanager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index 0f66a7e8..75abd750 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -676,6 +676,11 @@ bool InstallationManager::install(const QString &fileName, GuessedValue<QString> }
qDebug("using mod name \"%s\" (id %d) -> %s", modName->toUtf8().constData(), modID, qPrintable(m_CurrentFile));
+ //If there's an archive already open, close it. This happens with the bundle
+ //installer when it uncompresses a split archive, then finds it has a real archive
+ //to deal with.
+ m_CurrentArchive->close();
+
// open the archive and construct the directory tree the installers work on
bool archiveOpen = m_CurrentArchive->open(ToWString(QDir::toNativeSeparators(fileName)).c_str(),
new MethodCallback<InstallationManager, void, LPSTR>(this, &InstallationManager::queryPassword));
|
