Qt: Bugfixes regarding usage of ShowConfirmationBox

This commit is contained in:
Eladash 2020-01-30 21:05:27 +02:00 committed by Megamouse
parent 232c6c3aaf
commit 48a847d1b6
2 changed files with 10 additions and 4 deletions

View file

@ -456,15 +456,21 @@ bool gs_frame::event(QEvent* ev)
toggle_fullscreen(); toggle_fullscreen();
} }
int result; int result = QMessageBox::Yes;
atomic_t<bool> called = false;
Emu.CallAfter([this, &result]() Emu.CallAfter([this, &result, &called]()
{ {
m_gui_settings->ShowConfirmationBox(tr("Exit Game?"), m_gui_settings->ShowConfirmationBox(tr("Exit Game?"),
tr("Do you really want to exit the game?\n\nAny unsaved progress will be lost!\n"), tr("Do you really want to exit the game?\n\nAny unsaved progress will be lost!\n"),
gui::ib_confirm_exit, &result, nullptr); gui::ib_confirm_exit, &result, nullptr);
called = true;
called.notify_one();
}); });
called.wait(false);
if (result != QMessageBox::Yes) if (result != QMessageBox::Yes)
{ {
return true; return true;

View file

@ -242,7 +242,7 @@ void main_window::Boot(const std::string& path, const std::string& title_id, boo
{ {
if (!Emu.IsStopped()) if (!Emu.IsStopped())
{ {
int result; int result = QMessageBox::Yes;
guiSettings->ShowConfirmationBox(tr("Close Running Game?"), guiSettings->ShowConfirmationBox(tr("Close Running Game?"),
tr("Booting another game will close the current game.\nDo you really want to boot another game?\n\nAny unsaved progress will be lost!\n"), tr("Booting another game will close the current game.\nDo you really want to boot another game?\n\nAny unsaved progress will be lost!\n"),
gui::ib_confirm_boot, &result, this); gui::ib_confirm_boot, &result, this);
@ -1801,7 +1801,7 @@ void main_window::closeEvent(QCloseEvent* closeEvent)
{ {
if (!Emu.IsStopped() && guiSettings->GetValue(gui::ib_confirm_exit).toBool()) if (!Emu.IsStopped() && guiSettings->GetValue(gui::ib_confirm_exit).toBool())
{ {
int result; int result = QMessageBox::Yes;
guiSettings->ShowConfirmationBox(tr("Exit RPCS3?"), guiSettings->ShowConfirmationBox(tr("Exit RPCS3?"),
tr("A game is currently running. Do you really want to close RPCS3?\n\nAny unsaved progress will be lost!\n"), tr("A game is currently running. Do you really want to close RPCS3?\n\nAny unsaved progress will be lost!\n"),