mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
#227 fix changing resolutions bug
This commit is contained in:
parent
79100ce609
commit
6269950402
5
src/dd.c
5
src/dd.c
@ -1131,7 +1131,10 @@ ULONG dd_Release()
|
|||||||
DeleteCriticalSection(&g_ddraw->cs);
|
DeleteCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
/* restore old wndproc, subsequent ddraw creation will otherwise fail */
|
/* 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);
|
HeapFree(GetProcessHeap(), 0, g_ddraw);
|
||||||
g_ddraw = NULL;
|
g_ddraw = NULL;
|
||||||
|
@ -969,6 +969,13 @@ BOOL WINAPI fake_DestroyWindow(HWND hWnd)
|
|||||||
{
|
{
|
||||||
BOOL result = real_DestroyWindow(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)
|
if (g_ddraw && g_ddraw->hwnd != hWnd && g_ddraw->bnet_active)
|
||||||
{
|
{
|
||||||
RedrawWindow(NULL, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN);
|
RedrawWindow(NULL, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user