Commit 1b94a5ee authored by Stefan Dösinger's avatar Stefan Dösinger Committed by Alexandre Julliard

ddraw: Fix stupid bug when setting surface client memory.

parent df891b82
...@@ -2001,12 +2001,6 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface, ...@@ -2001,12 +2001,6 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface,
if(!DDSD) if(!DDSD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
if (DDSD->dwFlags & DDSD_LPSURFACE && DDSD->lpSurface)
{
ERR("Setting the surface memory isn't supported yet\n");
return DDERR_INVALIDPARAMS;
}
if (DDSD->dwFlags & DDSD_PIXELFORMAT) if (DDSD->dwFlags & DDSD_PIXELFORMAT)
{ {
newFormat = PixelFormat_DD2WineD3D(&DDSD->u4.ddpfPixelFormat); newFormat = PixelFormat_DD2WineD3D(&DDSD->u4.ddpfPixelFormat);
...@@ -2047,14 +2041,19 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface, ...@@ -2047,14 +2041,19 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface,
DDCKEY_SRCBLT, DDCKEY_SRCBLT,
(WINEDDCOLORKEY *) &DDSD->ddckCKSrcBlt); (WINEDDCOLORKEY *) &DDSD->ddckCKSrcBlt);
} }
if (DDSD->dwFlags & DDSD_LPSURFACE) if (DDSD->dwFlags & DDSD_LPSURFACE && DDSD->lpSurface)
{ {
hr = IWineD3DSurface_SetMem(This->WineD3DSurface, DDSD->lpSurface); hr = IWineD3DSurface_SetMem(This->WineD3DSurface, DDSD->lpSurface);
if(hr != WINED3D_OK) if(hr != WINED3D_OK)
{ {
/* No need for a trace here, wined3d does that for us */ /* No need for a trace here, wined3d does that for us */
return hr; switch(hr)
{
case WINED3DERR_INVALIDCALL: return DDERR_INVALIDPARAMS;
default: break; /* Go on */
}
} }
} }
This->surface_desc = *DDSD; This->surface_desc = *DDSD;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment