mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	citra: Shutdown cleanly if ROM load fails
This commit is contained in:
		@@ -19,6 +19,8 @@
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "common/logging/backend.h"
 | 
			
		||||
#include "common/logging/filter.h"
 | 
			
		||||
#include "common/make_unique.h"
 | 
			
		||||
#include "common/scope_exit.h"
 | 
			
		||||
 | 
			
		||||
#include "core/settings.h"
 | 
			
		||||
#include "core/system.h"
 | 
			
		||||
@@ -64,6 +66,7 @@ int main(int argc, char **argv) {
 | 
			
		||||
    Log::SetFilter(&log_filter);
 | 
			
		||||
 | 
			
		||||
    MicroProfileOnThreadCreate("EmuThread");
 | 
			
		||||
    SCOPE_EXIT({ MicroProfileShutdown(); });
 | 
			
		||||
 | 
			
		||||
    if (boot_filename.empty()) {
 | 
			
		||||
        LOG_CRITICAL(Frontend, "Failed to load ROM: No ROM specified");
 | 
			
		||||
@@ -76,12 +79,13 @@ int main(int argc, char **argv) {
 | 
			
		||||
    GDBStub::ToggleServer(Settings::values.use_gdbstub);
 | 
			
		||||
    GDBStub::SetServerPort(static_cast<u32>(Settings::values.gdbstub_port));
 | 
			
		||||
 | 
			
		||||
    EmuWindow_SDL2* emu_window = new EmuWindow_SDL2;
 | 
			
		||||
    std::unique_ptr<EmuWindow_SDL2> emu_window = Common::make_unique<EmuWindow_SDL2>();
 | 
			
		||||
 | 
			
		||||
    VideoCore::g_hw_renderer_enabled = Settings::values.use_hw_renderer;
 | 
			
		||||
    VideoCore::g_shader_jit_enabled = Settings::values.use_shader_jit;
 | 
			
		||||
 | 
			
		||||
    System::Init(emu_window);
 | 
			
		||||
    System::Init(emu_window.get());
 | 
			
		||||
    SCOPE_EXIT({ System::Shutdown(); });
 | 
			
		||||
 | 
			
		||||
    Loader::ResultStatus load_result = Loader::LoadFile(boot_filename);
 | 
			
		||||
    if (Loader::ResultStatus::Success != load_result) {
 | 
			
		||||
@@ -93,11 +97,5 @@ int main(int argc, char **argv) {
 | 
			
		||||
        Core::RunLoop();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    System::Shutdown();
 | 
			
		||||
 | 
			
		||||
    delete emu_window;
 | 
			
		||||
 | 
			
		||||
    MicroProfileShutdown();
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user