static HRESULT WINAPI IWineD3DTextureImpl_Unmap(IWineD3DTexture *iface, UINT sub_resource_idx) { IWineD3DBaseTextureImpl *texture = (IWineD3DBaseTextureImpl *)iface; IWineD3DSurface *surface; TRACE("iface %p, sub_resource_idx %u.\n", iface, sub_resource_idx); if (!(surface = (IWineD3DSurface *)basetexture_get_sub_resource(texture, sub_resource_idx))) { WARN("Failed to get sub-resource.\n"); return WINED3DERR_INVALIDCALL; } return IWineD3DSurface_Unmap(surface); }
static HRESULT WINAPI IDirect3DSurface9Impl_UnlockRect(LPDIRECT3DSURFACE9 iface) { IDirect3DSurface9Impl *This = (IDirect3DSurface9Impl *)iface; HRESULT hr; TRACE("iface %p.\n", iface); wined3d_mutex_lock(); hr = IWineD3DSurface_Unmap(This->wineD3DSurface); wined3d_mutex_unlock(); switch(hr) { case WINEDDERR_NOTLOCKED: return D3DERR_INVALIDCALL; default: return hr; } }