Testing on Windows shows that the owner of GetDesktopWindow() always has a default admin token with `TokenElevationTypeDefault`, no matter the token of the process/thread that is responsible for creating it.
We've had issues in this area in the past - 99e2fad1 was a case where it was important that explorer not inherit the token of the *process* spawning it, but instead the token of the *thread*. This patch keeps that app working, since now explorer will get a default token regardless.
In addition to the privilege issues from 99e2fad1, it is a relatively common pattern to duplicate the token of the owner of GetDesktopWindow to acquire a default token.
--
v2: services: Apply a default admin token to the process.
ntdll: Count default-elevation admin tokens as elevated from NtQueryInformationToken(TokenElevation).
Revert "win32u: Create explorer with the thread effective access token."
explorer: Apply a default admin token when running for the desktop.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6602
This is the first set of patches to move targa decoding out of WIC and into d3dx9. The eventual goal is to add support for saving targa files.
I've pushed a branch with the rest of the patches for decoding the image [here](https://gitlab.winehq.org/cmcadams/wine/-/tree/WIP/d3dx9-targa-decode… if extra context would help. I split this into two parts to make review a little less overwhelming. :)
--
v2: d3dx9: Use d3dx9 to get image information for targa files.
d3dx9/tests: Add TGA header image info tests.
d3dx9: Do not use WIC to detect image file format.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6673
For Gitlab to detect and report the failing tests directly on the MR front page. This has the disadvantage of making the test job output more silent, but the results are still available as artifacts (in JUnit XML format), which hopefully should be enough if we need to have a better look at it. The tests standard output is included in the reports too.
I believe it would also show some failure statistics that could help deciding on whether a test is regularly failing or not, but I wasn't able to really test that it does. In order to help it doing it, it also implements hashing of test sources to generate test IDs that are more stable than `source:line`, although it could be done later.
All the succeeding (and todo) tests are grouped together and reported as once, as they would otherwise be split into individual success lines in the Gitlab UI, which would make it unnecessary large. Only failures and skipped tests are reported as individual entries.
--
v2: gitlab: Use winetest JUnit output mode.
winetest: Implement JUnit report output mode.
winetest: Introduce some test report helpers.
winetest: Pass output file handle to xprintf.
winetest: Always use a temporary file for test output.
winetest: Add printf attributes to xprintf.
winetest: Add printf attributes to strmake.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6672