Module: wine Branch: master Commit: 1bd6710b6ff077ed3647850ec3149134dccad642 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1bd6710b6ff077ed3647850ec3...
Author: Stefan Dösinger stefan@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;