diff options
Diffstat (limited to 'src/citra')
| -rw-r--r-- | src/citra/citra.cpp | 14 | ||||
| -rw-r--r-- | src/citra/emu_window/emu_window_sdl2.cpp | 4 | 
2 files changed, 10 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;  } diff --git a/src/citra/emu_window/emu_window_sdl2.cpp b/src/citra/emu_window/emu_window_sdl2.cpp index 1fed82e78..924189f4c 100644 --- a/src/citra/emu_window/emu_window_sdl2.cpp +++ b/src/citra/emu_window/emu_window_sdl2.cpp @@ -73,6 +73,10 @@ EmuWindow_SDL2::EmuWindow_SDL2() {      SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);      SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);      SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); +    SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); +    SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); +    SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); +    SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0);      std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc);      render_window = SDL_CreateWindow(window_title.c_str(), | 
