fixes for cursor lock

This commit is contained in:
FunkyFr3sh 2021-06-17 04:12:05 +02:00
parent a04e8f4e1f
commit 6cfeadaced
7 changed files with 56 additions and 24 deletions

View file

@ -819,13 +819,15 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
SetPixelFormat(g_ddraw->render.hdc, ChoosePixelFormat(g_ddraw->render.hdc, &pfd), &pfd);
}
int cursor_count = real_ShowCursor(TRUE) - 1;
InterlockedExchange(&g_ddraw->show_cursor_count, cursor_count);
real_ShowCursor(FALSE);
/* Make sure the cursor is visible in windowed mode initially */
if (g_ddraw->windowed)
if (g_ddraw->windowed && !g_ddraw->fullscreen)
{
CURSORINFO ci = { .cbSize = sizeof(CURSORINFO) };
if (real_GetCursorInfo(&ci) && ci.flags == 0)
if (cursor_count < 0)
{
g_ddraw->hidecursor = TRUE;
while (real_ShowCursor(TRUE) < 0);
}