From 5eaec6881ef5bf79a9f5f48145faaca20542d1b5 Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Sat, 15 Aug 2020 12:40:37 +0000 Subject: [PATCH] Added a nullpointer check to a DDraw call, gets rid of one FIXME. (by Asdow) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8884 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Standard Gaming Platform/DirectDraw Calls.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Standard Gaming Platform/DirectDraw Calls.cpp b/Standard Gaming Platform/DirectDraw Calls.cpp index 660bef82..dc5aa11c 100644 --- a/Standard Gaming Platform/DirectDraw Calls.cpp +++ b/Standard Gaming Platform/DirectDraw Calls.cpp @@ -487,7 +487,7 @@ HRESULT BltDDSurfaceUsingSoftware( LPDIRECTDRAWSURFACE2 pDestSurface, LPRECT pDe return( DD_OK ); } - else if ( uiFlags == DDBLT_WAIT ) + else if ( (pSrcRect != nullptr) && (uiFlags == DDBLT_WAIT) ) { // Lock surfaces DDLockSurface( (LPDIRECTDRAWSURFACE2)pSrcSurface, NULL, &SurfaceDescription, 0, NULL); @@ -501,12 +501,12 @@ HRESULT BltDDSurfaceUsingSoftware( LPDIRECTDRAWSURFACE2 pDestSurface, LPRECT pDe ( pSrcRect->right - pSrcRect->left ), ( pSrcRect->bottom - pSrcRect->top ) ); } - else if ( uiFlags & DDBLT_KEYSRC ) + else if ((pSrcSurface != nullptr) && (pSrcRect != nullptr) && (uiFlags & DDBLT_KEYSRC )) { // Get 16 bpp color key..... - ReturnCode = IDirectDrawSurface2_GetColorKey( pSrcSurface, DDCKEY_SRCBLT, &ColorKey); // FIXME: pSrcSurface might be NULL + ReturnCode = IDirectDrawSurface2_GetColorKey( pSrcSurface, DDCKEY_SRCBLT, &ColorKey); - if (ReturnCode == DD_OK) + if (ReturnCode == DD_OK) { us16BPPColorKey = (UINT16)ColorKey.dwColorSpaceLowValue;