mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	citra: Shutdown cleanly if ROM load fails
This commit is contained in:
		
							parent
							
								
									62b105b695
								
							
						
					
					
						commit
						317e795d35
					
				
					 1 changed files with 6 additions and 8 deletions
				
			
		|  | @ -19,6 +19,8 @@ | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "common/logging/backend.h" | #include "common/logging/backend.h" | ||||||
| #include "common/logging/filter.h" | #include "common/logging/filter.h" | ||||||
|  | #include "common/make_unique.h" | ||||||
|  | #include "common/scope_exit.h" | ||||||
| 
 | 
 | ||||||
| #include "core/settings.h" | #include "core/settings.h" | ||||||
| #include "core/system.h" | #include "core/system.h" | ||||||
|  | @ -64,6 +66,7 @@ int main(int argc, char **argv) { | ||||||
|     Log::SetFilter(&log_filter); |     Log::SetFilter(&log_filter); | ||||||
| 
 | 
 | ||||||
|     MicroProfileOnThreadCreate("EmuThread"); |     MicroProfileOnThreadCreate("EmuThread"); | ||||||
|  |     SCOPE_EXIT({ MicroProfileShutdown(); }); | ||||||
| 
 | 
 | ||||||
|     if (boot_filename.empty()) { |     if (boot_filename.empty()) { | ||||||
|         LOG_CRITICAL(Frontend, "Failed to load ROM: No ROM specified"); |         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::ToggleServer(Settings::values.use_gdbstub); | ||||||
|     GDBStub::SetServerPort(static_cast<u32>(Settings::values.gdbstub_port)); |     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_hw_renderer_enabled = Settings::values.use_hw_renderer; | ||||||
|     VideoCore::g_shader_jit_enabled = Settings::values.use_shader_jit; |     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); |     Loader::ResultStatus load_result = Loader::LoadFile(boot_filename); | ||||||
|     if (Loader::ResultStatus::Success != load_result) { |     if (Loader::ResultStatus::Success != load_result) { | ||||||
|  | @ -93,11 +97,5 @@ int main(int argc, char **argv) { | ||||||
|         Core::RunLoop(); |         Core::RunLoop(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     System::Shutdown(); |  | ||||||
| 
 |  | ||||||
|     delete emu_window; |  | ||||||
| 
 |  | ||||||
|     MicroProfileShutdown(); |  | ||||||
| 
 |  | ||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue