From 94422d324c8021442395a8c95b335ffc4279f68d Mon Sep 17 00:00:00 2001 From: Fabien Poussin Date: Tue, 5 Jan 2016 15:13:49 +0100 Subject: [PATCH] Moving QProcess to pointer. --- doxygenplugin.cpp | 21 +++++++++++---------- doxygenplugin.h | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/doxygenplugin.cpp b/doxygenplugin.cpp index bea04b4..5cc54e1 100644 --- a/doxygenplugin.cpp +++ b/doxygenplugin.cpp @@ -184,9 +184,10 @@ bool DoxygenPlugin::initialize(const QStringList &arguments, QString *errorStrin dox, SLOT(documentCurrentProject(DoxygenSettingsStruct))); // Process connection for Doxygen - connect(&m_process, SIGNAL(finished(int,QProcess::ExitStatus)), + m_process = new QProcess(); + connect(m_process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processExited(int,QProcess::ExitStatus))); - connect(&m_process, SIGNAL(readyRead()), + connect(m_process, SIGNAL(readyRead()), this, SLOT(readProcessOutput())); return true; @@ -308,13 +309,13 @@ void DoxygenPlugin::runDoxygen(const QStringList &arguments, QString workingDire const QString outputText = tr("Executing: %1 %2\n").arg(executable).arg(DoxygenSettingsStruct::formatArguments(allArgs)); externalString(outputText); - m_process.close(); - m_process.waitForFinished(); + m_process->close(); + m_process->waitForFinished(); - m_process.setWorkingDirectory(workingDirectory); + m_process->setWorkingDirectory(workingDirectory); - m_process.start(executable, allArgs); - m_process.waitForStarted(); + m_process->start(executable, allArgs); + m_process->waitForStarted(); return; } @@ -329,8 +330,8 @@ void DoxygenPlugin::processExited(int returnCode, QProcess::ExitStatus exitStatu { DoxygenResponse response; response.error = true; - response.stdErr = m_process.readAllStandardError(); - response.stdOut = m_process.readAllStandardOutput(); + response.stdErr = m_process->readAllStandardError(); + response.stdOut = m_process->readAllStandardOutput(); switch (exitStatus) { case QProcess::NormalExit: @@ -348,7 +349,7 @@ void DoxygenPlugin::processExited(int returnCode, QProcess::ExitStatus exitStatu void DoxygenPlugin::readProcessOutput() { - externalString(m_process.readAll()); + externalString(m_process->readAll()); } DoxygenSettingsStruct DoxygenPlugin::settings() const diff --git a/doxygenplugin.h b/doxygenplugin.h index 4d8a76a..2a927f4 100644 --- a/doxygenplugin.h +++ b/doxygenplugin.h @@ -72,7 +72,7 @@ class DoxygenPlugin : public ExtensionSystem::IPlugin QAction* m_doxygenDocumentActiveProjectAction; QAction* m_doxygenBuildDocumentationAction; QAction* m_doxygenDoxyfileWizardAction; - QProcess m_process; + QProcess* m_process; signals: void doxyDocumentEntity(const DoxygenSettingsStruct &DoxySettings, Core::IEditor *editor);