From: Fabian Maurer dark.shadow4@web.de
--- dlls/mlang/tests/mlang.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c index 6bb973dc285..988e48ee178 100644 --- a/dlls/mlang/tests/mlang.c +++ b/dlls/mlang/tests/mlang.c @@ -2308,6 +2308,7 @@ static void test_GetGlobalFontLinkObject(void) IMLangFontLink *IMLFL; IMLangCodePages *IMLCP; IMultiLanguage *IML; + IMultiLanguage2 *IML2;
ret = GetGlobalFontLinkObject(NULL); ok(ret == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", ret); @@ -2327,6 +2328,10 @@ static void test_GetGlobalFontLinkObject(void) todo_wine ok(ret == E_NOINTERFACE, "expected E_NOINTERFACE got %#lx\n", ret); if (ret == S_OK) IMultiLanguage_Release(IML);
+ ret = IUnknown_QueryInterface((IUnknown*)unknown, &IID_IMultiLanguage2, (void**)&IML2); + todo_wine ok(ret == E_NOINTERFACE, "expected E_NOINTERFACE got %#lx\n", ret); + if (ret == S_OK) IMultiLanguage2_Release(IML2); + ret = IUnknown_QueryInterface((IUnknown*)unknown, &IID_IMLangFontLink, (void**)&IMLFL); ok(ret == S_OK, "expected S_OK got %#lx\n", ret); IMLangFontLink_Release(IMLFL);
From: Fabian Maurer dark.shadow4@web.de
--- dlls/mlang/tests/mlang.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c index 988e48ee178..7d94003bc78 100644 --- a/dlls/mlang/tests/mlang.c +++ b/dlls/mlang/tests/mlang.c @@ -2340,6 +2340,10 @@ static void test_GetGlobalFontLinkObject(void) ok(ret == S_OK, "expected S_OK got %#lx\n", ret); IMLangCodePages_Release(IMLCP);
+ todo_wine + ok(unknown == IMLFL, "IUnknown from GetGlobalFontLinkObject isn't IMLangFontLink\n"); + todo_wine + ok(unknown == IMLCP, "IUnknown from GetGlobalFontLinkObject isn't IMLangCodePages\n");
refcount = IUnknown_Release((IUnknown*)unknown); ok(refcount == 1, "Got refcount %ld\n", refcount);
From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56600 --- dlls/mlang/mlang.c | 11 ++++------- dlls/mlang/tests/mlang.c | 2 -- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c index c7e7f360f0b..2b85ccc5800 100644 --- a/dlls/mlang/mlang.c +++ b/dlls/mlang/mlang.c @@ -3887,11 +3887,11 @@ static BOOL WINAPI allocate_font_link_cb(PINIT_ONCE init_once, PVOID args, PVOID return SUCCEEDED(MultiLanguage_create(NULL, (void**)&font_link_global)); }
-HRESULT WINAPI GetGlobalFontLinkObject(void **unknown) +HRESULT WINAPI GetGlobalFontLinkObject(void **iface) { - TRACE("%p\n", unknown); + TRACE("%p\n", iface);
- if (!unknown) return E_INVALIDARG; + if (!iface) return E_INVALIDARG;
if (!InitOnceExecuteOnce(&font_link_global_init_once, allocate_font_link_cb, NULL, NULL)) { @@ -3899,8 +3899,5 @@ HRESULT WINAPI GetGlobalFontLinkObject(void **unknown) return E_FAIL; }
- IUnknown_AddRef(font_link_global); - *unknown = font_link_global; - - return S_OK; + return IUnknown_QueryInterface(font_link_global, &IID_IMLangFontLink, iface); } diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c index 7d94003bc78..dd33f9f68c8 100644 --- a/dlls/mlang/tests/mlang.c +++ b/dlls/mlang/tests/mlang.c @@ -2340,9 +2340,7 @@ static void test_GetGlobalFontLinkObject(void) ok(ret == S_OK, "expected S_OK got %#lx\n", ret); IMLangCodePages_Release(IMLCP);
- todo_wine ok(unknown == IMLFL, "IUnknown from GetGlobalFontLinkObject isn't IMLangFontLink\n"); - todo_wine ok(unknown == IMLCP, "IUnknown from GetGlobalFontLinkObject isn't IMLangCodePages\n");
refcount = IUnknown_Release((IUnknown*)unknown);
It might as well use "IMLangFontLink **" argument type to begin with. Naming it "iface" would be unusual, I think it's usually used for method implementation functions.