#227 fix changing resolutions bug
This commit is contained in:
parent
79100ce609
commit
6269950402
2 changed files with 11 additions and 1 deletions
5
src/dd.c
5
src/dd.c
|
@ -1131,7 +1131,10 @@ ULONG dd_Release()
|
|||
DeleteCriticalSection(&g_ddraw->cs);
|
||||
|
||||
/* restore old wndproc, subsequent ddraw creation will otherwise fail */
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)g_ddraw->wndproc);
|
||||
if (g_ddraw->hwnd)
|
||||
{
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)g_ddraw->wndproc);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, g_ddraw);
|
||||
g_ddraw = NULL;
|
||||
|
|
|
@ -969,6 +969,13 @@ BOOL WINAPI fake_DestroyWindow(HWND hWnd)
|
|||
{
|
||||
BOOL result = real_DestroyWindow(hWnd);
|
||||
|
||||
if (result && g_ddraw && hWnd == g_ddraw->hwnd)
|
||||
{
|
||||
g_ddraw->hwnd = NULL;
|
||||
g_ddraw->wndproc = NULL;
|
||||
g_ddraw->render.hdc = NULL;
|
||||
}
|
||||
|
||||
if (g_ddraw && g_ddraw->hwnd != hWnd && g_ddraw->bnet_active)
|
||||
{
|
||||
RedrawWindow(NULL, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue