@@ -58,7 +58,6 @@ PerfRecord::~PerfRecord()
5858 stopRecording ();
5959 if (m_perfRecordProcess) {
6060 m_perfRecordProcess->waitForFinished (100 );
61- delete m_perfRecordProcess;
6261 }
6362}
6463
@@ -70,9 +69,8 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
7069 m_perfControlFifo.requestStop ();
7170 m_perfControlFifo.close ();
7271 m_perfRecordProcess->kill ();
73- m_perfRecordProcess->deleteLater ();
7472 }
75- m_perfRecordProcess = new QProcess (this );
73+ m_perfRecordProcess = std::make_unique< QProcess> (this );
7674 m_perfRecordProcess->setProcessChannelMode (QProcess::MergedChannels);
7775
7876 const auto outputFileInfo = QFileInfo (outputPath);
@@ -91,7 +89,7 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
9189 return false ;
9290 }
9391
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),
9593 this , [this ](int exitCode, QProcess::ExitStatus exitStatus) {
9694 Q_UNUSED (exitStatus)
9795
@@ -108,17 +106,17 @@ bool PerfRecord::runPerf(bool elevatePrivileges, const QStringList& perfOptions,
108106 m_userTerminated = false ;
109107 });
110108
111- connect (m_perfRecordProcess.data (), &QProcess::errorOccurred, this , [this ](QProcess::ProcessError error) {
109+ connect (m_perfRecordProcess.get (), &QProcess::errorOccurred, this , [this ](QProcess::ProcessError error) {
112110 Q_UNUSED (error)
113111 if (!m_userTerminated) {
114112 emit recordingFailed (m_perfRecordProcess->errorString ());
115113 }
116114 });
117115
118- connect (m_perfRecordProcess.data (), &QProcess::started, this ,
116+ connect (m_perfRecordProcess.get (), &QProcess::started, this ,
119117 [this ] { emit recordingStarted (m_perfRecordProcess->program (), m_perfRecordProcess->arguments ()); });
120118
121- connect (m_perfRecordProcess.data (), &QProcess::readyRead, this , [this ]() {
119+ connect (m_perfRecordProcess.get (), &QProcess::readyRead, this , [this ]() {
122120 const auto output = QString::fromUtf8 (m_perfRecordProcess->readAll ());
123121 emit recordingOutput (output);
124122 });
0 commit comments