From 08583924842c92ac1d04405147cc1d3499ffd4e0 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Fri, 24 May 2024 04:55:55 +0200 Subject: [PATCH] simplify GetAttachedSurface --- src/ddsurface.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/src/ddsurface.c b/src/ddsurface.c index bfc2cc3..5471417 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -810,29 +810,13 @@ HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfa HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS lpDdsCaps, IDirectDrawSurfaceImpl** lpDDsurface) { - if (lpDdsCaps->dwCaps & DDSCAPS_BACKBUFFER) - { - if (This->backbuffer) - { - IDirectDrawSurface_AddRef(This->backbuffer); - *lpDDsurface = This->backbuffer; - } - else - { - IDirectDrawSurface_AddRef(This); - *lpDDsurface = This; - } + if (!lpDdsCaps || !lpDDsurface) + return DDERR_INVALIDPARAMS; - return DD_OK; - } - - if (lpDdsCaps->dwCaps & DDSCAPS_FLIP) + if (This->backbuffer && (This->backbuffer->caps & lpDdsCaps->dwCaps) == lpDdsCaps->dwCaps) { - if (This->backbuffer) - { - IDirectDrawSurface_AddRef(This->backbuffer); - *lpDDsurface = This->backbuffer; - } + IDirectDrawSurface_AddRef(This->backbuffer); + *lpDDsurface = This->backbuffer; return DD_OK; }