https://bugs.winehq.org/show_bug.cgi?id=40304
Bug ID: 40304 Summary: EveHQ2 crashes with builtin gdiplus Product: Wine Version: 1.9.5 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs@winehq.org Reporter: xerox_xerox2000@yahoo.co.uk Distribution: ---
EveHQ2.exe from http://evehq.co/downloads/download.php?file=EveHQ2.25.2.exe crashes with builtin gdiplus.
I tried to find the bug using +gdiplus log and I came to this:
Just before the crash it says
trace:gdiplus:GdipTransformPath (0x1cc870, (nil))
The code for GdipTransformPath basically boils down to :
return GdipTransformMatrixPoints(matrix, path->pathdata.Points, path->pathdata.Count);
In code for GdipTransformMatrixPoints there is check
if(!matrix || !pts || count <= 0) return InvalidParameter;
So in the end GdipTransformPath will always return InvalidParameter when matrix=0.
From a quick test it seems to me that GdipTransformPath should return Ok when
matrix=0. I`ll attach possible fix and test hereafter
Bear in mind I have absolutely no knowledge about gdiplus, so any comment whether my fix ,analysis and test is correct/sufficient, is very welcome