[PATCH 1/2] d3drm: Fix QueryInterface for IDirect3DRMTexture* (v2).
Aaryaman Vasishta
jem456.vasishta at gmail.com
Tue Jan 19 08:29:13 CST 2016
Signed-off-by: Aaryaman Vasishta <jem456.vasishta at gmail.com>
---
dlls/d3drm/texture.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/d3drm/texture.c b/dlls/d3drm/texture.c
index 46d968a..cdb9358 100644
--- a/dlls/d3drm/texture.c
+++ b/dlls/d3drm/texture.c
@@ -679,21 +679,26 @@ static HRESULT WINAPI d3drm_texture3_QueryInterface(IDirect3DRMTexture3 *iface,
TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
- if (IsEqualGUID(riid, &IID_IDirect3DRMTexture2)
- || IsEqualGUID(riid, &IID_IDirect3DRMTexture)
+ if (IsEqualGUID(riid, &IID_IDirect3DRMTexture3)
+ || IsEqualGUID(riid, &IID_IDirect3DRMVisual)
+ || IsEqualGUID(riid, &IID_IDirect3DRMObject)
|| IsEqualGUID(riid, &IID_IUnknown))
{
+ *out = &texture->IDirect3DRMTexture3_iface;
+ }
+ else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture2))
+ {
*out = &texture->IDirect3DRMTexture2_iface;
}
- else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture3))
+ else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture))
{
- *out = &texture->IDirect3DRMTexture3_iface;
+ *out = &texture->IDirect3DRMTexture_iface;
}
else
{
*out = NULL;
WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
- return E_NOINTERFACE;
+ return CLASS_E_CLASSNOTAVAILABLE;
}
IUnknown_AddRef((IUnknown *)*out);
--
2.3.2 (Apple Git-55)
More information about the wine-patches
mailing list