https://bugs.winehq.org/show_bug.cgi?id=57470
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Problem happens in this line of code:
https://gitlab.winehq.org/wine/wine/-/blob/wine-9.22/dlls/win32u/menu.c?ref_...
NtGdiBitBlt( hdc, rect.left, (y - check_bitmap_height) / 2, check_bitmap_width, check_bitmap_height, mem_hdc, 0, 0, SRCCOPY, 0, 0 );
metrics come from https://gitlab.winehq.org/wine/wine/-/blob/wine-9.22/dlls/win32u/sysparams.c...
return tm.tmHeight <= 0 ? 13 : ((tm.tmHeight + tm.tmExternalLeading + 1) / 2) * 2 - 1;
If this is smaller than 16, then the image gets clipped.
Possible hack is
NtGdiStretchBlt( hdc, rect.left, (y - check_bitmap_height) / 2, check_bitmap_width, check_bitmap_height, mem_hdc, 0, 0, 16, 16, SRCCOPY, 0 );
Or making SM_CXMENUCHECK / SM_CYMENUCHECK at least 16.
Not sure what is correct, more testing is needed. Does this come from ROS? And do you maybe have an idea what is correct here?