summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2015-02-22 20:24:16 +0100
committer couriersud <couriersud@arcor.de>2015-02-22 20:24:16 +0100
commit9fcd415327cd4155a1aceff8886c5e7b3d136de5 (patch)
tree30a979eb1f8f322ae352c427809a3a71b8243965
parent4ca1df404eb09cf02c5006ee7ec558ab7db843c0 (diff)
WM_DESTROY may be send multiple times. This also fixes
-bench X crashes. (nw)
-rw-r--r--src/osd/windows/window.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/osd/windows/window.c b/src/osd/windows/window.c
index 5ff7669cd9a..301b885b4d0 100644
--- a/src/osd/windows/window.c
+++ b/src/osd/windows/window.c
@@ -1405,9 +1405,12 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR
// destroy: clean up all attached rendering bits and NULL out our hwnd
case WM_DESTROY:
- window->m_renderer->destroy();
- global_free(window->m_renderer);
- window->m_renderer = NULL;
+ if (!(window->m_renderer == NULL))
+ {
+ window->m_renderer->destroy();
+ global_free(window->m_renderer);
+ window->m_renderer = NULL;
+ }
window->m_hwnd = NULL;
return DefWindowProc(wnd, message, wparam, lparam);