Alexandre Julliard (@julliard) commented about dlls/mlang/mlang.c:
> default:
> if (*pcSrcSize == -1)
> *pcSrcSize = lstrlenA(pSrcStr);
> -
> + while (MultiByteToWideChar(dwEncoding, MB_ERR_INVALID_CHARS, pSrcStr, *pcSrcSize, 0, 0) == 0)
> + {
> + (*pcSrcSize)--;
> + }
This will truncate at the first invalid char, it would need a test to show that this is the correct behavior.
Also it won't do the right thing for a zero-length string.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6294#note_79775
If there are two monitors and the primary monitor is on the right side and the virtual desktop
resolution happens to be the same as the primary monitor, then the X11 desktop window will
not have window frames and show as a fullscreen window before this patch. is_desktop_fullscreen()
should check which monitor that it is on to decide whether to use fullscreen mode instead of always
checking against the primary monitor.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6346
Added 32x32 icons for TTI_INFO_LARGE, TTI_WARNING_LARGE and TTI_ERROR_LARGE. User-defined icons passed through TTM_SETTITLE message are still drawn as 16x16 icons.
--
v3: comctl32: changed tooltip icon indices to match the native library
https://gitlab.winehq.org/wine/wine/-/merge_requests/6317
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=18382
If an imagelist is created and stored to a file on windows using WriteEx(ImageList_WriteEx is not implemented in WINE), and it is read using ImageList_Read(), it should still read just fine on Windows. On WINE we see the version mismatch as it was made using V6 Comctl32 and WriteEx and return -1 instead.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6343
Right now this should not do anything because all windows are per-monitor DPI aware. When this is changed this will automatically fall back to window surface scaling through `NtGdiStretchBlt` in win32u.
This has the disadvantage that `NtGdiStretchBlt` is doing an absolutely terrible job at upscaling. This then adds a way for drivers to opt-in and do their own surface scaling before falling back to win32u. Alternatively and perhaps better, we could pull libcairo and use it to scale the surface contents with high quality filtering instead of using GDI.
--
v3: win32u: Implement DPI scaled window surface.
win32u: Move window_surface creation helper to dce.c.
win32u: Map window rects DPI before calling into the drivers.
win32u: Map window region DPI before calling into the drivers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6331