1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +01:00

ignore WM_PAINT and WM_ERASEBKGND if there's no primary surface

This commit is contained in:
FunkyFr3sh 2024-06-03 03:15:16 +02:00
parent d4a268ead1
commit d0dbb16b9b

View File

@ -968,12 +968,16 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN); RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
} }
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL); if (g_ddraw.primary)
{
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
}
break; break;
} }
case WM_ERASEBKGND: case WM_ERASEBKGND:
{ {
if (g_ddraw.render.viewport.x != 0 || g_ddraw.render.viewport.y != 0) if (g_ddraw.primary && (g_ddraw.render.viewport.x != 0 || g_ddraw.render.viewport.y != 0))
{ {
InterlockedExchange(&g_ddraw.render.clear_screen, TRUE); InterlockedExchange(&g_ddraw.render.clear_screen, TRUE);
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL); ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);