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:
parent
0c6a0fba4b
commit
e19d896dab
49
src/dd.c
49
src/dd.c
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user