wined3d: Don't unregister windows with the wrong window proc on unload either.

This is the same issue as 7a354177b3, just on
wined3d unload this time.
This commit is contained in:
Henri Verbeet 2011-04-06 19:17:51 +02:00 committed by Alexandre Julliard
parent 86d090ee8e
commit 9d405473d0

View file

@ -355,8 +355,13 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL)
for (i = 0; i < wndproc_table.count; ++i)
{
struct wined3d_wndproc *entry = &wndproc_table.entries[i];
SetWindowLongPtrW(entry->window, GWLP_WNDPROC, (LONG_PTR)entry->proc);
/* Trying to unregister these would be futile. These entries can only
* exist if either we skipped them in wined3d_unregister_window() due
* to the application replacing the wndproc after the entry was
* registered, or if the application still has an active wined3d
* device. In the latter case the application has bigger problems than
* these entries. */
WARN("Leftover wndproc table entry %p.\n", &wndproc_table.entries[i]);
}
HeapFree(GetProcessHeap(), 0, wndproc_table.entries);