load_child_font calls neither WineEngCreateFontInstance nor GetEnumStructs.
It allocates the the child font structure above in the function sets the
few fields it thinks it needs and then goes on. I see no evidence that
it is being expected to have been set at any other point.
-aric
Dmitry Timoshkov wrote:
"Aric Stewart" <a...@codeweavers.com> wrote:
@@ -5792,6 +5792,9 @@ static BOOL load_child_font(GdiFont *font,
CHILD_FONT *child)
child->font->scale_y = font->scale_y;
hfontlist = HeapAlloc(GetProcessHeap(), 0, sizeof(*hfontlist));
hfontlist->hfont = CreateFontIndirectW(&font->font_desc.lf);
+ /* ensure the child font has a name */
+ if (!child->font->name)
+ child->font->name =
strdupW(child->font->font_desc.lf.lfFaceName);
It doesn't look like an appropriate place for this. Font name is
initialized
explicitly in both WineEngCreateFontInstance() and GetEnumStructs(). How it
could be possible that it's NULL in the above case?