From 772c0374eb0b407c878a98bcbbd28bae5038e573 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 12 Nov 2017 16:10:15 +0100 Subject: [PATCH] fix for render crash --- ddraw.dll | Bin 171520 -> 171520 bytes main.c | 9 +-------- surface.c | 7 +++++++ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ddraw.dll b/ddraw.dll index 65f82a4ba280605e0a4f2531b9b91f2840a08527..58774d5125bb6e6831515c6e75c83f0aa8c258e8 100644 GIT binary patch delta 5799 zcmcJS4^&e}zQ^xe(i#;?P=W{n0z?G_%?V2$+~4mvzxmC~Z{|*FJI2*^jB9G(|MvXWjq?JgEDG3qDUr_#-WnT8V~OF>*7tcX zf!`V%L90j)$#Tx&BYBcbe=b=@a-BVry#YMuq-&&+B+&V5>68FcK|99(YRvT*j$PcBUU>s83sHtQ#ktG; zV!Jh&=Qx`L$~M{@q7K?7I+co&7J4ZpiZszXAq(KKU_xwUo2U(hGv6MA)(WlUQxcmCfO4+(2%Mpn3 zS$A1*T>;GLme9#$5B+0kOw47`on)7?2^|%M)}LFwqS4B1#2_!wzl6re_yY6FWzOz0 z+Y*)3AD?KWq=|AxLgOo(y|x0qG_JnD)cfOMs#PIGspsQ9!VPzjQA(G|Ef~o@d6I;~ z%+b!rLTSHztn5v3@UlMpkk{K-IhCWbFd^_ekH4X=lop0r$X;h-*fOkxb8u1>3F#e< zy-Om_7MtXClVc}U!jstBBWxJf{y;Ix1bTR~iB!?=Cg+kx)EMzPCdw5N9l|D9=){Ef z{TVB1�o`L@a>L6givdXlVoIb6o*SK2m^y2}#8xe~ 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 Oi`A!bUwnmCJ@h{xCn3}T diff --git a/main.c b/main.c index 9bf3010..78556d6 100644 --- a/main.c +++ b/main.c @@ -544,13 +544,6 @@ ULONG __stdcall ddraw_Release(IDirectDrawImpl *This) PostMessage(This->hWnd, WM_USER, 0, 0); } - if (This->render.thread) - { - HANDLE thread = This->render.thread; - This->render.thread = NULL; - WaitForSingleObject(thread, INFINITE); - } - if(This->render.hDC) { ReleaseDC(This->hWnd, This->render.hDC); @@ -738,7 +731,7 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk } GetPrivateProfileStringA("ddraw", "screenshotKey", "G", tmp, sizeof(tmp), This->ini_path); - ddraw->screenshotKey = tmp[0]; + ddraw->screenshotKey = toupper(tmp[0]); This->render.maxfps = GetPrivateProfileIntA("ddraw", "max_fps", 120, This->ini_path); This->render.width = GetPrivateProfileIntA("ddraw", "width", 0, This->ini_path); diff --git a/surface.c b/surface.c index 131ccb5..ff06862 100644 --- a/surface.c +++ b/surface.c @@ -44,6 +44,13 @@ ULONG __stdcall ddraw_surface_Release(IDirectDrawSurfaceImpl *This) if(This->Ref == 0) { + if (ddraw->render.thread) + { + HANDLE thread = ddraw->render.thread; + ddraw->render.thread = NULL; + WaitForSingleObject(thread, INFINITE); + } + if(This->caps == DDSCAPS_PRIMARYSURFACE) { EnterCriticalSection(&ddraw->cs);