From cffd9eb4e21f0ddcddca68d8eb0f1c80c8ac6ae1 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sat, 5 Oct 2013 14:20:48 +0200 Subject: - 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 --- src/categories.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/categories.cpp') diff --git a/src/categories.cpp b/src/categories.cpp index 62ba3ca5..c084c238 100644 --- a/src/categories.cpp +++ b/src/categories.cpp @@ -43,6 +43,7 @@ QString CategoryFactory::categoriesFilePath() CategoryFactory::CategoryFactory() { + atexit(&cleanup); reset(); QFile categoryFile(categoriesFilePath()); @@ -124,6 +125,12 @@ void CategoryFactory::setParents() } } +void CategoryFactory::cleanup() +{ + delete s_Instance; + s_Instance = NULL; +} + void CategoryFactory::saveCategories() { -- cgit v1.3.1 From 35c9fe3e98cd4a81b114b0d9acb24727465d94b3 Mon Sep 17 00:00:00 2001 From: Tannin Date: Thu, 19 Dec 2013 19:40:59 +0100 Subject: - bugfix: archive.dll could cause a crash, attempting to close an archive that failed to open - bugfix: upon changing categories the mappings of deleted categories wasn't cleaned up which could cause an error message - bugfix: the number of esps/esms that can be loaded is actually 255 not 256 since the save game counts too - bugfix: "visit on nexus" from the modinfo dialog also lead to the wrong url --- src/categories.cpp | 1 + src/mainwindow.cpp | 4 ++-- src/modinfodialog.cpp | 2 +- src/modlist.cpp | 3 ++- src/version.rc | 4 ++-- 5 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src/categories.cpp') diff --git a/src/categories.cpp b/src/categories.cpp index c084c238..27720829 100644 --- a/src/categories.cpp +++ b/src/categories.cpp @@ -103,6 +103,7 @@ CategoryFactory &CategoryFactory::instance() void CategoryFactory::reset() { m_Categories.clear(); + m_IDMap.clear(); addCategory(0, "None", MakeVector(2, 28, 87), 0); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3a543e0b..b9300d00 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2203,7 +2203,7 @@ std::vector MainWindow::activeProblems() const if (m_UnloadedPlugins.size() != 0) { problems.push_back(PROBLEM_PLUGINSNOTLOADED); } - if (m_PluginList.enabledCount() > 256) { + if (m_PluginList.enabledCount() > 255) { problems.push_back(PROBLEM_TOOMANYPLUGINS); } return problems; @@ -2236,7 +2236,7 @@ QString MainWindow::fullDescription(unsigned int key) const return result; } break; case PROBLEM_TOOMANYPLUGINS: { - return tr("The game doesn't allow more than 256 active plugins (including the official ones) to be loaded. You have to disable some unused plugins or " + return tr("The game doesn't allow more than 255 active plugins (including the official ones) to be loaded. You have to disable some unused plugins or " "merge some plugins into one. You can find a guide here: http://wiki.step-project.com/Guide:Merging_Plugins"); } break; default: { diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index 521eea24..1da050ed 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -631,7 +631,7 @@ void ModInfoDialog::on_visitNexusLabel_linkActivated(const QString &link) void ModInfoDialog::linkClicked(const QUrl &url) { - if (url.toString().startsWith(ToQString(GameInfo::instance().getNexusPage()))) { + if (url.toString().startsWith(ToQString(GameInfo::instance().getNexusPage(false)))) { this->close(); emit nexusLinkActivated(url.toString()); } else { diff --git a/src/modlist.cpp b/src/modlist.cpp index b35d6ad2..7f09654d 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -171,7 +171,8 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const CategoryFactory &categoryFactory = CategoryFactory::instance(); if (categoryFactory.categoryExists(category)) { try { - return categoryFactory.getCategoryName(categoryFactory.getCategoryIndex(category)); + int categoryIdx = categoryFactory.getCategoryIndex(category); + return categoryFactory.getCategoryName(categoryIdx); } catch (const std::exception &e) { qCritical("failed to retrieve category name: %s", e.what()); return QString(); diff --git a/src/version.rc b/src/version.rc index 811ee7ca..35ac56a4 100644 --- a/src/version.rc +++ b/src/version.rc @@ -1,7 +1,7 @@ #include "Winver.h" -#define VER_FILEVERSION 1,0,11,0 -#define VER_FILEVERSION_STR "1,0,11,0\0" +#define VER_FILEVERSION 1,0,12,0 +#define VER_FILEVERSION_STR "1,0,12,0\0" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION -- cgit v1.3.1