This patch series reworks `D3DXSaveSurfaceToFileInMemory()` to use the new `d3dx_save_pixels_to_memory()` function.
It also adds support for selecting a replacement pixel format when the image file format being saved to doesn't have direct support for the pixel format being saved. The code for calculating the best replacement format was inspired by the code in `check_texture_requirements()` in `d3dx9_36/texture.c`. This should fix WineHQ bug 51584, but I haven't tested that.
--
v2: d3dx9: Add support for saving DIB files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving paletted pixel formats in d3dx_pixels_save_wic().
d3dx9: Add support for saving BMP files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving JPG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving PNG files in d3dx_save_pixels_to_memory().
https://gitlab.winehq.org/wine/wine/-/merge_requests/7436
If the lock is deactivated, mouselook won't work properly, and the user
probably doesn't want mouselook to be active. For example:
* if the user is making their compositor inhibit constraints to
temporarily prevent applications from disrupting pointer movement.
* if the keyboard is unfocused on the window, the lock is almost
certainly deactivated.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56681
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7475
`WINE_UNICODE_NATIVE` handles non-PE targets where appropriate, but on PE targets, we should always use `wchar_t`. This is particularly important for C++, where `wchar_t` is a distinct built-in type.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7488
On Tue Mar 4 12:15:46 2025 +0000, Bernhard Übelacker wrote:
> Sorry, this was not my intention. This line should make sure
> `check_PropVariantToBSTR2` is never called with anything else than
> `VT_R4`, but I have not considered this to be inside a `todo_wine` altogether.
> I created !7487 to fix this.
No worries, thanks for the fix :)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7460#note_96759
On Tue Mar 4 12:15:46 2025 +0000, Rémi Bernon wrote:
> This now causes a "Test succeeded inside todo block" test failure on linux.
Sorry, this was not my intention. This line should make sure `check_PropVariantToBSTR2` is never called with anything else than `VT_R4`, but I have not considered this to be inside a `todo_wine` altogether.
I created !7487 to fix this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7460#note_96755
Cannot use always succeeding ok statement,
because check_PropVariantToBSTR2 is used inside a todo_wine block.
Followup to a1637b167f.
This was intended to make sure check_PropVariantToBSTR2 is just called with `VT_R4`, but makes now more problems than good.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7487