If we didn't create win32 window, restore its event procedure on destruction.

This commit is contained in:
Ryan C. Gordon 2011-07-25 15:03:42 -07:00
parent f7d9b29115
commit d8d485370c

View file

@ -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);
}