http://bugs.winehq.org/show_bug.cgi?id=33378
Bug #: 33378 Summary: measuring/painting strings needs better tests Product: Wine Version: 1.5.28 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdiplus AssignedTo: wine-bugs@winehq.org ReportedBy: galtgendo@o2.pl Classification: Unclassified Regression SHA1: 6ab04040e52465e77558a067309e8a54bdc0f32c
Created attachment 44169 --> http://bugs.winehq.org/attachment.cgi?id=44169 minimal fix for a clipping problem
This is sort of bug 25717 revisited, in that that a problem, that happened shortly before it was fixed, has popped up again.
I haven't been checking it in awhile, but today I did, then had to trace it back to 1.5.26.
After a bisect, it came to commit "gdiplus: GdipMeasureCharacterRanges should treat empty layout extents as infinite when StringFormatFlagsNoClip is specified.". Clipping went broken again, resulting in invisible text.
Minimal fix attached and sent to wine-patches.
As I said, it's the clipping again - without resetting < 0.5 to (1<< 23), 'if (!(format_flags & StringFormatFlagsNoClip) && scaled_rect.Width != 1 << 23 && scaled_rect.Height != 1 << 23)' condition doesn't go into effect.