From d8d485370c4b2d76f5afe26c76cd36c4c291e72d Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 25 Jul 2011 15:03:42 -0700 Subject: [PATCH] If we didn't create win32 window, restore its event procedure on destruction. --- src/video/windows/SDL_windowswindow.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c index 34ebc12e2..55fc54d3f 100644 --- a/src/video/windows/SDL_windowswindow.c +++ b/src/video/windows/SDL_windowswindow.c @@ -636,6 +636,15 @@ WIN_DestroyWindow(_THIS, SDL_Window * window) ReleaseDC(data->hwnd, data->hdc); if (data->created) { DestroyWindow(data->hwnd); + } else { + /* Restore any original event handler... */ + if (data->wndproc != NULL) { +#ifdef GWLP_WNDPROC + SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR) data->wndproc); +#else + SetWindowLong(hwnd, GWL_WNDPROC, (LONG_PTR) data->wndproc); +#endif + } } SDL_free(data); }