summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/window.cpp
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-02-22 17:30:21 +0100
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-02-22 17:30:35 +0100
commit53994092de00f0f705c56ae24ef813c01474cae1 (patch)
tree44695c9e7d5e362887544195ca43f6428b4a3a7b /src/osd/sdl/window.cpp
parente4c5cf650b02062e4c28fbf4b93670be94f7cdd3 (diff)
Fix D3D and BGFX fullscreen toggle issues, nw
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