2009/3/29 David Adam david.adam.cnrs@gmail.com:
hrc = IWineD3DDeviceParent_CreateDepthStencilSurface(This->device_parent,NULL,pPresentationParameters->BackBufferWidth,pPresentationParameters->BackBufferHeight,pPresentationParameters->AutoDepthStencilFormat,pPresentationParameters->MultiSampleType,pPresentationParameters->MultiSampleQuality,FALSE,&This->auto_depth_stencil_buffer);
Even though I don't think any implementation of IWineD3DDeviceParent_CreateDepthStencilSurface actually uses the second parameter, you should pass "This->parent" rather than NULL there.
if (SUCCEEDED(hrc))IWineD3DDevice_SetDepthStencilSurface(iface, This->auto_depth_stencil_buffer);
This is redundant, the code a couple of lines down will also set the depth stencil.
else {ERR("Failed to create the auto depth stencil\n");ยทreturn WINED3DERR_INVALIDCALL;}
You're leaking the swapchain here. Also, not trying to be picky, but could you please fix the indentation?