Commit 4ff220f9 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

ddraw: Reject setting a 0 material handle in d3d_viewport_SetBackground().

parent 91a615ee
......@@ -524,39 +524,18 @@ static HRESULT WINAPI d3d_viewport_LightElements(IDirect3DViewport3 *iface,
return DDERR_UNSUPPORTED;
}
/*****************************************************************************
* IDirect3DViewport3::SetBackground
*
* Sets the background material
*
* Params:
* hMat: Handle from a IDirect3DMaterial interface
*
* Returns:
* D3D_OK on success
*
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_SetBackground(IDirect3DViewport3 *iface, D3DMATERIALHANDLE hMat)
static HRESULT WINAPI d3d_viewport_SetBackground(IDirect3DViewport3 *iface, D3DMATERIALHANDLE material)
{
struct d3d_viewport *viewport = impl_from_IDirect3DViewport3(iface);
struct d3d_material *m;
TRACE("iface %p, material %#x.\n", iface, hMat);
TRACE("iface %p, material %#x.\n", iface, material);
wined3d_mutex_lock();
if (!hMat)
{
viewport->background = NULL;
TRACE("Setting background to NULL\n");
wined3d_mutex_unlock();
return D3D_OK;
}
m = ddraw_get_object(&viewport->ddraw->d3ddevice->handle_table, hMat - 1, DDRAW_HANDLE_MATERIAL);
if (!m)
if (!(m = ddraw_get_object(&viewport->ddraw->d3ddevice->handle_table, material - 1, DDRAW_HANDLE_MATERIAL)))
{
WARN("Invalid material handle.\n");
WARN("Invalid material handle %#x.\n", material);
wined3d_mutex_unlock();
return DDERR_INVALIDPARAMS;
}
......
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