don't toggle fullscreen instantly when leaving bnet

This commit is contained in:
FunkyFr3sh 2019-08-08 12:40:20 +02:00
parent b9f716194c
commit 42541debda
4 changed files with 31 additions and 3 deletions

View file

@ -1053,6 +1053,30 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
}
return 0;
}
case WM_TIMER:
{
switch (wParam)
{
case IDT_TIMER_LEAVE_BNET:
{
KillTimer(ddraw->hWnd, IDT_TIMER_LEAVE_BNET);
if (!ddraw->windowed)
ddraw->bnetWasFullscreen = FALSE;
if (!ddraw->bnetActive && ddraw->bnetWasFullscreen)
{
int ws = WindowState;
ToggleFullscreen();
WindowState = ws;
ddraw->bnetWasFullscreen = FALSE;
}
return 0;
}
}
break;
}
case WM_WINDOWPOSCHANGED:
{
WINDOWPOS *pos = (WINDOWPOS *)lParam;

View file

@ -437,8 +437,7 @@ BOOL WINAPI fake_DestroyWindow(HWND hWnd)
if (ddraw->windowed && ddraw->bnetWasFullscreen)
{
ToggleFullscreen();
ddraw->bnetWasFullscreen = FALSE;
SetTimer(ddraw->hWnd, IDT_TIMER_LEAVE_BNET, 1000, (TIMERPROC)NULL);
}
}
}
@ -456,7 +455,9 @@ HWND WINAPI fake_CreateWindowExA(
{
if (!ddraw->windowed && !ddraw->bnetWasFullscreen)
{
int ws = WindowState;
ToggleFullscreen();
WindowState = ws;
ddraw->bnetWasFullscreen = TRUE;
}