Henri Verbeet : wined3d: Disallow empty surfaces.
Alexandre Julliard
julliard at winehq.org
Thu Nov 18 11:09:30 CST 2010
Module: wine
Branch: master
Commit: 4f651808fcae9c378af58585a28d265578b27899
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4f651808fcae9c378af58585a28d265578b27899
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Thu Nov 18 12:21:39 2010 +0100
wined3d: Disallow empty surfaces.
---
dlls/d3d9/tests/visual.c | 7 ++-----
dlls/wined3d/surface.c | 1 +
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 9e5b9a0..f2eb4b4 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -10613,11 +10613,8 @@ static void depth_bounds_test(IDirect3DDevice9 *device)
hr = IDirect3DDevice9_CreateOffscreenPlainSurface(device, 32, 32,
MAKEFOURCC('N','V','D','B'), D3DPOOL_DEFAULT, &offscreen_surface, NULL);
- todo_wine ok(hr != D3D_OK, "Able to create surface, hr = %08x\n", hr);
- if(offscreen_surface)
- {
- IDirect3DSurface9_Release(offscreen_surface);
- }
+ ok(FAILED(hr), "Able to create surface, hr %#x.\n", hr);
+ if (offscreen_surface) IDirect3DSurface9_Release(offscreen_surface);
hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0, 0);
ok(SUCCEEDED(hr), "Clear failed, hr %#x.\n", hr);
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 432eb9b..e60a684 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -353,6 +353,7 @@ HRESULT surface_init(IWineD3DSurfaceImpl *surface, WINED3DSURFTYPE surface_type,
/* FIXME: Check that the format is supported by the device. */
resource_size = wined3d_format_calculate_size(format, alignment, width, height);
+ if (!resource_size) return WINED3DERR_INVALIDCALL;
/* Look at the implementation and set the correct Vtable. */
switch (surface_type)
More information about the wine-cvs
mailing list