Module: wine Branch: master Commit: 5ee75364489dc0bb3a355926e5d53887cc042871 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ee75364489dc0bb3a355926e5...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Nov 20 13:32:00 2008 +0100
dxgi: Implement IDXGIAdapter::GetParent().
---
dlls/dxgi/adapter.c | 6 ++++-- dlls/dxgi/dxgi_main.c | 1 + dlls/dxgi/dxgi_private.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c index 54e5143..d2c64ad 100644 --- a/dlls/dxgi/adapter.c +++ b/dlls/dxgi/adapter.c @@ -99,9 +99,11 @@ static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetPrivateData(IWineDXGIAdapter *i
static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetParent(IWineDXGIAdapter *iface, REFIID riid, void **parent) { - FIXME("iface %p, riid %s, parent %p stub!\n", iface, debugstr_guid(riid), parent); + struct dxgi_adapter *This = (struct dxgi_adapter *)iface;
- return E_NOTIMPL; + TRACE("iface %p, riid %s, parent %p\n", iface, debugstr_guid(riid), parent); + + return IDXGIFactory_QueryInterface(This->parent, riid, parent); }
/* IDXGIAdapter methods */ diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c index a6dc5e6..370fcdd 100644 --- a/dlls/dxgi/dxgi_main.c +++ b/dlls/dxgi/dxgi_main.c @@ -126,6 +126,7 @@ HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory) adapter->vtbl = &dxgi_adapter_vtbl; adapter->refcount = 1; adapter->ordinal = i; + adapter->parent = (IDXGIFactory *)object; object->adapters[i] = (IDXGIAdapter *)adapter; }
diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h index 25c54cb..95cfe58 100644 --- a/dlls/dxgi/dxgi_private.h +++ b/dlls/dxgi/dxgi_private.h @@ -66,6 +66,7 @@ extern const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl; struct dxgi_adapter { const struct IWineDXGIAdapterVtbl *vtbl; + IDXGIFactory *parent; LONG refcount; UINT ordinal; };