summaryrefslogtreecommitdiff
path: root/src/installationmanager.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-10-05 14:20:48 +0200
committerTannin <devnull@localhost>2013-10-05 14:20:48 +0200
commitcffd9eb4e21f0ddcddca68d8eb0f1c80c8ac6ae1 (patch)
treee6ee4888366aa0412296df6118f8d563a4bf9d50 /src/installationmanager.cpp
parent640b14ef257aa3b681e9c1ba72a88707dfdc7632 (diff)
- hook.dll now doesn't inject to certain applications (currently steam, chrome and firefox)
- versioning system improved. Will now report "downgrades" for mods and support a different versioning system (requires manual switch) - updates can now be ignored until a new version is uploaded - new splash screen - bugfix: a few memory leaks (shouldn't account for much) - bugfix: result of GetModuleHandle wasn't zero-terminated in some cases
Diffstat (limited to 'src/installationmanager.cpp')
-rw-r--r--src/installationmanager.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index 378eb38a..87efecf1 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -46,6 +46,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QDateTime>
#include <QDirIterator>
#include <boost/assign.hpp>
+#include <boost/scoped_ptr.hpp>
using namespace MOBase;
@@ -678,8 +679,7 @@ bool InstallationManager::install(const QString &fileName, GuessedValue<QString>
this->m_CurrentArchive->close();
});
- DirectoryTree *filesTree = archiveOpen ? createFilesTree() : NULL;
-
+ QScopedPointer<DirectoryTree> filesTree(archiveOpen ? createFilesTree() : NULL);
IPluginInstaller::EInstallResult installResult = IPluginInstaller::RESULT_NOTATTEMPTED;
std::sort(m_Installers.begin(), m_Installers.end(), [] (IPluginInstaller *LHS, IPluginInstaller *RHS) {
@@ -704,7 +704,7 @@ bool InstallationManager::install(const QString &fileName, GuessedValue<QString>
(filesTree != NULL) && (installer->isArchiveSupported(*filesTree))) {
installResult = installerSimple->install(modName, *filesTree, version, modID);
if (installResult == IPluginInstaller::RESULT_SUCCESS) {
- mapToArchive(filesTree);
+ mapToArchive(filesTree.data());
// the simple installer only prepares the installation, the rest works the same for all installers
if (!doInstall(modName, modID, version, newestVersion, categoryID)) {
installResult = IPluginInstaller::RESULT_FAILED;