citra-emu
/
citra
Archived
1
0
Fork 0

citra_qt: Only resume the game if it wasn't paused

When dumping was stopped, the game will be paused and then resumed. However when the game was already paused this will result in the game being unexpectedly resumed, which isn't what we want.
This commit is contained in:
zhupengfei 2020-03-22 00:56:57 +08:00
parent 22bfa7b5de
commit b87a15c6b2
No known key found for this signature in database
GPG Key ID: DD129E108BD09378
2 changed files with 6 additions and 1 deletions

View File

@ -1850,6 +1850,8 @@ void GMainWindow::OnStopVideoDumping() {
const bool was_dumping = Core::System::GetInstance().VideoDumper().IsDumping(); const bool was_dumping = Core::System::GetInstance().VideoDumper().IsDumping();
if (!was_dumping) if (!was_dumping)
return; return;
game_paused_for_dumping = emu_thread->IsRunning();
OnPauseGame(); OnPauseGame();
auto future = auto future =
@ -1859,7 +1861,8 @@ void GMainWindow::OnStopVideoDumping() {
if (game_shutdown_delayed) { if (game_shutdown_delayed) {
game_shutdown_delayed = false; game_shutdown_delayed = false;
ShutdownGame(); ShutdownGame();
} else { } else if (game_paused_for_dumping) {
game_paused_for_dumping = false;
OnStartGame(); OnStartGame();
} }
}); });

View File

@ -258,6 +258,8 @@ private:
QString video_dumping_path; QString video_dumping_path;
// Whether game shutdown is delayed due to video dumping // Whether game shutdown is delayed due to video dumping
bool game_shutdown_delayed = false; bool game_shutdown_delayed = false;
// Whether game was paused due to stopping video dumping
bool game_paused_for_dumping = false;
// Debugger panes // Debugger panes
ProfilerWidget* profilerWidget; ProfilerWidget* profilerWidget;