Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v25: winesni.drv: add dbus watch instead of using plain unix fds and flush
winesni.drv: replaced the dbus connection logic with a single connection per each SNI object
winesni.drv: wrap functions with pthread mutex locking
winesni.drv: implement basic balloon notification support
explorer: add winesni.drv tray implementation support
winesni.drv: add KDE StatusNotifierItem implementation for tray
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
Fixes Starfield not being able to take photos in photo mode (due to failing to creating windowscodecs' image factory due to COM apartment being initialized). Turns out on Windows RoGetActivationFactory() initializes implicit MTA apartment when called from STA thread, and so after that called once COM is implicitly uninitialized for any (new) thread until COM is uninitialized in the thread which called RoGetActivationFactory (or that thread exited). This is not the case on Win8 (where the function was first introduced) but looks consistent after that.
--
v2: combase: Create implicit MTA in STA apartment in RoGetActivationFactory().
https://gitlab.winehq.org/wine/wine/-/merge_requests/3806
--
v2: gdiplus: Include the newline in the measurement of each line.
gdiplus/tests: Add test for bounds of newline.
win32u: Detect and handle characters that are considered to have no width for GetTextExtentExPoint.
gdi32/tests: Add test for width of carriage return and line feed.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3517
`FileRenameInformationEx` and `FileLinkInformationEx` are expanded versions of the `FileRenameInformation` and `FileLinkInformation` classes in `NtSetInformationFile`. They replace a single `ReplaceIfExists` flag with a `Flags` field that can contain a wider selection of options.
This patch-set implements these new classes by replacing the `replace` field of the `set_fd_name_info` server request with `flags`. The original `FileRenameInformation` and `FileLinkInformation` classes are then reimplemented to use `FILE_RENAME_REPLACE_IF_EXISTS` and `FILE_LINK_REPLACE_IF_EXISTS` respectively.
The patch set additionally implements `FILE_RENAME_IGNORE_READONLY_ATTRIBUTE` and `FILE_LINK_IGNORE_READONLY_ATTRIBUTE`, as well as `FILE_RENAME_POSIX_SEMANTICS` and `FILE_LINK_POSIX_SEMANTICS`.
Wine Bugs:
* [#54997](https://bugs.winehq.org/show_bug.cgi?id=54997) - msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (65)" / FileRenameInformationEx
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3816
In `Makefile`, `foobar.tab.c` is made from the following rules:
```
foobar.tab.h: foobar.y
bison -o foobar.tab.c -d foobar.y ---- Rule X
foobar.tab.c: foobar.y foobar.tab.h
bison -o $@ foobar.y --- Rule Y
```
Normally, `Rule X` is used. In parallel makes, if `foobar.tab.c` is
considered while updating `foobar.tab.h` by `Rule X`, `Rule Y` is used.
So, if we compare build directories, there might be a difference in that
`foobar.tab.c` may or may not contain `#include "foobar.tab.h"`.
To avoid the above situation, this patch introduces [Grouped Targets](https://www.gnu.org/software/make/manual/html_node/Multiple-Target… which is
new in GNU Make 4.3.
The previous rules still apply to prevent build failures on older
systems, such as Ubuntu 20.04 LTS.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3797
--
v2: tests: Compile HLSL shaders at runtime in test_unknown_dsv_format().
tests: Compile HLSL shaders at runtime in test_unknown_rtv_format().
tests: Compile HLSL shaders at runtime in test_multiple_render_targets().
tests: Compile HLSL shaders at runtime in test_create_compute_pipeline_state().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/337
This goes on top of !325 (which was already approved).
--
v4: include: Add some misc D3D12 structs/enums/macros.
include: Add some D3D12 raytracing specific structs.
include: Add the D3D12_BARRIER_GROUP struct.
include: Add the ID3D12Tools interface.
include: Add the ID3D12VirtualizationGuestDevice interface.
include: Add the ID3D12Device10 interface.
include: Add the ID3D12Device9 interface.
include: Add the ID3D12ShaderCacheSession interface.
include: Add the ID3D12GraphicsCommandList4 interface.
include: Add the ID3D12MetaCommand interface.
include: Add the ID3D12Heap1 interface.
include: Add the ID3D12Resource{1,2} interfaces.
include: Add the ID3D12Device8 interface.
include: Add the structs D3D12_FEATURE_DATA_D3D12_OPTIONS{6,7}.
include: Add the ID3D12Device7 interface.
include: Add the ID3D12ProtectedResourceSession1 interface.
include: Add the ID3D12Device6 interface.
include: Add the ID3D12DeviceRemovedExtendedData{,1,2} interfaces.
include: Add the ID3D12DeviceRemovedExtendedDataSettings{,1} interfaces.
include: Add the ID3D12Device5 interface.
include: Add the ID3D12StateObjectProperties interface.
include: Add the ID3D12StateObject interface.
include: Add the ID3D12LifetimeTracker interface.
include: Add the ID3D12SwapChainAssistant interface.
include: Add the ID3D12LifetimeOwner interface.
include: Add the ID3D12Device4 interface.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/332