wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index b5a6775..a8867ae 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1866,6 +1866,7 @@
IWineD3DResourceClass resource;
/* WineD3DVolume Information */
+ const struct wined3d_parent_ops *parent_ops;
WINED3DVOLUMET_DESC currentDesc;
IWineD3DBase *container;
BOOL lockable;
@@ -1876,8 +1877,9 @@
} IWineD3DVolumeImpl;
void volume_add_dirty_box(IWineD3DVolume *iface, const WINED3DBOX *dirty_box) DECLSPEC_HIDDEN;
-HRESULT volume_init(IWineD3DVolumeImpl *volume, IWineD3DDeviceImpl *device, UINT width, UINT height,
- UINT depth, DWORD usage, WINED3DFORMAT format, WINED3DPOOL pool, IUnknown *parent) DECLSPEC_HIDDEN;
+HRESULT volume_init(IWineD3DVolumeImpl *volume, IWineD3DDeviceImpl *device, UINT width,
+ UINT height, UINT depth, DWORD usage, WINED3DFORMAT format, WINED3DPOOL pool,
+ IUnknown *parent, const struct wined3d_parent_ops *parent_ops) DECLSPEC_HIDDEN;
/*****************************************************************************
* IWineD3DVolumeTexture implementation structure (extends IWineD3DBaseTextureImpl)