From e1e1d99102936b419aac52974f1fdb8be835b0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 30 Mar 2014 12:26:24 +0200 Subject: Fix java checker crash, some memory leaks --- logic/BaseInstance.cpp | 2 +- logic/BaseInstance_p.h | 2 +- logic/lists/JavaVersionList.cpp | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) (limited to 'logic') 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(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 m_settings; QSet 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 results) { QList candidates; - m_job.reset(); QLOG_DEBUG() << "Found the following valid Java installations:"; for(JavaCheckResult result : results) @@ -226,14 +225,14 @@ void JavaListLoadTask::javaCheckerFinished(QList results) } QList 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(java); if (bp_java) { - javas_bvp.append(bp_java); + javas_bvp.append(java); } } -- cgit v1.2.3