https://bugs.winehq.org/show_bug.cgi?id=51989
Bug ID: 51989 Summary: pen-related tests (gdiplus:graphics and gdiplus:graphicspath) fail on latest Windows 10 Product: Wine Version: 6.17 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs@winehq.org Reporter: madewokherd@gmail.com Distribution: ---
We had some new test failures appear in Windows 10 on November 2.
https://test.winehq.org/data/20f1a677b664b3d0d3dc038ffb9ab4f4e4aa6274/win21H... https://test.winehq.org/data/20f1a677b664b3d0d3dc038ffb9ab4f4e4aa6274/win21H...
It appears that Pen objects with a width of 0.0 and a unit of UnitPixel now draw with 1.0 width. Previously, they did not draw.
Pen objects with UnitWorld would always draw with a minimum width of 1.0, so possibly this brings other units' behavior in line with UnitWorld.
The C# and C++ wrappers only allow creating Pen objects with UnitWorld, other units can only be used through the C API.
We also had the following Mono tests start failing around the same time: MonoTests.System.Drawing.PenTest:Constructor_Brush_Float_Negative MonoTests.System.Drawing.PenTest:Constructor_Brush_Float_Zero MonoTests.System.Drawing.PenTest:Constructor_Color_Float_Negative MonoTests.System.Drawing.PenTest:Constructor_Color_Float_Zero MonoTests.System.Drawing.PenTest:Width
In these cases, the test creates a UnitWorld Pen with width < 1.0 and expects to get the same width back. Instead, current native gdiplus reports a width of 1.0.
I'm not sure whether we should update to this new behavior. It seems likely to cause a regression if it applies to other units (a half-pixel Pen doesn't make much sense, but half-inch Pen does).