ddraw: Verify that the surface is a render target in d3d_device_create().

oldstable
Henri Verbeet 2013-09-17 09:22:38 +02:00 committed by Alexandre Julliard
parent 3fb53e21fb
commit d2d0c42b6d
1 changed files with 7 additions and 0 deletions

View File

@ -6745,6 +6745,13 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
TRACE("ddraw %p, target %p, version %u, device %p, outer_unknown %p.\n",
ddraw, target, version, device, outer_unknown);
if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_3DDEVICE)
|| (target->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER))
{
WARN("Surface %p is not a render target.\n", target);
return DDERR_INVALIDCAPS;
}
if (ddraw->flags & DDRAW_NO3D)
{
ERR_(winediag)("The application wants to create a Direct3D device, "