=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: wined3d: Check volume formats and sizes in device_update_volume.

Alexandre Julliard julliard at winehq.org
Mon Aug 26 13:21:58 CDT 2013


Module: wine
Branch: master
Commit: 1bd6710b6ff077ed3647850ec3149134dccad642
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1bd6710b6ff077ed3647850ec3149134dccad642

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Aug 26 02:01:31 2013 +0200

wined3d: Check volume formats and sizes in device_update_volume.

---

 dlls/wined3d/device.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 79a957b..18dcae4 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4096,6 +4096,19 @@ static HRESULT device_update_volume(struct wined3d_device *device,
     TRACE("device %p, src_volume %p, dst_volume %p.\n",
             device, src_volume, dst_volume);
 
+    if (src_volume->resource.format != dst_volume->resource.format)
+    {
+        FIXME("Source and destination formats do not match.\n");
+        return WINED3DERR_INVALIDCALL;
+    }
+    if (src_volume->resource.width != dst_volume->resource.width
+            || src_volume->resource.height != dst_volume->resource.height
+            || src_volume->resource.depth != dst_volume->resource.depth)
+    {
+        FIXME("Source and destination sizes do not match.\n");
+        return WINED3DERR_INVALIDCALL;
+    }
+
     if (FAILED(hr = wined3d_volume_map(src_volume, &src, NULL, WINED3D_MAP_READONLY)))
         return hr;
 




More information about the wine-cvs mailing list