fix d3d9 alt+tab and alt+enter on windows 7

This commit is contained in:
FunkyFr3sh 2023-08-20 22:15:06 +02:00
parent bbd430bd1e
commit 85563ef06b
2 changed files with 15 additions and 1 deletions

View file

@ -371,6 +371,17 @@ void util_toggle_fullscreen()
}
else
{
if (g_ddraw->render.thread)
{
EnterCriticalSection(&g_ddraw->cs);
g_ddraw->render.run = FALSE;
ReleaseSemaphore(g_ddraw->render.sem, 1, NULL);
LeaveCriticalSection(&g_ddraw->cs);
WaitForSingleObject(g_ddraw->render.thread, INFINITE);
g_ddraw->render.thread = NULL;
}
ChangeDisplaySettings(NULL, g_ddraw->bnet_active ? CDS_FULLSCREEN : 0);
}

View file

@ -529,6 +529,9 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
{
if (g_ddraw->renderer != d3d9_render_main || g_ddraw->nonexclusive)
{
if (g_ddraw->renderer == d3d9_render_main) /* Needed for Windows 7 */
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN);
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
mouse_lock();