"Nikolay Sivov" <[EMAIL PROTECTED]> wrote: > +/*********************************************************************** > + * CreateFontIndirectExA (GDI32.@) > + */ > +HFONT WINAPI CreateFontIndirectExA( const ENUMLOGFONTEXDVA *plf ) > +{ > + if(!plf) return NULL; > + > + return CreateFontIndirectA(&(plf->elfEnumLogfontEx.elfLogFont)); > +} > + > +/*********************************************************************** > + * CreateFontIndirectExW (GDI32.@) > + */ > +HFONT WINAPI CreateFontIndirectExW( const ENUMLOGFONTEXDVW *plf ) > +{ > + if(!plf) return NULL; > + > + return CreateFontIndirectW(&(plf->elfEnumLogfontEx.elfLogFont)); > +}
You neither removed the 'if(!plf)' check, nor added a test or an explanation for this. > + if(!pCreateFontIndirectExA) > + skip("CreateFontIndirectExA not implemeted on this platform\n"); > + else > + { > + memcpy(&lfex.elfEnumLogfontEx.elfLogFont, &lf, sizeof(lf)); > + hfont = create_font_ex("Arial", &lfex); > + DeleteObject(hfont); > + } Presumably CreateFontIndirectEx uses the whole ENUMLOGFONTEXDVA structure, not just LOGFONT, so you need to fully initialize it. Also please remove trailing line spaces. -- Dmitry.