DAP: Change unique_ptr to QObject parenting

Change-Id: I47f5db1823e69829294fb9f551a2edcb980d86dc
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Artem Sokolovskii
2023-08-17 13:32:55 +02:00
parent 17d8f61f93
commit e3808cf4f4
6 changed files with 43 additions and 29 deletions

View File

@@ -26,8 +26,11 @@ namespace Debugger::Internal {
class ProcessDataProvider : public IDataProvider
{
public:
ProcessDataProvider(const DebuggerRunParameters &rp, const CommandLine &cmd)
: m_runParameters(rp)
ProcessDataProvider(const DebuggerRunParameters &rp,
const CommandLine &cmd,
QObject *parent = nullptr)
: IDataProvider(parent)
, m_runParameters(rp)
, m_cmd(cmd)
{
connect(&m_proc, &Process::started, this, &IDataProvider::started);
@@ -89,8 +92,8 @@ void GdbDapEngine::setupEngine()
const DebuggerRunParameters &rp = runParameters();
const CommandLine cmd{rp.debugger.command.executable(), {"-i", "dap"}};
std::unique_ptr<IDataProvider> dataProvider = std::make_unique<ProcessDataProvider>(rp, cmd);
m_dapClient = std::make_unique<DapClient>(std::move(dataProvider));
IDataProvider *dataProvider = new ProcessDataProvider(rp, cmd, this);
m_dapClient = new DapClient(dataProvider, this);
connectDataGeneratorSignals();
m_dapClient->dataProvider()->start();