[5/5] ole32: Fix QI for IErrorInfo to return IUnknown pointer
Nikolay Sivov
nsivov at codeweavers.com
Tue Jul 17 02:29:35 CDT 2012
Fix QI for IErrorInfo to return IUnknown pointer
-------------- next part --------------
>From eb9fe089d47447653079a52c1e9fcff542fd3a13 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue, 17 Jul 2012 11:22:59 +0400
Subject: [PATCH 6/6] Fix QI for IErrorInfo to return IUnknown pointer
---
dlls/ole32/errorinfo.c | 2 +-
dlls/ole32/tests/errorinfo.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/ole32/errorinfo.c b/dlls/ole32/errorinfo.c
index 6a499fc..055d6a5 100644
--- a/dlls/ole32/errorinfo.c
+++ b/dlls/ole32/errorinfo.c
@@ -160,7 +160,7 @@ static HRESULT WINAPI IErrorInfoImpl_QueryInterface(
*ppvoid = NULL;
- if(IsEqualIID(riid, &IID_IErrorInfo))
+ if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IErrorInfo))
{
*ppvoid = &This->IErrorInfo_iface;
}
diff --git a/dlls/ole32/tests/errorinfo.c b/dlls/ole32/tests/errorinfo.c
index f55d480..bb350ae 100644
--- a/dlls/ole32/tests/errorinfo.c
+++ b/dlls/ole32/tests/errorinfo.c
@@ -47,10 +47,15 @@ static void test_error_info(void)
static WCHAR wszDescription[] = {'F','a','i','l','e','d',' ','S','p','r','o','c','k','e','t',0};
static WCHAR wszHelpFile[] = {'s','p','r','o','c','k','e','t','.','h','l','p',0};
static WCHAR wszSource[] = {'s','p','r','o','c','k','e','t',0};
+ IUnknown *unk;
hr = CreateErrorInfo(&pCreateErrorInfo);
ok_ole_success(hr, "CreateErrorInfo");
+ hr = ICreateErrorInfo_QueryInterface(pCreateErrorInfo, &IID_IUnknown, (void**)&unk);
+ ok_ole_success(hr, "QI");
+ IUnknown_Release(unk);
+
hr = ICreateErrorInfo_SetDescription(pCreateErrorInfo, NULL);
ok_ole_success(hr, "ICreateErrorInfo_SetDescription");
@@ -78,6 +83,10 @@ static void test_error_info(void)
hr = ICreateErrorInfo_QueryInterface(pCreateErrorInfo, &IID_IErrorInfo, (void **)&pErrorInfo);
ok_ole_success(hr, "ICreateErrorInfo_QueryInterface");
+ hr = IErrorInfo_QueryInterface(pErrorInfo, &IID_IUnknown, (void**)&unk);
+ ok_ole_success(hr, "QI");
+ IUnknown_Release(unk);
+
ICreateErrorInfo_Release(pCreateErrorInfo);
hr = SetErrorInfo(0, pErrorInfo);
--
1.5.6.5
More information about the wine-patches
mailing list