[ros-dev] Re: [ros-diffs] [greatlrd] 17219: Add a check to see if
surface can
be create, it return it can be create, but still createsurface return invaild
param
Royce Mitchell III
royce3 at ev1.net
Mon Aug 8 23:54:53 CEST 2005
greatlrd at svn.reactos.com wrote:
>Add a check to see if surface can be create, it return it can be create, but still createsurface return invaild param
>
>Modified: trunk/reactos/lib/ddraw/main/surface.c
>
>
> ------------------------------------------------------------------------
> *Modified: trunk/reactos/lib/ddraw/main/surface.c*
>
>--- trunk/reactos/lib/ddraw/main/surface.c 2005-08-08 18:59:56 UTC (rev 17218)
>+++ trunk/reactos/lib/ddraw/main/surface.c 2005-08-08 21:29:25 UTC (rev 17219)
>@@ -63,12 +63,26 @@
>
> CreateData.dwSCnt = 1;
> CreateData.lplpSList = &pLocal;
>
>
>
>- if(This->owner->DriverCallbacks.DdMain.CreateSurface (&CreateData) != DDHAL_DRIVER_HANDLED)
>- return DDERR_INVALIDPARAMS;
>
>
>+ DDHAL_CANCREATESURFACEDATA CanCreateData;
>+ memset(&CanCreateData, 0, sizeof(DD_CANCREATESURFACEDATA));
>+ CanCreateData.lpDD = &This->owner->DirectDrawGlobal;
>+ CanCreateData.lpDDSurfaceDesc = (DDSURFACEDESC*)pDDSD;
>
>
>
>
>
>+
>+ if (This->owner->DriverCallbacks.DdMain.CanCreateSurface (&CanCreateData) == DDHAL_DRIVER_NOTHANDLED)
>+ return DDERR_INVALIDPARAMS;
>+
>
>
> if(CreateData.ddRVal != DD_OK)
>
>
shouldn't this be "if(CanCreateData.ddRVal != DD_OK)" ???
>+ return CanCreateData.ddRVal;
>+
>+
>+ if(This->owner->DriverCallbacks.DdMain.CreateSurface (&CreateData) == DDHAL_DRIVER_NOTHANDLED)
>+ return DDERR_INVALIDPARAMS;
>+
>+ if(CreateData.ddRVal != DD_OK)
>
>
> return CreateData.ddRVal;
>
>
>
>+
>
>
> OutputDebugString(L"This does not get hit.");
>
> return DD_OK;
>
>
More information about the Ros-dev
mailing list