Module: wine Branch: master Commit: ed92369316da5260117927697cf0d14df5fa7a9b URL: http://source.winehq.org/git/wine.git/?a=commit;h=ed92369316da5260117927697c...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Sep 19 10:16:45 2013 +0200
ddraw: Verify that the surface is a render target in d3d_device_set_render_target().
---
dlls/ddraw/device.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 3f3cb18..9ec9d1d 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -1819,6 +1819,13 @@ static HRESULT d3d_device_set_render_target(struct d3d_device *device, return DDERR_INVALIDCAPS; }
+ if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_3DDEVICE)) + { + WARN("Surface %p is not a render target.\n", target); + wined3d_mutex_unlock(); + return DDERR_INVALIDCAPS; + } + if (device->rt_iface == rt_iface) { TRACE("No-op SetRenderTarget operation, not doing anything\n");