diff --git a/src/dd.c b/src/dd.c index 7394178..be30f8b 100644 --- a/src/dd.c +++ b/src/dd.c @@ -759,15 +759,11 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl if (g_ddraw->render.viewport.x != 0 || g_ddraw->render.viewport.y != 0) { RedrawWindow(g_ddraw->hwnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE); + InterlockedExchange(&g_ddraw->render.clear_screen, TRUE); } if (g_ddraw->render.thread == NULL) { - if (g_ddraw->maintas || g_ddraw->boxing) - { - InterlockedExchange(&g_ddraw->render.clear_screen, TRUE); - } - InterlockedExchange(&g_ddraw->render.palette_updated, TRUE); InterlockedExchange(&g_ddraw->render.surface_updated, TRUE); ReleaseSemaphore(g_ddraw->render.sem, 1, NULL); diff --git a/src/wndproc.c b/src/wndproc.c index f76e913..d63d9e2 100644 --- a/src/wndproc.c +++ b/src/wndproc.c @@ -747,7 +747,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam } case WM_ERASEBKGND: { - if (g_ddraw->maintas || g_ddraw->boxing) + if (g_ddraw->render.viewport.x != 0 || g_ddraw->render.viewport.y != 0) { InterlockedExchange(&g_ddraw->render.clear_screen, TRUE); }