diff options
author | linkmauve <linkmauve@linkmauve.fr> | 2016-03-15 05:15:30 +0100 |
---|---|---|
committer | linkmauve <linkmauve@linkmauve.fr> | 2016-03-15 05:15:30 +0100 |
commit | 9a627aa30b16542eb64115a83dc075055dbabaf4 (patch) | |
tree | f4f643f83e52a0043b8ffd1b9d43336ae2bc92a3 /src | |
parent | Merge pull request #1409 from JamePeng/Reorganize-NDM (diff) | |
parent | citra: Shutdown cleanly if ROM load fails (diff) | |
download | yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar.gz yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar.bz2 yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar.lz yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar.xz yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.tar.zst yuzu-9a627aa30b16542eb64115a83dc075055dbabaf4.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/citra/citra.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp index 415b98a05..40e40f192 100644 --- a/src/citra/citra.cpp +++ b/src/citra/citra.cpp @@ -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; } |