> So that versioned window classes gets registered as well. Otherwise, comctl32 v6 fails to register
> its window classes when comctl32 v5 classes are still being used. This can happen, for example, when
> creating a window using comctl32 v5, then unload comctl32 v5 and not destroying the window, and then
> load comctl32 v6.
Is this still true? This shouldn't happen if things are working correctly.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110509
On Mon Jul 21 08:04:25 2025 +0000, Zhiyi Zhang wrote:
> > Is there an embedded manifest in comctl32.dll from system32?
> No. The manifest seems to be from somewhere else. Anyway, I think it's
> clearer that the manifest is for comctl32 v6 this way.
It's a change that we don't need, that's my point.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110508
The glyphs are based on BitstreamVeraSans-Bold.
The glyphs in WineTahomaBold are not truely bold, this font is just a copy of WineTahoma.
If this patch is acceptable, I'm planning to make more glyphs bold, including at least all ASCII characters.
--
v2: fonts: Make numbers bold for WineTahomaBold.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8533
> it doesn't matter if our v5 has manifest or not. I think we don't have to care about that at this point.
Yeah. We don't need to care about whether comctl32 v5 has a manifest or not at this point. The problem with this part of the code is that comctl32 v6 doesn't get some of its window class version from its manifest without this change.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110490
On Mon Jul 21 08:03:29 2025 +0000, Nikolay Sivov wrote:
> Another way would be to extend this builtin signature check to
> optionally include installed module name instead of assuming it's the
> same as a filename, so that we can specify comctl32_v6.dll there and
> build everything as builtin. I don't know if it's easy, because it
> requires variable length data.
It will be a lot more work. First, we need to pack variable-length data into e_lfanew for every DLL/EXE(output_pe_file(),output_module16, etc). Then we need to change this signature parsing to support variable-length data(winedump, dbghelp, build_module() in NTDLL, ntdll DLL loader, setupapi fakedll support). There will probably be alignment issues to be handled. Also, increasing e_lfanew might increase the chance of anti-virus software misdetecting wine DLLs as malware. Overall, I don't think it's worth it to extend the built-in signature check for this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110489
Avoid writing out of bounds.
Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com>
--
v3: dsound/tests: Add test for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
dsound: Check if 'cbPropData' for DSPROPERTY_Description1 is large enough
https://gitlab.winehq.org/wine/wine/-/merge_requests/8596
On Mon Jul 21 08:00:41 2025 +0000, Zhiyi Zhang wrote:
> \--prefer-native works. However, we need to mark comctl32 v5 as
> --perfer-native because comctl32.dll in the build dir is comctl32 v5.
> Then we still need to update the wine prefix every time after making
> changes to comctl32 v6 and rebuilding, because otherwise the comctl32 v6
> DLL in the wine prefix won't be updated, now that the DLL in the wine
> prefix is preferred. This would make the comctl32 development experience
> worse and bisecting comctl32 terrible. Comparing it to a special case in
> find_builtin_dll(), I prefer the latter. The changes to
> find_builtin_dll() are quite minimal.
Another way would be to extend this builtin signature check to optionally include installed module name instead of assuming it's the same as a filename, so that we can specify comctl32_v6.dll there and build everything as builtin. I don't know if it's easy, because it requires variable length data.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110484
On Mon Jul 21 07:46:07 2025 +0000, Nikolay Sivov wrote:
> Having this check in ntdll looks too dirty to me. Will it work if we
> build v6 variant as --prefer-native?
\--prefer-native works. However, we need to mark comctl32 v5 as --perfer-native because comctl32.dll in the build dir is comctl32 v5. Then we still need to update the wine prefix every time after making changes to comctl32 v6 and rebuilding, because otherwise the comctl32 v6 DLL in the wine prefix won't be updated, now that the DLL in the wine prefix is preferred. This would make the comctl32 development worse. Comparing it to a special case in find_builtin_dll(), I prefer the latter. The changes to find_builtin_dll() are quite minimal.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8595#note_110483