citra-sdl: use the result of system.RunLoop()

If a shutdown was requested by the application, close the SDL window,
initiating the normal shutdown procedure. This causes a graceful exit
process instead of hanging.
This commit is contained in:
Ian Chamberlain 2022-08-20 20:49:59 -04:00
parent a90b0daebe
commit c634c263db
No known key found for this signature in database
GPG key ID: AE5484D09405AA60
3 changed files with 21 additions and 2 deletions

View file

@ -104,6 +104,10 @@ bool EmuWindow_SDL2::IsOpen() const {
return is_open;
}
void EmuWindow_SDL2::Close() {
is_open = false;
}
void EmuWindow_SDL2::OnResize() {
int width, height;
SDL_GetWindowSize(render_window, &width, &height);
@ -134,7 +138,7 @@ void EmuWindow_SDL2::Fullscreen() {
EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {
// Initialize the window
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER) < 0) {
LOG_CRITICAL(Frontend, "Failed to initialize SDL2! Exiting...");
LOG_CRITICAL(Frontend, "Failed to initialize SDL2: {}! Exiting...", SDL_GetError());
exit(1);
}