mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 04:46:52 +00:00
mlang: Return the correct interface in GetGlobalFontLinkObject.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56600
This commit is contained in:
parent
6df749e2b8
commit
279d8bf724
|
@ -5354,7 +5354,6 @@ GpStatus WINGDIPAPI GdipIsVisibleRectI(GpGraphics *graphics, INT x, INT y, INT w
|
|||
/* Populates gdip_font_link_info struct based on the base_font and input string */
|
||||
static void generate_font_link_info(struct gdip_format_string_info *info, DWORD length, GDIPCONST GpFont *base_font)
|
||||
{
|
||||
IUnknown *unk;
|
||||
IMLangFontLink *iMLFL;
|
||||
GpFont *gpfont;
|
||||
HFONT map_hfont, hfont, old_font;
|
||||
|
@ -5365,9 +5364,7 @@ static void generate_font_link_info(struct gdip_format_string_info *info, DWORD
|
|||
list_init(&info->font_link_info.sections);
|
||||
info->font_link_info.base_font = base_font;
|
||||
|
||||
GetGlobalFontLinkObject((void**)&unk);
|
||||
IUnknown_QueryInterface(unk, &IID_IMLangFontLink, (void**)&iMLFL);
|
||||
IUnknown_Release(unk);
|
||||
GetGlobalFontLinkObject(&iMLFL);
|
||||
|
||||
get_font_hfont(info->graphics, base_font, NULL, &hfont, NULL, NULL);
|
||||
IMLangFontLink_GetFontCodePages(iMLFL, info->hdc, hfont, &font_codepages);
|
||||
|
|
|
@ -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(IMLangFontLink **obj)
|
||||
{
|
||||
TRACE("%p\n", unknown);
|
||||
TRACE("%p\n", obj);
|
||||
|
||||
if (!unknown) return E_INVALIDARG;
|
||||
if (!obj) 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, (void**)obj);
|
||||
}
|
||||
|
|
|
@ -2314,7 +2314,7 @@ static void test_GetGlobalFontLinkObject(void)
|
|||
ok(ret == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", ret);
|
||||
|
||||
unknown = (void *)0xdeadbeef;
|
||||
ret = GetGlobalFontLinkObject(&unknown);
|
||||
ret = GetGlobalFontLinkObject((IMLangFontLink**)&unknown);
|
||||
ok(ret == S_OK, "expected S_OK got %#lx\n", ret);
|
||||
ok(unknown != NULL && unknown != (void *)0xdeadbeef,
|
||||
"GetGlobalFontLinkObject() returned %p\n", unknown);
|
||||
|
@ -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);
|
||||
|
|
|
@ -762,7 +762,7 @@ cpp_quote("STDAPI Rfc1766ToLcidA(LCID *, LPCSTR);")
|
|||
cpp_quote("STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR);")
|
||||
cpp_quote("#define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid)")
|
||||
|
||||
cpp_quote("STDAPI GetGlobalFontLinkObject(void **unknown);")
|
||||
cpp_quote("STDAPI GetGlobalFontLinkObject(IMLangFontLink **unknown);")
|
||||
cpp_quote("STDAPI IsConvertINetStringAvailable(DWORD, DWORD);")
|
||||
cpp_quote("STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT);")
|
||||
cpp_quote("STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT);")
|
||||
|
|
Loading…
Reference in a new issue