Dmitry Timoshkov ha scritto:
"Massimo Del Fedele" <m...@veneto.com> wrote:

PATH_ExtTextOut() uses GetGlyphOutlineW() which can return a NULL buffer size not just on errors but also on non-printable glyphs. Instead of aborting the function should check for such cases, get the metrics and continue.

This patch doesn't match the normal logic of ExtTextOut implemented
in dlls/winex11.drv/xrender.c, also this requires a test case for
both code paths.


Why ? As is it now PATH_ExtTextOut() simply returns FALSE on first space or non-printable glyph, you can see easily printing something like
"THIS IS A TEST" on an open path.
BTW, this behaviour (GetGlyphOutlineW returning NULL on spaces) is quite well known, and is NOT an error value, simply there's no glyph outline for non-printable characters, so the requested buffer size is NULL; the function just outputs the metrics. Also, I don't know how to make a testcase with no graphic output.... If you have some suggestion about, I can make one.

Ciao

Max



Reply via email to