Manager: Disconnect previous signal connections from the process object before starting the VM

Fixes crash dialog appearing more than one time under certain circumstances
This commit is contained in:
Alexander Babikov
2025-12-05 16:15:48 +05:00
parent c9fb23c5b1
commit 50023a656c

View File

@@ -440,6 +440,7 @@ VMManagerSystem::launchMainProcess()
process->start();
updateTimestamp();
disconnect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), nullptr, nullptr);
connect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
[=](const int exitCode, const QProcess::ExitStatus exitStatus) {
if (exitCode != 0 || exitStatus != QProcess::NormalExit) {
@@ -501,6 +502,7 @@ VMManagerSystem::launchSettings()
qDebug() << Q_FUNC_INFO << " Full Command:" << process->program() << " " << process->arguments();
process->start();
disconnect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), nullptr, nullptr);
connect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
[=](const int exitCode, const QProcess::ExitStatus exitStatus) {
if (exitCode != 0 || exitStatus != QProcess::NormalExit) {