replace Direct3D9EnableMaximizedWindowedModeShim with better solution

This commit is contained in:
FunkyFr3sh 2023-08-14 19:56:00 +02:00
parent 2f18ca470a
commit f3b85780ad
4 changed files with 12 additions and 21 deletions

View file

@ -506,7 +506,6 @@ HRESULT dd_RestoreDisplayMode()
return DD_OK;
}
/* only stop drawing in GL mode when minimized */
if (g_ddraw->renderer != gdi_render_main)
{
EnterCriticalSection(&g_ddraw->cs);
@ -523,7 +522,7 @@ HRESULT dd_RestoreDisplayMode()
if (!g_ddraw->windowed)
{
if (g_ddraw->renderer == d3d9_render_main)
if (g_ddraw->renderer == d3d9_render_main && !g_ddraw->nonexclusive)
{
if (!d3d9_reset(TRUE))
d3d9_release();
@ -922,7 +921,8 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
}
}
if (!d3d9_active && ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
if ((!d3d9_active || g_ddraw->nonexclusive) &&
ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
{
g_ddraw->render.run = FALSE;
g_ddraw->windowed = TRUE;
@ -1185,7 +1185,7 @@ ULONG dd_Release()
if (!g_ddraw->windowed)
{
if (g_ddraw->renderer == d3d9_render_main)
if (g_ddraw->renderer == d3d9_render_main && !g_ddraw->nonexclusive)
{
if (!d3d9_reset(TRUE))
d3d9_release();