[PATCH 1/5] d3d8: Properly retrieve an interface pointer in d3d8_texture_2d_GetSurfaceLevel().

Henri Verbeet hverbeet at codeweavers.com
Tue Apr 17 13:49:11 CDT 2012


---
 dlls/d3d8/texture.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c
index d4c1d06..5b4278a 100644
--- a/dlls/d3d8/texture.c
+++ b/dlls/d3d8/texture.c
@@ -276,6 +276,7 @@ static HRESULT WINAPI d3d8_texture_2d_GetSurfaceLevel(IDirect3DTexture8 *iface,
 {
     struct d3d8_texture *texture = impl_from_IDirect3DTexture8(iface);
     struct wined3d_resource *sub_resource;
+    IDirect3DSurface8Impl *surface_impl;
 
     TRACE("iface %p, level %u, surface %p.\n", iface, level, surface);
 
@@ -286,7 +287,8 @@ static HRESULT WINAPI d3d8_texture_2d_GetSurfaceLevel(IDirect3DTexture8 *iface,
         return D3DERR_INVALIDCALL;
     }
 
-    *surface = wined3d_resource_get_parent(sub_resource);
+    surface_impl = wined3d_resource_get_parent(sub_resource);
+    *surface = &surface_impl->IDirect3DSurface8_iface;
     IDirect3DSurface8_AddRef(*surface);
     wined3d_mutex_unlock();
 
-- 
1.7.3.4




More information about the wine-patches mailing list