summaryrefslogtreecommitdiffstats
path: root/api/logic/tools
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2019-04-07 23:59:04 +0200
committerPetr Mrázek <peterix@gmail.com>2019-04-07 23:59:04 +0200
commit70ed30f9e6b47fbfb3151078ca61a2bb419feccb (patch)
tree0849ab3776d3e716285f3186b4e8e21ee246ee21 /api/logic/tools
parent414946cad94affccddfa500056c6eeb967438643 (diff)
downloadMultiMC-70ed30f9e6b47fbfb3151078ca61a2bb419feccb.tar
MultiMC-70ed30f9e6b47fbfb3151078ca61a2bb419feccb.tar.gz
MultiMC-70ed30f9e6b47fbfb3151078ca61a2bb419feccb.tar.lz
MultiMC-70ed30f9e6b47fbfb3151078ca61a2bb419feccb.tar.xz
MultiMC-70ed30f9e6b47fbfb3151078ca61a2bb419feccb.zip
GH-2591 less std::shared_ptr and more shared_qobject_ptr
This eliminates some weird crashes.
Diffstat (limited to 'api/logic/tools')
-rw-r--r--api/logic/tools/BaseProfiler.cpp3
-rw-r--r--api/logic/tools/BaseProfiler.h5
-rw-r--r--api/logic/tools/JProfiler.cpp4
-rw-r--r--api/logic/tools/JVisualVM.cpp4
4 files changed, 9 insertions, 7 deletions
diff --git a/api/logic/tools/BaseProfiler.cpp b/api/logic/tools/BaseProfiler.cpp
index c7d83549..300d1a73 100644
--- a/api/logic/tools/BaseProfiler.cpp
+++ b/api/logic/tools/BaseProfiler.cpp
@@ -1,4 +1,5 @@
#include "BaseProfiler.h"
+#include "QObjectPtr.h"
#include <QProcess>
@@ -7,7 +8,7 @@ BaseProfiler::BaseProfiler(SettingsObjectPtr settings, InstancePtr instance, QOb
{
}
-void BaseProfiler::beginProfiling(std::shared_ptr<LaunchTask> process)
+void BaseProfiler::beginProfiling(shared_qobject_ptr<LaunchTask> process)
{
beginProfilingImpl(process);
}
diff --git a/api/logic/tools/BaseProfiler.h b/api/logic/tools/BaseProfiler.h
index f3e1ce3d..da817f52 100644
--- a/api/logic/tools/BaseProfiler.h
+++ b/api/logic/tools/BaseProfiler.h
@@ -1,6 +1,7 @@
#pragma once
#include "BaseExternalTool.h"
+#include "QObjectPtr.h"
#include "multimc_logic_export.h"
@@ -17,13 +18,13 @@ public:
public
slots:
- void beginProfiling(std::shared_ptr<LaunchTask> process);
+ void beginProfiling(shared_qobject_ptr<LaunchTask> process);
void abortProfiling();
protected:
QProcess *m_profilerProcess;
- virtual void beginProfilingImpl(std::shared_ptr<LaunchTask> process) = 0;
+ virtual void beginProfilingImpl(shared_qobject_ptr<LaunchTask> process) = 0;
virtual void abortProfilingImpl();
signals:
diff --git a/api/logic/tools/JProfiler.cpp b/api/logic/tools/JProfiler.cpp
index b50322fe..1dc0d109 100644
--- a/api/logic/tools/JProfiler.cpp
+++ b/api/logic/tools/JProfiler.cpp
@@ -17,7 +17,7 @@ private slots:
void profilerFinished(int exit, QProcess::ExitStatus status);
protected:
- void beginProfilingImpl(std::shared_ptr<LaunchTask> process);
+ void beginProfilingImpl(shared_qobject_ptr<LaunchTask> process);
private:
int listeningPort = 0;
@@ -47,7 +47,7 @@ void JProfiler::profilerFinished(int exit, QProcess::ExitStatus status)
}
}
-void JProfiler::beginProfilingImpl(std::shared_ptr<LaunchTask> process)
+void JProfiler::beginProfilingImpl(shared_qobject_ptr<LaunchTask> process)
{
listeningPort = globalSettings->get("JProfilerPort").toInt();
QProcess *profiler = new QProcess(this);
diff --git a/api/logic/tools/JVisualVM.cpp b/api/logic/tools/JVisualVM.cpp
index 10886857..b1acc3c0 100644
--- a/api/logic/tools/JVisualVM.cpp
+++ b/api/logic/tools/JVisualVM.cpp
@@ -18,7 +18,7 @@ private slots:
void profilerFinished(int exit, QProcess::ExitStatus status);
protected:
- void beginProfilingImpl(std::shared_ptr<LaunchTask> process);
+ void beginProfilingImpl(shared_qobject_ptr<LaunchTask> process);
};
@@ -45,7 +45,7 @@ void JVisualVM::profilerFinished(int exit, QProcess::ExitStatus status)
}
}
-void JVisualVM::beginProfilingImpl(std::shared_ptr<LaunchTask> process)
+void JVisualVM::beginProfilingImpl(shared_qobject_ptr<LaunchTask> process)
{
QProcess *profiler = new QProcess(this);
QStringList profilerArgs =