Module: wine Branch: stable Commit: 61fe2c74abbe59b890e4ad7d4c2635985739e9f7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=61fe2c74abbe59b890e4ad7d4c...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Feb 23 17:47:14 2016 +0300
dwrite: Handle font data initialization failure when building collections.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 7276d5fac1417dd81344db45b3af904f8f2c7d77) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/dwrite/font.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c index 9244978..68b2c17 100644 --- a/dlls/dwrite/font.c +++ b/dlls/dwrite/font.c @@ -359,7 +359,8 @@ static void release_font_data(struct dwrite_font_data *data) if (data->info_strings[i]) IDWriteLocalizedStrings_Release(data->info_strings[i]); } - IDWriteLocalizedStrings_Release(data->names); + if (data->names) + IDWriteLocalizedStrings_Release(data->names);
IDWriteFontFile_Release(data->file); IDWriteFactory2_Release(data->factory); @@ -3141,8 +3142,11 @@ HRESULT create_font_collection(IDWriteFactory2* factory, IDWriteFontFileEnumerat
/* alloc and init new font data structure */ hr = init_font_data(factory, file, face_type, i, &family_name, &font_data); - if (FAILED(hr)) + if (FAILED(hr)) { + /* move to next one */ + hr = S_OK; continue; + }
fontstrings_get_en_string(family_name, familyW, sizeof(familyW)/sizeof(WCHAR));