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?



Reply via email to