fix d3d9 alt+tab and alt+enter on windows 7
This commit is contained in:
parent
bbd430bd1e
commit
85563ef06b
2 changed files with 15 additions and 1 deletions
11
src/utils.c
11
src/utils.c
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue