diff options
author | Petr Mrázek <peterix@gmail.com> | 2014-03-30 12:26:24 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2014-03-30 20:11:41 +0200 |
commit | e1e1d99102936b419aac52974f1fdb8be835b0d4 (patch) | |
tree | fd59107990566d0e42f82b16610f60be0a28d19f /logic | |
parent | 7cb76788bd5d1aa35ce38122efa4fdba4433d046 (diff) | |
download | MultiMC-e1e1d99102936b419aac52974f1fdb8be835b0d4.tar MultiMC-e1e1d99102936b419aac52974f1fdb8be835b0d4.tar.gz MultiMC-e1e1d99102936b419aac52974f1fdb8be835b0d4.tar.lz MultiMC-e1e1d99102936b419aac52974f1fdb8be835b0d4.tar.xz MultiMC-e1e1d99102936b419aac52974f1fdb8be835b0d4.zip |
Fix java checker crash, some memory leaks
Diffstat (limited to 'logic')
-rw-r--r-- | logic/BaseInstance.cpp | 2 | ||||
-rw-r--r-- | logic/BaseInstance_p.h | 2 | ||||
-rw-r--r-- | logic/lists/JavaVersionList.cpp | 7 |
3 files changed, 5 insertions, 6 deletions
diff --git a/logic/BaseInstance.cpp b/logic/BaseInstance.cpp index c7b29548..5fa62593 100644 --- a/logic/BaseInstance.cpp +++ b/logic/BaseInstance.cpp @@ -35,7 +35,7 @@ BaseInstance::BaseInstance(BaseInstancePrivate *d_in, const QString &rootDir, : QObject(parent), inst_d(d_in) { I_D(BaseInstance); - d->m_settings = settings_obj; + d->m_settings = std::shared_ptr<SettingsObject>(settings_obj); d->m_rootDir = rootDir; settings().registerSetting("name", "Unnamed Instance"); diff --git a/logic/BaseInstance_p.h b/logic/BaseInstance_p.h index 8cf3b27d..edaee7d7 100644 --- a/logic/BaseInstance_p.h +++ b/logic/BaseInstance_p.h @@ -28,6 +28,6 @@ struct BaseInstancePrivate { QString m_rootDir; QString m_group; - SettingsObject *m_settings; + std::shared_ptr<SettingsObject> m_settings; QSet<BaseInstance::InstanceFlag> m_flags; }; diff --git a/logic/lists/JavaVersionList.cpp b/logic/lists/JavaVersionList.cpp index eb1c5650..4fd0bc19 100644 --- a/logic/lists/JavaVersionList.cpp +++ b/logic/lists/JavaVersionList.cpp @@ -160,7 +160,7 @@ void JavaVersionList::sort() // NO-OP for now } -JavaListLoadTask::JavaListLoadTask(JavaVersionList *vlist) +JavaListLoadTask::JavaListLoadTask(JavaVersionList *vlist) : Task() { m_list = vlist; m_currentRecommended = NULL; @@ -207,7 +207,6 @@ void JavaListLoadTask::checkerProgress(int current, int total) void JavaListLoadTask::javaCheckerFinished(QList<JavaCheckResult> results) { QList<JavaVersionPtr> candidates; - m_job.reset(); QLOG_DEBUG() << "Found the following valid Java installations:"; for(JavaCheckResult result : results) @@ -226,14 +225,14 @@ void JavaListLoadTask::javaCheckerFinished(QList<JavaCheckResult> results) } QList<BaseVersionPtr> javas_bvp; - for (auto &java : candidates) + for (auto java : candidates) { //QLOG_INFO() << java->id << java->arch << " at " << java->path; BaseVersionPtr bp_java = std::dynamic_pointer_cast<BaseVersion>(java); if (bp_java) { - javas_bvp.append(bp_java); + javas_bvp.append(java); } } |