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" aric@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?