Merge pull request #3959 from zhaowenlan1779/semi-reset

service/apt: Implement soft reset & CloseApplication
This commit is contained in:
James Rowe 2018-09-19 21:02:59 -06:00 committed by GitHub
commit 687e3e74ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 160 additions and 12 deletions

View file

@ -35,6 +35,12 @@ void EmuThread::run() {
emit DebugModeLeft();
Core::System::ResultStatus result = Core::System::GetInstance().RunLoop();
if (result == Core::System::ResultStatus::ShutdownRequested) {
// Notify frontend we shutdown
emit ErrorThrown(result, "");
// End emulation execution
break;
}
if (result != Core::System::ResultStatus::Success) {
this->SetRunning(false);
emit ErrorThrown(result, Core::System::GetInstance().GetStatusDetails());

View file

@ -1400,7 +1400,6 @@ void GMainWindow::UpdateStatusBar() {
}
void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string details) {
QMessageBox::StandardButton answer;
QString status_message;
QString title, message;
@ -1435,9 +1434,11 @@ void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string det
message_box.setIcon(QMessageBox::Icon::Critical);
QPushButton* continue_button = message_box.addButton(tr("Continue"), QMessageBox::RejectRole);
QPushButton* abort_button = message_box.addButton(tr("Abort"), QMessageBox::AcceptRole);
message_box.exec();
if (result != Core::System::ResultStatus::ShutdownRequested)
message_box.exec();
if (message_box.clickedButton() == abort_button) {
if (result == Core::System::ResultStatus::ShutdownRequested ||
message_box.clickedButton() == abort_button) {
if (emu_thread) {
ShutdownGame();
}