http://bugs.winehq.org/show_bug.cgi?id=58203
--- Comment #7 from Esme Povirk madewokherd@gmail.com --- That work-around makes sense to me. Maybe we should move the segment_dx/segment_dy calculation outside the switch so we don't have to duplicate this logic.
It will mean we don't draw the line cap when we might have previously. So that may still leave a regression, but I'd rather confirm that before working on it so we have a real test case.
I guess the solution would be to trace the polygon back further if the distance from endpoint is "too small", but I guess "too small" depends on floating point precision, so I'm not too sure how to figure that out. And I don't think we currently pass enough information to widen_cap to actually do that.