diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c index f64604b8360..f3fcd4e1526 100644 --- a/dlls/d3d8/texture.c +++ b/dlls/d3d8/texture.c @@ -298,7 +298,6 @@ static HRESULT WINAPI d3d8_texture_2d_LockRect(IDirect3DTexture8 *iface, UINT le D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) { struct d3d8_texture *texture = impl_from_IDirect3DTexture8(iface); - struct wined3d_resource *sub_resource; struct d3d8_surface *surface_impl; HRESULT hr; @@ -306,13 +305,10 @@ static HRESULT WINAPI d3d8_texture_2d_LockRect(IDirect3DTexture8 *iface, UINT le iface, level, locked_rect, rect, flags); wined3d_mutex_lock(); - if (!(sub_resource = wined3d_texture_get_sub_resource(texture->wined3d_texture, level))) + if (!(surface_impl = wined3d_texture_get_sub_resource_parent(texture->wined3d_texture, level))) hr = D3DERR_INVALIDCALL; else - { - surface_impl = wined3d_resource_get_parent(sub_resource); hr = IDirect3DSurface8_LockRect(&surface_impl->IDirect3DSurface8_iface, locked_rect, rect, flags); - } wined3d_mutex_unlock(); return hr;