[PATCH 4/5] dwrite: Add a helper to return font list item.
Nikolay Sivov
nsivov at codeweavers.com
Fri Mar 12 06:07:01 CST 2021
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
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;
}
--
2.30.1
More information about the wine-devel
mailing list