Nikolay Sivov : dwrite: Add a helper to return font list item.
Module: wine Branch: master Commit: 2bc442aa1beb24a48ea4f3be44c01374dc439d41 URL: https://source.winehq.org/git/wine.git/?a=commit;h=2bc442aa1beb24a48ea4f3be4... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Fri Mar 12 15:07:01 2021 +0300 dwrite: Add a helper to return font list item. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dwrite/font.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c index cd90a9c051c..14be1b9fc1b 100644 --- a/dlls/dwrite/font.c +++ b/dlls/dwrite/font.c @@ -2336,12 +2336,9 @@ static DWRITE_LOCALITY WINAPI dwritefontlist1_GetFontLocality(IDWriteFontList2 * return DWRITE_LOCALITY_LOCAL; } -static HRESULT WINAPI dwritefontlist1_GetFont(IDWriteFontList2 *iface, UINT32 index, IDWriteFont3 **font) +static HRESULT fontlist_get_font(const struct dwrite_fontlist *fontlist, unsigned int index, + IDWriteFont3 **font) { - struct dwrite_fontlist *fontlist = impl_from_IDWriteFontList2(iface); - - TRACE("%p, %u, %p.\n", iface, index, font); - *font = NULL; if (fontlist->font_count == 0) @@ -2353,9 +2350,19 @@ static HRESULT WINAPI dwritefontlist1_GetFont(IDWriteFontList2 *iface, UINT32 in return create_font(fontlist->family, index, font); } +static HRESULT WINAPI dwritefontlist1_GetFont(IDWriteFontList2 *iface, UINT32 index, IDWriteFont3 **font) +{ + struct dwrite_fontlist *fontlist = impl_from_IDWriteFontList2(iface); + + TRACE("%p, %u, %p.\n", iface, index, font); + + return fontlist_get_font(fontlist, index, font); +} + static HRESULT WINAPI dwritefontlist1_GetFontFaceReference(IDWriteFontList2 *iface, UINT32 index, IDWriteFontFaceReference **reference) { + struct dwrite_fontlist *fontlist = impl_from_IDWriteFontList2(iface); IDWriteFont3 *font; HRESULT hr; @@ -2363,12 +2370,11 @@ static HRESULT WINAPI dwritefontlist1_GetFontFaceReference(IDWriteFontList2 *ifa *reference = NULL; - hr = IDWriteFontList2_GetFont(iface, index, &font); - if (FAILED(hr)) - return hr; - - hr = IDWriteFont3_GetFontFaceReference(font, reference); - IDWriteFont3_Release(font); + if (SUCCEEDED(hr = fontlist_get_font(fontlist, index, &font))) + { + hr = IDWriteFont3_GetFontFaceReference(font, reference); + IDWriteFont3_Release(font); + } return hr; }
participants (1)
-
Alexandre Julliard