diff --git a/src/qt/languages/86box.pot b/src/qt/languages/86box.pot index e2a26fcdd..36c951427 100644 --- a/src/qt/languages/86box.pot +++ b/src/qt/languages/86box.pot @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" diff --git a/src/qt/languages/ca-ES.po b/src/qt/languages/ca-ES.po index 7391cc1f9..1d78d3189 100644 --- a/src/qt/languages/ca-ES.po +++ b/src/qt/languages/ca-ES.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/cs-CZ.po b/src/qt/languages/cs-CZ.po index 0d5f3821f..5eb38267c 100644 --- a/src/qt/languages/cs-CZ.po +++ b/src/qt/languages/cs-CZ.po @@ -1266,9 +1266,6 @@ msgstr "Nebylo možné otevřít konfigurační soubor %1 pro zápis" msgid "Error adding system" msgstr "Chyba při přidávání systému" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Abnormální ukončení programu při vytváření nového systému: kód ukončení %1, stav ukončení %2.\n\nSystém nebude přidán." - msgid "Remove directory failed" msgstr "Odstranění adresáře se nezdařilo" diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index 2e9be29d2..8a0f783e2 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/es-ES.po b/src/qt/languages/es-ES.po index 41506b33d..14de5915c 100644 --- a/src/qt/languages/es-ES.po +++ b/src/qt/languages/es-ES.po @@ -1266,9 +1266,6 @@ msgstr "No fué posible abrir el archivo de configuración en %1 para escribir" msgid "Error adding system" msgstr "Error al añadir el sistema" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Terminación abnormal del programa al crear el nuevo sistema: código de salida %1, estado de salida %2.\n\nEl sistema no será añadido." - msgid "Remove directory failed" msgstr "Error al remover el directório" @@ -2925,6 +2922,9 @@ msgstr "Actualización de 86Box" msgid "Release notes:" msgstr "Notas de versión:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "Terminación inesperada de la máquina virtual" diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index bde6bacfd..87556362c 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index fb2f5d7d8..3913c99b5 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/hr-HR.po b/src/qt/languages/hr-HR.po index 0b62662c1..024392f2a 100644 --- a/src/qt/languages/hr-HR.po +++ b/src/qt/languages/hr-HR.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/hu-HU.po b/src/qt/languages/hu-HU.po index e8203e3ab..8eab7813b 100644 --- a/src/qt/languages/hu-HU.po +++ b/src/qt/languages/hu-HU.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/it-IT.po b/src/qt/languages/it-IT.po index 730b06c1c..47235177f 100644 --- a/src/qt/languages/it-IT.po +++ b/src/qt/languages/it-IT.po @@ -1266,9 +1266,6 @@ msgstr "Impossibile aprire il file di configurazione in %1 per la scrittura" msgid "Error adding system" msgstr "Errore durante l'aggiunta del sistema" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Il programma è stato terminato in modo anomalo durante la creazione del nuovo sistema: codice di uscita %1, stato di uscita %2.\n\nIl sistema non verrà aggiunto." - msgid "Remove directory failed" msgstr "Rimozione directory non riuscita" @@ -2925,6 +2922,9 @@ msgstr "Aggiornamento di 86Box" msgid "Release notes:" msgstr "Note di rilascio:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "Arresto anomalo della macchina virtuale" @@ -2932,7 +2932,7 @@ msgid "The virtual machine \"%1\"'s process has unexpectedly terminated with exi msgstr "Il processo della macchina virtuale \"%1\" è terminato inaspettatamente con il codice di uscita %2." msgid "The system will not be added." -msgstr "Il sistema non sarà aggiunto." +msgstr "Il sistema non verrà aggiunto." #~ msgid "HD Controller:" #~ msgstr "Controller HD:" diff --git a/src/qt/languages/ja-JP.po b/src/qt/languages/ja-JP.po index 44bc53618..32fe2da98 100644 --- a/src/qt/languages/ja-JP.po +++ b/src/qt/languages/ja-JP.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/ko-KR.po b/src/qt/languages/ko-KR.po index 7b4be5ba2..a0ffdbadc 100644 --- a/src/qt/languages/ko-KR.po +++ b/src/qt/languages/ko-KR.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/nl-NL.po b/src/qt/languages/nl-NL.po index 8e32d5c57..4c1d5c14b 100644 --- a/src/qt/languages/nl-NL.po +++ b/src/qt/languages/nl-NL.po @@ -1266,9 +1266,6 @@ msgstr "Openen van configuratiebestand %1 voor wegschrijven niet mogelijk" msgid "Error adding system" msgstr "Fout bij toevoegen van systeem" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Onverwachte beëindiging van programma tijdens het aanmaken van nieuw systeem: afsluitcode %1, afsluitstatus %2.\n\nHet systeem wordt niet toegevoegd." - msgid "Remove directory failed" msgstr "Verwijderen map mislukt" @@ -2925,6 +2922,9 @@ msgstr "86Box Update" msgid "Release notes:" msgstr "Release-opmerkingen:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" @@ -2932,7 +2932,7 @@ msgid "The virtual machine \"%1\"'s process has unexpectedly terminated with exi msgstr "" msgid "The system will not be added." -msgstr "" +msgstr "Het systeem wordt niet toegevoegd." #~ msgid "HD Controller:" #~ msgstr "HD-controller:" diff --git a/src/qt/languages/pl-PL.po b/src/qt/languages/pl-PL.po index c72022fbe..90558eed4 100644 --- a/src/qt/languages/pl-PL.po +++ b/src/qt/languages/pl-PL.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/pt-BR.po b/src/qt/languages/pt-BR.po index 6e313f199..abe1d2436 100644 --- a/src/qt/languages/pt-BR.po +++ b/src/qt/languages/pt-BR.po @@ -1266,9 +1266,6 @@ msgstr "Impossível abrir o arquivo de configuração %1 para escrita" msgid "Error adding system" msgstr "Erro adicionando sistema" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Término anormal do programa ao criar novo sistema: código de saída %1, estado de saída %2.\n\nO sistema não será adicionado." - msgid "Remove directory failed" msgstr "Falha ao remover diretório" @@ -2925,6 +2922,9 @@ msgstr "Atualização do 86Box" msgid "Release notes:" msgstr "Notas de lançamento:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "Falha da máquina virtual" diff --git a/src/qt/languages/pt-PT.po b/src/qt/languages/pt-PT.po index d4039f0b0..7ecfff2c0 100644 --- a/src/qt/languages/pt-PT.po +++ b/src/qt/languages/pt-PT.po @@ -1266,9 +1266,6 @@ msgstr "Não foi possível abrir o ficheiro de configuração em %1 para a escri msgid "Error adding system" msgstr "Error ao adicionar o sistema" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Terminação abnormal do programa em criar o novo sistema: código de saída %1, código de estado %2.\n\nO sistema não será adicionado." - msgid "Remove directory failed" msgstr "Falha na remoção do directório" @@ -2925,6 +2922,9 @@ msgstr "Atualização do 86Box" msgid "Release notes:" msgstr "Notas da versão:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "Falecimento da máquina virtual" diff --git a/src/qt/languages/ru-RU.po b/src/qt/languages/ru-RU.po index a93e4f44f..59f49346d 100644 --- a/src/qt/languages/ru-RU.po +++ b/src/qt/languages/ru-RU.po @@ -1266,9 +1266,6 @@ msgstr "Невозможно открыть файл конфигурации в msgid "Error adding system" msgstr "Ошибка добавления системы" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Аномальное прекращение программы при создании новой системы: выходной код %1, состояние выхода %2.\n\nСистема не будет добавлена." - msgid "Remove directory failed" msgstr "Сбой при удалении папки" @@ -2449,7 +2446,7 @@ msgid "Composite" msgstr "Композитное видео" msgid "True color" -msgstr "" +msgstr "True Color" msgid "Old" msgstr "Старый" diff --git a/src/qt/languages/sk-SK.po b/src/qt/languages/sk-SK.po index 88d4b0a37..1cc5cc967 100644 --- a/src/qt/languages/sk-SK.po +++ b/src/qt/languages/sk-SK.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/sl-SI.po b/src/qt/languages/sl-SI.po index be06aaf0f..bd555dd2d 100644 --- a/src/qt/languages/sl-SI.po +++ b/src/qt/languages/sl-SI.po @@ -1266,9 +1266,6 @@ msgstr "Napaka pri odpiranju datoteke z nastavitvami %1 za pisanje" msgid "Error adding system" msgstr "Napaka pri dodajanju sistema" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "Med ustvarjanjem novega sistema je prišlo do nenavadne prekinitev: izhodna koda %1, izhodni status %2.\n\nSistem ne bo dodan." - msgid "Remove directory failed" msgstr "Napaka pri odstranjevanju imenika" @@ -2925,6 +2922,9 @@ msgstr "Posodobitev programa 86Box" msgid "Release notes:" msgstr "Opombe različice:" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "Sesutje navidezne naprave" diff --git a/src/qt/languages/sv-SE.po b/src/qt/languages/sv-SE.po index fe72132e3..bcf9bc52c 100644 --- a/src/qt/languages/sv-SE.po +++ b/src/qt/languages/sv-SE.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index f825e7ac5..00effa77a 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/uk-UA.po b/src/qt/languages/uk-UA.po index 57da865d7..9d8ca4c82 100644 --- a/src/qt/languages/uk-UA.po +++ b/src/qt/languages/uk-UA.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2928,6 +2925,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Гц" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/vi-VN.po b/src/qt/languages/vi-VN.po index cc4cf0566..1133ece89 100644 --- a/src/qt/languages/vi-VN.po +++ b/src/qt/languages/vi-VN.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/zh-CN.po b/src/qt/languages/zh-CN.po index 73f69fc14..835a8e46c 100644 --- a/src/qt/languages/zh-CN.po +++ b/src/qt/languages/zh-CN.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "86Box 更新" msgid "Release notes:" msgstr "发行版说明" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/languages/zh-TW.po b/src/qt/languages/zh-TW.po index 3362c40e7..e7b1e9205 100644 --- a/src/qt/languages/zh-TW.po +++ b/src/qt/languages/zh-TW.po @@ -1266,9 +1266,6 @@ msgstr "" msgid "Error adding system" msgstr "" -msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added." -msgstr "" - msgid "Remove directory failed" msgstr "" @@ -2925,6 +2922,9 @@ msgstr "" msgid "Release notes:" msgstr "" +msgid "%1 Hz" +msgstr "%1 Hz" + msgid "Virtual machine crash" msgstr "" diff --git a/src/qt/qt_vmmanager_main.cpp b/src/qt/qt_vmmanager_main.cpp index d2ce2f025..8dc892930 100644 --- a/src/qt/qt_vmmanager_main.cpp +++ b/src/qt/qt_vmmanager_main.cpp @@ -294,6 +294,7 @@ illegal_chars: QMessageBox msgbox(QMessageBox::Warning, tr("Warning"), tr("Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?").arg(selected_sysconfig->displayName), QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, parent); msgbox.exec(); if (msgbox.result() == QMessageBox::Yes) { + disconnect(selected_sysconfig->process, QOverload::of(&QProcess::finished), nullptr, nullptr); selected_sysconfig->process->kill(); } }); @@ -585,17 +586,17 @@ VMManagerMain::newMachineWizard() void VMManagerMain::addNewSystem(const QString &name, const QString &dir, const QString &displayName, const QString &configFile) { - const auto newSytemDirectory = QDir(QDir::cleanPath(dir + "/" + name)); + const auto newSystemDirectory = QDir(QDir::cleanPath(dir + "/" + name)); // qt replaces `/` with native separators - const auto newSystemConfigFile = QFileInfo(newSytemDirectory.path() + "/" + "86box.cfg"); - if (newSystemConfigFile.exists() || newSytemDirectory.exists()) { + const auto newSystemConfigFile = QFileInfo(newSystemDirectory.path() + "/" + "86box.cfg"); + if (newSystemConfigFile.exists() || newSystemDirectory.exists()) { QMessageBox::critical(this, tr("Directory in use"), tr("The selected directory is already in use. Please select a different directory.")); return; } // Create the directory const QDir qmkdir; - if (const bool mkdirResult = qmkdir.mkdir(newSytemDirectory.path()); !mkdirResult) { + if (const bool mkdirResult = qmkdir.mkdir(newSystemDirectory.path()); !mkdirResult) { QMessageBox::critical(this, tr("Create directory failed"), tr("Unable to create the directory for the new system")); return; } @@ -616,24 +617,30 @@ VMManagerMain::addNewSystem(const QString &name, const QString &dir, const QStri const auto new_system = new VMManagerSystem(newSystemConfigFile.absoluteFilePath()); new_system->launchSettings(); // Handle this in a closure so we can capture the temporary new_system object + disconnect(new_system->process, QOverload::of(&QProcess::finished), nullptr, nullptr); connect(new_system->process, QOverload::of(&QProcess::finished), [=](const int exitCode, const QProcess::ExitStatus exitStatus) { + bool fail = false; if (exitCode != 0 || exitStatus != QProcess::NormalExit) { qInfo().nospace().noquote() << "Abnormal program termination while creating new system: exit code " << exitCode << ", exit status " << exitStatus; qInfo() << "Not adding system due to errors"; + QString errMsg = tr("The virtual machine \"%1\"'s process has unexpectedly terminated with exit code %2.").arg( + (!displayName.isEmpty() ? displayName : name), QString::number(exitCode)); QMessageBox::critical(this, tr("Error adding system"), - tr("Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added.").arg(QString::number(exitCode), exitStatus)); - delete new_system; - return; + QString("%1\n\n%2").arg(errMsg, tr("The system will not be added."))); + fail = true; } // Create a new QFileInfo because the info from the old one may be cached if (const auto fi = QFileInfo(new_system->config_file.absoluteFilePath()); !fi.exists()) { // No config file which means the cancel button was pressed in the settings dialog // Attempt to clean up the directory that was created const QDir qrmdir; - if (const bool result = qrmdir.rmdir(newSytemDirectory.path()); !result) { + if (const bool result = qrmdir.rmdir(newSystemDirectory.path()); !result) { qWarning() << "Error cleaning up the old directory for canceled operation. Continuing anyway."; } + fail = true; + } + if (fail) { delete new_system; return; } diff --git a/src/qt/qt_vmmanager_system.cpp b/src/qt/qt_vmmanager_system.cpp index 2168f2e4d..618ceac99 100644 --- a/src/qt/qt_vmmanager_system.cpp +++ b/src/qt/qt_vmmanager_system.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include "qt_util.hpp" @@ -445,6 +446,8 @@ VMManagerSystem::launchMainProcess() { [=](const int exitCode, const QProcess::ExitStatus exitStatus){ if (exitCode != 0 || exitStatus != QProcess::NormalExit) { qInfo().nospace().noquote() << "Abnormal program termination while launching main process: exit code " << exitCode << ", exit status " << exitStatus; + QMessageBox::critical(this, tr("Virtual machine crash"), + tr("The virtual machine \"%1\"'s process has unexpectedly terminated with exit code %2.").arg(displayName, QString::number(exitCode))); return; } }); @@ -498,6 +501,8 @@ VMManagerSystem::launchSettings() { [=](const int exitCode, const QProcess::ExitStatus exitStatus){ if (exitCode != 0 || exitStatus != QProcess::NormalExit) { qInfo().nospace().noquote() << "Abnormal program termination while launching settings: exit code " << exitCode << ", exit status " << exitStatus; + QMessageBox::critical(this, tr("Virtual machine crash"), + tr("The virtual machine \"%1\"'s process has unexpectedly terminated with exit code %2.").arg(displayName, QString::number(exitCode))); return; }