http://bugs.winehq.org/show_bug.cgi?id=16235
--- Comment #13 from Daniël Mantione daniel.mantione@freepascal.org 2009-02-18 15:26:57 --- Created an attachment (id=19542) --> (http://bugs.winehq.org/attachment.cgi?id=19542) Wine built-in USP10 with path applied, command-line: "(WINEDEBUG=+uniscribe wine GalCiv2.exe ) 2>&1 | gzip -c > /tmp/winetrace.gz"
Because with the patch applied the game no longer crashes, it is a bit hard to find into the trace the point where it goes wrong. To make it a bit easier, I modified the code a bit to display a trace when it goes wrong, so you can simply search for "is invalid" into the trace.
The relevant code now reads:
TRACE("Item %d, Glyphs %d ", item, analysis->glyphs[item].numGlyphs); for (x = cnt; x < analysis->glyphs[item].numGlyphs + cnt; x ++) { if (glyphs[x] == 0xffff) { TRACE("glyph nr. %d is invalid!\n", x); heap_free(glyphs); return E_INVALIDARG; } TRACE("%04x", glyphs[x]); } TRACE("\n");
The message occurs several times into the trace.