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

fix gdi flip bug

This commit is contained in:
FunkyFr3sh 2018-10-31 15:49:18 +01:00
parent 63026df1f5
commit b4e196ca79

View File

@ -355,14 +355,16 @@ HRESULT __stdcall ddraw_surface_Flip(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWS
if(This->caps & DDSCAPS_PRIMARYSURFACE && ddraw->render.run) if(This->caps & DDSCAPS_PRIMARYSURFACE && ddraw->render.run)
{ {
InterlockedExchange(&ddraw->render.surfaceUpdated, TRUE); InterlockedExchange(&ddraw->render.surfaceUpdated, TRUE);
ReleaseSemaphore(ddraw->render.sem, 1, NULL);
if (ddraw->renderer == render_soft_main) if (ddraw->renderer == render_soft_main)
{ {
ResetEvent(ddraw->render.ev); ResetEvent(ddraw->render.ev);
ReleaseSemaphore(ddraw->render.sem, 1, NULL);
WaitForSingleObject(ddraw->render.ev, INFINITE); WaitForSingleObject(ddraw->render.ev, INFINITE);
} }
else else
{ {
ReleaseSemaphore(ddraw->render.sem, 1, NULL);
SwitchToThread(); SwitchToThread();
} }