Henri Verbeet : ddraw: Verify that the surface is a render target in d3d_device_set_render_target ().
Alexandre Julliard
julliard at winehq.org
Thu Sep 19 17:21:01 CDT 2013
Module: wine
Branch: master
Commit: ed92369316da5260117927697cf0d14df5fa7a9b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ed92369316da5260117927697cf0d14df5fa7a9b
Author: Henri Verbeet <hverbeet at 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");
More information about the wine-cvs
mailing list