1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

Revert "remove duplicate code"

This reverts commit 0c6a0fba4b6388433f3a41fa423780b5d722e9bc.
This commit is contained in:
FunkyFr3sh 2024-06-08 22:08:23 +02:00
parent 0c6a0fba4b
commit e19d896dab

View File

@ -541,18 +541,20 @@ HRESULT dd_GetMonitorFrequency(LPDWORD lpdwFreq)
HRESULT dd_RestoreDisplayMode()
{
if (g_ddraw.render.run)
if (!g_ddraw.render.run)
{
EnterCriticalSection(&g_ddraw.cs);
g_ddraw.render.run = FALSE;
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
LeaveCriticalSection(&g_ddraw.cs);
return DD_OK;
}
if (g_ddraw.render.thread)
{
WaitForSingleObject(g_ddraw.render.thread, INFINITE);
g_ddraw.render.thread = NULL;
}
EnterCriticalSection(&g_ddraw.cs);
g_ddraw.render.run = FALSE;
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
LeaveCriticalSection(&g_ddraw.cs);
if (g_ddraw.render.thread)
{
WaitForSingleObject(g_ddraw.render.thread, INFINITE);
g_ddraw.render.thread = NULL;
}
if (!g_config.windowed)
@ -1431,7 +1433,32 @@ ULONG dd_Release()
cfg_save();
}
dd_RestoreDisplayMode();
if (g_ddraw.render.run)
{
EnterCriticalSection(&g_ddraw.cs);
g_ddraw.render.run = FALSE;
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
LeaveCriticalSection(&g_ddraw.cs);
if (g_ddraw.render.thread)
{
WaitForSingleObject(g_ddraw.render.thread, INFINITE);
g_ddraw.render.thread = NULL;
}
}
if (!g_config.windowed)
{
if (g_ddraw.renderer == d3d9_render_main && !g_config.nonexclusive)
{
if (!d3d9_reset(TRUE))
d3d9_release();
}
else
{
ChangeDisplaySettings(NULL, 0);
}
}
if (g_ddraw.render.hdc)
{