[PATCH 3/5] hlink: Return requested interface when creating IHlink instance.

Nikolay Sivov nsivov at codeweavers.com
Mon Apr 11 03:40:31 CDT 2022


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/hlink/link.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/hlink/link.c b/dlls/hlink/link.c
index 305f7136a44..8c7b06f6f2a 100644
--- a/dlls/hlink/link.c
+++ b/dlls/hlink/link.c
@@ -1130,6 +1130,7 @@ static const IBindStatusCallbackVtbl bind_callback_vtbl =
 HRESULT HLink_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv)
 {
     HlinkImpl * hl;
+    HRESULT hr;
 
     TRACE("unkOut=%p riid=%s\n", pUnkOuter, debugstr_guid(riid));
     *ppv = NULL;
@@ -1146,6 +1147,8 @@ HRESULT HLink_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv)
     hl->IDataObject_iface.lpVtbl = &dovt;
     hl->IBindStatusCallback_iface.lpVtbl = &bind_callback_vtbl;
 
-    *ppv = hl;
-    return S_OK;
+    hr = IHlink_QueryInterface(&hl->IHlink_iface, riid, ppv);
+    IHlink_Release(&hl->IHlink_iface);
+
+    return hr;
 }
-- 
2.35.1




More information about the wine-devel mailing list