summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/window.cpp
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2016-02-22 18:29:53 +0100
committer ImJezze <jezze@gmx.net>2016-02-22 18:29:53 +0100
commitd44f8f4c2bdf19fdd55a45c779b746160d90d4fa (patch)
tree16d68eab6a3734ac0aaad0a6bc35e764a5a6fde9 /src/osd/sdl/window.cpp
parent3be56e3cef6e7778c0ad5b7aac253e6da2876cd2 (diff)
parent72dd79838fc7b942cedc9099a9cffb01b3bb8637 (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.cpp27
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