PyDapEngine: Start install process directly from the main thread

There is no need to start it from a separate thread.

Change-Id: I0f560345ed0f02832176a8986a9fbdd97061d3ae
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
This commit is contained in:
Jarek Kobus
2023-10-04 15:15:57 +02:00
parent adfdf3fe27
commit 973dbaed98
2 changed files with 7 additions and 14 deletions

View File

@@ -11,7 +11,6 @@
#include <debugger/debuggermainwindow.h> #include <debugger/debuggermainwindow.h>
#include <debugger/debuggertr.h> #include <debugger/debuggertr.h>
#include <utils/async.h>
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/temporarydirectory.h> #include <utils/temporarydirectory.h>
@@ -200,16 +199,6 @@ void PyDapEngine::quitDebugger()
DebuggerEngine::quitDebugger(); DebuggerEngine::quitDebugger();
} }
void installDebugpyPackage(const FilePath &pythonPath)
{
CommandLine cmd{pythonPath, {"-m", "pip", "install", "debugpy"}};
Process process;
process.setCommand(cmd);
process.setTerminalMode(TerminalMode::Run);
process.start();
process.waitForFinished();
}
bool PyDapEngine::acceptsBreakpoint(const BreakpointParameters &bp) const bool PyDapEngine::acceptsBreakpoint(const BreakpointParameters &bp) const
{ {
return bp.fileName.endsWith(".py"); return bp.fileName.endsWith(".py");
@@ -269,9 +258,11 @@ void PyDapEngine::setupEngine()
info.addCustomButton(Tr::tr("Install debugpy"), [this] { info.addCustomButton(Tr::tr("Install debugpy"), [this] {
Core::ICore::infoBar()->removeInfo(installDebugPyInfoBarId); Core::ICore::infoBar()->removeInfo(installDebugPyInfoBarId);
Core::ICore::infoBar()->globallySuppressInfo(installDebugPyInfoBarId); Core::ICore::infoBar()->globallySuppressInfo(installDebugPyInfoBarId);
QTimer::singleShot(0, this, [interpreter = runParameters().interpreter] { m_installProcess.reset(new Process);
Utils::asyncRun(&installDebugpyPackage, interpreter); m_installProcess->setCommand({runParameters().interpreter,
}); {"-m", "pip", "install", "debugpy"}});
m_installProcess->setTerminalMode(TerminalMode::Run);
m_installProcess->start();
}); });
Core::ICore::infoBar()->addInfo(info); Core::ICore::infoBar()->addInfo(info);

View File

@@ -27,6 +27,8 @@ private:
/* Needed for Python support issue:1386 */ /* Needed for Python support issue:1386 */
const QLoggingCategory &logCategory() override; const QLoggingCategory &logCategory() override;
std::unique_ptr<Utils::Process> m_installProcess;
}; };
} // Debugger::Internal } // Debugger::Internal