The goal of this MR is to allow the use of Wine’s logging functions by ObjC code (including from the main thread or other non-Wine threads).
winemac’s ObjC code has almost no logging; often the first task when working on an issue is to add temporary logging traces to the ObjC code. By making the full ERR/WARN/TRACE/FIXME and debug channel functionality available, we can add TRACEs to delegate methods, etc. and put them in the right channels.
Including Wine and Win32 headers in ObjC code does need a workaround for BOOL, which is both an ObjC and Win32 type. Part of the solution is to use the C99 ‘bool’ type wherever possible. Otherwise, BOOL is #defined to WINBOOL while Win32 headers are #included, and must be used in function signatures if a Win32 BOOL is needed.
Creating a debug_info for non-Wine threads was straightforward, though with the limitation that timestamp/pid/tid are not supported.
Note that previously macdrv_cocoa.h was included by both C and ObjC files, but macdrv.h was only included by C files. macdrv.h is now included by ObjC files as well, and merging the two header files can be done next.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9503
The GIF LZW compression algorithm was incorrectly initializing the code
size to 8 bits regardless of the actual color depth. This caused issues
with images that have fewer colors requiring smaller initial code sizes.
The fix calculates the proper initial code size based on the actual
number of colors in the image, using the formula: minimum code size =
max(2, ceil(log2(color_count))). This ensures proper compression for
images with small color palettes and maintains compatibility with GIF
decoders that expect correct LZW initialization parameters.
Log: Fixed GIF compression for images with small color palettes
Signed-off-by: Jiajin Cui <cuijiajin(a)uniontech.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9486
On Tue Nov 18 01:52:50 2025 +0000, Nikolay Sivov wrote:
> Regarding TreeView, I don't see any difference in +/- symbols between v5
> and v6, with or without this MR. Are we missing something in the theme?
No. It's because light.msstyles uses similar shapes for the plus and minus signs. I didn't bother designing a different shape for light.msstyles. If you use, for example, luna.msstyles from XP. You can see the difference.


--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9488#note_122676
<a href="https://mh-nexus.de/en/downloads.php?product=HxD20">hxd</a> <code>Analyzing...</code> dialog calls <code>StrFromTimeIntervalW</code> with <code>lpszStr</code>=0 to get length of <code> 30 sec</code> text and calls <code>StrFromTimeIntervalW</code> with non-0 <code>lpszStr</code> to get <code> 30 sec</code> text
<img src="/uploads/6209a82d2aa063d355147034ceccc9ff/hxd.webp" alt="hxd "Analyzing..." dialog showing "Remaining time: 30 sec"">
--
v3: shlwapi: make StrFromTimeIntervalA and StrFromTimeIntervalW more like windows xp
https://gitlab.winehq.org/wine/wine/-/merge_requests/9496