diff options
author | 2016-02-22 18:29:53 +0100 | |
---|---|---|
committer | 2016-02-22 18:29:53 +0100 | |
commit | d44f8f4c2bdf19fdd55a45c779b746160d90d4fa (patch) | |
tree | 16d68eab6a3734ac0aaad0a6bc35e764a5a6fde9 /src/osd/sdl/window.cpp | |
parent | 3be56e3cef6e7778c0ad5b7aac253e6da2876cd2 (diff) | |
parent | 72dd79838fc7b942cedc9099a9cffb01b3bb8637 (diff) |
Merge pull request #13 from mamedev/master
Sync to base master
Diffstat (limited to 'src/osd/sdl/window.cpp')
-rw-r--r-- | src/osd/sdl/window.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp index 49e8ed48477..eed3a9afd67 100644 --- a/src/osd/sdl/window.cpp +++ b/src/osd/sdl/window.cpp @@ -351,6 +351,26 @@ void sdl_osd_interface::window_exit() global_free(temp); } + switch(video_config.mode) + { + case VIDEO_MODE_SDL2ACCEL: + renderer_sdl2::exit(); + break; + case VIDEO_MODE_SOFT: + renderer_sdl1::exit(); + break; + case VIDEO_MODE_BGFX: + renderer_bgfx::exit(); + break; +#if (USE_OPENGL) + case VIDEO_MODE_OPENGL: + renderer_ogl::exit(); + break; +#endif + default: + break; + } + // if we're multithreaded, clean up the window thread if (multithreading_enabled) { @@ -541,8 +561,11 @@ OSDWORK_CALLBACK( sdl_window_info::sdlwindow_toggle_full_screen_wt ) window->m_windowed_dim = window->get_size(); } - delete window->m_renderer; - window->m_renderer = nullptr; + if (window->m_renderer != nullptr) + { + delete window->m_renderer; + window->m_renderer = nullptr; + } bool is_osx = false; #ifdef SDLMAME_MACOSX |