@@ -58,7 +58,6 @@ PerfRecord::~PerfRecord()
58
58
stopRecording ();
59
59
if (m_perfRecordProcess) {
60
60
m_perfRecordProcess->waitForFinished (100 );
61
- delete m_perfRecordProcess;
62
61
}
63
62
}
64
63
@@ -70,9 +69,8 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
70
69
m_perfControlFifo.requestStop ();
71
70
m_perfControlFifo.close ();
72
71
m_perfRecordProcess->kill ();
73
- m_perfRecordProcess->deleteLater ();
74
72
}
75
- m_perfRecordProcess = new QProcess (this );
73
+ m_perfRecordProcess = std::make_unique< QProcess> (this );
76
74
m_perfRecordProcess->setProcessChannelMode (QProcess::MergedChannels);
77
75
78
76
const auto outputFileInfo = QFileInfo (outputPath);
@@ -91,7 +89,7 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
91
89
return false ;
92
90
}
93
91
94
- connect (m_perfRecordProcess.data (), static_cast <void (QProcess::*)(int , QProcess::ExitStatus)>(&QProcess::finished),
92
+ connect (m_perfRecordProcess.get (), static_cast <void (QProcess::*)(int , QProcess::ExitStatus)>(&QProcess::finished),
95
93
this , [this ](int exitCode, QProcess::ExitStatus exitStatus) {
96
94
Q_UNUSED (exitStatus)
97
95
@@ -108,17 +106,17 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
108
106
m_userTerminated = false ;
109
107
});
110
108
111
- connect (m_perfRecordProcess.data (), &QProcess::errorOccurred, this , [this ](QProcess::ProcessError error) {
109
+ connect (m_perfRecordProcess.get (), &QProcess::errorOccurred, this , [this ](QProcess::ProcessError error) {
112
110
Q_UNUSED (error)
113
111
if (!m_userTerminated) {
114
112
emit recordingFailed (m_perfRecordProcess->errorString ());
115
113
}
116
114
});
117
115
118
- connect (m_perfRecordProcess.data (), &QProcess::started, this ,
116
+ connect (m_perfRecordProcess.get (), &QProcess::started, this ,
119
117
[this ] { emit recordingStarted (m_perfRecordProcess->program (), m_perfRecordProcess->arguments ()); });
120
118
121
- connect (m_perfRecordProcess.data (), &QProcess::readyRead, this , [this ]() {
119
+ connect (m_perfRecordProcess.get (), &QProcess::readyRead, this , [this ]() {
122
120
const auto output = QString::fromUtf8 (m_perfRecordProcess->readAll ());
123
121
emit recordingOutput (output);
124
122
});
0 commit comments