I have been reviewing the TestBot and GitLab CI test results for the
merged MRs. While doing that I updated the TestBot's known failures list
(https://testbot.winehq.org/FailuresList.pl) in order to drive down the
false positive rate.
Incidentally I also collected the list of test units causing false
positives, so I'll start with that. Specifically, here are the bugs to
fix to help the GitLab CI:
* Bug 53433 - mmdevapi:capture - impacted 18 MRs
* Bug 54064 - ntdll:threadpool - impacted 15 MRs
* Bug 54078 - ntdll:pipe - impacted 11 MRs
* Bug 54140 - mmdevapi:render - impacted 5 MRs
* Bug 54005 - ole32:clipboard - impacted 5 MRs
* Bug 54037 - user32:msg - impacted 5 MRs
* Bug 54074 - ws2_32:sock - impacted 5 MRs
I classified the TestBot / GitLab CI results as follows:
* False positive
Cases where the CI system incorrectly claimed the MR introduces new
failures. This is typically the case when the failures that are
already present in nightly WineTest results.
* Bad merge
MRs that break a test and got merged anyway.
* Collateral Damage from a bad merge
The false positives (aka collateral damage) caused by one of the bad
merges above.
* Outside interference
This identifies false positives that are not random and intrinsic to
the test but that result from change outside the Wine infrastructure,
for instance certificates that expire, or configuration changes to
servers that break the tests that depend on it.
Of those the only ones that a CI can really avoid are the first type,
aka "False positive". So I calculated the corresponding weekly rate:
Adjusted False Positive rate
Week | TestBot | GitLab CI
2022-11-14 | 21.9% | 8.3%
2022-11-21 | 8.0% | 21.6%
2022-11-28 | 14.7% | 28.4%
2022-12-05 | 8.5% | 24.5%
2022-12-12 | 0.0% | 20.0%
Note that the TestBot's 8% rate for the 11-21 week is not representative
because Wine was broken that week (collateral damage) which prevented
the tests from running in Wine, and thus from contributing real "false
positives". Also the 12-12 week is still incomplete obviously.
Even so I think his shows the TestBot is improving.
Here's a list of the incidents for the weeks above:
* 11-14 An external certificate revocation issue caused crypt32:cert to
fail systematically. This impacted 14 merge requests and was fixed in
MR1360.
* 11-17 MR!1399 got merged despite the TestBot detecting that it
prevented 32-bit Wine tests from running to completion. This impacted
39 merge requests. I could have reduced that number if I had been
faster to reconfigure the TestBot to stop running the full 32-bit Wine
test suite. This was fixed in MR!1524.
* 11-17 MR!1398 got merged despite the TestBot detecting that it broke
ntoskrnl.exe:ntoskrnl on Windows 7. This was fixed in MR!1803.
* 11-22 MR!1495 got merged despite the TestBot detecting that it broke
vbscript:run on Windows *. I don't have a record of the impacted MRs
or of when it was fixed.
* 11-23 The b00a831d direct commit broke kernel32:process in Wine. This
got fixed since.
* 12-07 MR!1732 got merged despite the TestBot detecting that it broke
taskschd:scheduler on Windows *. I immediately added a known failure
entry and no MR got impacted. This was fixed in MR!1736.
If not filtering out the failures caused by these incidents, the false
positive rate is:
Raw False Positive rate
Week | TestBot | GitLab CI
2022-11-14 | 52.1% | 27.1%
2022-11-21 | 50.0% | 29.5%
2022-11-28 | 20.0% | 33.7%
2022-12-05 | 19.1% | 57.4%
2022-12-12 | 0.0% | 20.0%
I think that also shows that the TestBot is improving.
I have attached the raw data I collected and shell snippets to
extract various statistics (failures-mr.txt) as well as a spreadsheet
import (failures.xls).
--
Francois Gouget <fgouget(a)codeweavers.com>
Hi,
it seems we should gain some clarification for the naming of the various
ways Wine can be configured.
This question arises between "old wow64" and "new wow64" esp. some use
wow64 without it being very clear to what it applies (some using wine's
old wow64 configuration as it was the only one, others refer to window's
wow64 architecture, hence "new wow64" in wine lingo)
some have used multi-arch wow(64) or multi arch wine for reference to
the new wine wow64...
it seems to me we'd better use a common denomination for all of this...
- only applying to cross compilation (open point if we still need to
refer to ELF/dylib exec:s)
- different from images naming (for which the <CPU>-<HOST> applies)
So this mail to share the question, and a proposal
- *wow64*: the new multi-arch wow64 configuration, which mimics windows
wow64 architecture ; dropping the 'new' to match with windows (and also,
not sure that in 10years from now it will still be "new")
- (wine)*old wow64*: the wine-only old wow64 configuration
if needed (at least to remind that they exist)
- *pure32*: the 32bit only configuration
- *pure64*: the 64bit only configuration
Note: the proposal doesn't include whether the configuration can run a
module for a given CPU. That's questionable.
For comments, rant, other proposals...
better ideas
TIA
Hi all,
This may seem something of a controversial question, but I am concerned
that FAudio is not a good fit for Wine, mainly because of its licensing
considerations.
Recently I found a bug in FAudio wherein it does not properly handle
unaligned buffers. While in the process of drafting a fix, I was stymied
multiple times by its rather broken resampler, and when I sought to try
to fix that, I found that it was a rather difficult endeavour, which led
me to propose replacing it with an external library such as GStreamer.
Unfortunately FAudio cannot, counterintuitively, link to LGPL code,
because it needs to be able to run on embedded platforms, which (for
reasons I do not understand) cannot ship any LGPL code.
While I can to some degree respect the decision of FAudio to target
platforms that forbid copyleft licensing, I do not think this aligns
well with the interests of the Wine project—a project which specifically
chose copyleft licensing. More personally, I do not want to have to fix
the FAudio resampler or implement another resampler with a non-copyleft
license (and I am not even particularly sure that I can, given my
familiarity with resamplers in LGPL projects such as GStreamer and Wine).
Besides this, it is probably worth noting that we do not seem to gain
much from continuing to rely on FAudio. There would be the usual benefit
of relying on upstream development, but development on FAudio seems very
scarce, especially when restricted to parts relevant to Wine, and much
of that is from Wine contributors anyway. (And, of course, due to our
bundling practices, there is hardly the usual benefit of size or
modularity in linking to external libraries.)
Of course we would be well served by simply importing the current
version of FAudio; I do not mean to propose that we reimplement XAudio
entirely, but rather begin to modify it in ways that would not be
acceptable upstream.
This would mean replacing the resampler, as well as perhaps also the
mixer, and probably with the ones from GStreamer, which is already a
dependency of ours, and which has a very featureful resampler and mixer,
and a much higher rate of development overall.
Do others in the Wine community have thoughts or opinions on this matter?
ἔρρωσθε,
Zeb
I reviewed the tests that are skipped because the dll is missing on
Windows and I found 4 tests that are never run on Windows which makes
them a bit pointless:
* d3dcompiler_46
I can install version 43 and 47 from dxwebsetup.exe without trouble.
But d3dcompiler_46.dll? No idea.
* d3drm
Is this a deprecated Direct 3D 8 dll? dxwebsetup.exe does not install
it.
* msvcr70
As far as I know this dll is part of the Visual Studio 7.0 runtime.
But that runtime is nowhere to be found.
* msvcrtd
The test look like they succeed on test.winehq.org but in fact all
they do is skip the tests:
debug.c:45: Tests skipped: LoadLibraryA failed to load msvcrtd.dll with GLE=126
(where 126 == ERROR_MOD_NOT_FOUND)
That's the debug version of the Visual C++ C library. As such it's not
shipped by the runtime redistributables. Also, which C runtime does it
correspond to? (iirc it was already there in the 90s)
Note: I'd rather not download these dlls from the many
'not.trojan.horse.dlls.trust.me.com' websites.
VM updates:
* debiant
The gst-plugins-base1.0-dev maintainer intentionally removed
multi-arch support in version 1.20.3-2. As a result GStreamer support
went missing in 32-bit builds when Wine's detection code was tweaked
recently, which in turn caused a lot of new failures (bug 53977).
So I hacked multi-arch support back in and the 32-bit tests are back
to normal.
Another point is that updating the X11 / Mesa packages causes the X
server to crash during the Direct 3D tests. So for now that VM is
frozen in time. That's all worrying for the future Debian 12.
* w11pro64
I added a bunch of Visual Studio C runtime dlls, including msvcr71
which I got through the .Net 1.1 framework. I also added a number of
Direct 3D dlls that don't ship with Windows by default.
* w1064v1709
It seems this snapshot was not entirely idle so I retook it after
Windows Update finished installing the already downloaded
updates (see bug 54158).
This does not seem to have made much of a difference :-(
(particularly for bug 53227)
* w1064v1909
Windows Defender was not disabled and was intefering with the tests
from time to time. That's because 1909 is the first Windows version
where Defender cannot be disabled and where I have to exclude the
WineTest folder instead.
This is fixed now.
* w1064v2004
This snapshot also had some trouble with Windows Update not being idle
so I retook it. This does not seem to have made much of a difference
either :-(
--
Francois Gouget <fgouget(a)codeweavers.com>
Binary packages for various distributions will be available from:
https://www.winehq.org/download
Summary since last release
* Rebased to current wine 8.4 (532 patches are applied to wine vanilla)
The patchinstall.sh script is no longer available and users should use
the staging/patchinstall.py instead.
Upstreamed (Either directly from staging or fixed with a similar patch).
* None
Added:
* None
Updated:
* None
Where can you help
* Run Steam/Battle.net/GOG/UPlay/Epic
* Test your favorite game.
* Test your favorite applications.
* Improve staging patches and get them accepted upstream.
* Suggest patches to be included in staging.
As always, if you find a bug, please report it via
https://bugs.winehq.org
Best Regards
Alistair.
Hello,
I have pushed wine-7.0.2-rc1 (f25a27c2e57c9f8c061746a813ace405fbd39073) to
https://github.com/mstefani/wine-stable/tree/oldstablehttps://people.redhat.com/mstefani/wine/stable/
And created the draft merge request
https://gitlab.winehq.org/wine/wine/-/merge_requests/2402
Nothing fancy so here we go:
What's new in this release:
- Various bug fixes
----------------------------------------------------------------
Bugs fixed in 7.0.2 (total 43):
- #36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com
complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a
workaround)
- #39346 Lego Rock Raiders crashes on startup (d3drm_device_init doesn't
handle device version 3 case)
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #42751 Multiple applications crash on unimplemented function
msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z
(Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++
0.868, regression
- #47375 Multiple applications crash on unimplemented function
msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
(Photoshop C 2018, CLIP Studio Paint)
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex
<hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function
dbghelp.dll.SymSrvGetFileIndexInfo
- #49285 PNotesPortable crashes inside WritePrivateProfileStructW
- #50948 taskmgr.exe: wrong memory usage unit (GB => MB)
- #51788 windowscodecs:wmpformat test_decode() fails randomly
- #51842 include/winnt.h:403:50: error: size of unnamed array is negative
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52545 ACE rights parser should allow octal and decimal formats
- #52686 DateAdd not implemented
- #52831 Kernel32::GetSystemPowerStatus returns invalid data if
/sys/class/power_supply/BAT0 is missing
- #52841 Leverless arcade controller SOCD cleaning does not work
- #52972 wineusb.sys: add_usb_device erroneously releases critical section on
failure path
- #52975 VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll"
failed to initialize, aborting
- #53003 XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices
(MIDI running status isn't supported in the MIDI mapper)
- #53005 quartz:systemclock Fails after timeGetTime() wraps
- #53027 Port Royale 4 crashes with wined3d_texture*
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53051 Kvaser software crashes on unimplemented function
ntoskrnl.exe.ExNotifyCallback
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews
erroneously sends LVN_ODSTATECHANGED
- #53169 Rich edit control becomes unstable or trips assertion after
ITextRange::SetFont is called
- #53170 Rich edit control becomes unstable or trips assertion after changing
TextFont properties
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53310 Roblox Fails With HttpSendRequest
- #53335 Crash when converting an rich text editor already containing text
into a password input
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected
recyclebin size in Wine
- #53569 postgresql installer 9.3 needs correct string length returned from
fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53614 KeePassXC crashes on unimplemented function
msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53645 AIMP 3 causes memory leaks
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType
1.3.6.1.4.1.311.2.1.4
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any
other header)
- #53832 wbemprox: where-clause seems to be case-sensitive
----------------------------------------------------------------
Changes since 7.0.1:
Akihiro Sagawa (2):
midimap: Handle MIDI running status.
mciqtz32: Fix thread handle leak if a second play.
Alex Henrie (3):
ntoskrnl: Add ExNotifyCallback stub.
ntdll: Don't hard-code the battery and AC adapter names on Linux.
user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
Alexandre Julliard (4):
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
urlmon/tests: Fix race condition in abort test.
mountmgr: Don't crash if connecting to dbus fails.
gdiplus: Get the compositing mode directly from the graphics object.
Alistair Leslie-Hughes (8):
d3drm: Support IDirect3D3 when creating device.
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
odbc: SQLGetInfoW allow NULL parameter InfoValue.
crypt32: Only report Unimplemented decoder when not found in external dll.
Angelo Haller (9):
comctl32/tests: Add hold_key and release_key functions.
comctl32/tests: Add multi select tests for ownerdata listviews.
comctl32/tests: Add change sequence for ownerdata listviews.
comctl32/listview: Send one deselect all items notification for
LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a
function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA
listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Claire Girka (1):
winepulse: Fix memory leak in pulse_create_stream in some error cases.
Daniel Lehman (1):
kernelbase: Pass va_list copy to internal RtlFormatMessage.
David Curtiss (1):
ws2_32: Allow getsockname after AcceptEx.
David Kahurani (2):
win32u: Use allocator mechanism to allocate DC attributes.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (2):
comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED
context.
sechost: Support decimal or octal access rights in
ConvertStringSecurityDescriptorToSecurityDescriptor.
Eric Pouech (2):
wldap32: Fix compilation in 32-bit.
winedbg: Fix retrieving integral values.
Esme Povirk (1):
wmphoto: Zero user buffer before calling jxrlib Copy.
Fabian Maurer (1):
kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (4):
wininet: Remove assertion that is no longer valid in Windows 10.
wininet: Always reset the second input buffer in
netcon_secure_connect_setup().
bcrypt: Force symmetric key reset if necessary.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (1):
conhost: Set correct face name when the specified font is not available.
Huw D. M. Davies (1):
nsi: Use the correct members for the error and discard counts.
Jeff Smith (2):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
Jinoh Kang (3):
wineusb.sys: Remove erroneous call to LeaveCriticalSection() in
add_usb_device.
riched20: Commit and wrap paragraphs after changing text properties.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
Kevin Puetz (2):
winecrt0: Remove free_delay_imports.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
Limstash Wong (1):
taskmgr: Fix the unit in memory usage graph on performance tab.
Louis Lenders (1):
msvcr80: Update manifest resource.
Martin Storsjö (2):
include: Add declarations of _alloca and alloca for MSVC mode.
ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (2):
vbscript: Implement DateSerial().
vbscript: Implement DateAdd().
Paul Gofman (3):
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is
present.
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
winhttp/tests: Avoid race condition on closing connection in server_thread().
Piotr Caban (4):
msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
Robert Wilhelm (4):
scrrun: Added DateCreated property for IFile.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
Rémi Bernon (2):
winebus.sys: Implement SOCD neutral cleaning for hatswitches.
server: Avoid using pointer value after realloc.
Santino Mazza (3):
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
jscript: Return ParseProcedureText when compile fails.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Tim Clem (1):
kernelbase: Don't assume the length of the process image name.
Torge Matthies (8):
msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Implement invalid_multiple_scheduling exception.
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
msvcp90: Fix segfault in bad_alloc exception default constructor.
Zebediah Figura (7):
quartz/systemclock: Use timeGetTime() to retrieve the current time.
wined3d: Correctly handle 3D textures in wined3d_view_{load,
invalidate}_location().
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
xslt: Use win32config.h from the correct directory.
ntdll: Calculate the necessary length after calling snprintf() in
SystemWineVersionInformation.
msvcrt: Add SEH annotations for sse2_memcpy().
libwine: Avoid comparing the result of pointer arithmetic to zero.
Zhiyi Zhang (14):
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32/tests: Test that changing focus for edit controls doesn't repaint
immediately.
comctl32/edit: Don't repaint immediately when getting focus.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Don't compare error event serial if it's zero.
winegstreamer: Always check the return value from
mf_media_type_from_wg_format().
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
win32u: Fix a memory leak.
bye
michael
Hello,
This is my first time posting to this mailing list. (This email is a bit
long... sorry!) I am a developer writing Win32 code using Wine on Debian
Linux. I tried to use the Win32 API function GetTempPath2W(), but my Wine
version does not support it. I checked out the Wine source code and found
GetTempPathW() here: dlls/kernelbase/file.c ... but did not find
GetTempPath2W().
First, if this function is already in the pipeline (another feature branch,
etc.), please let me know... and ignore the rest of this email! :-)
From GetTempPathW() docs:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-gett…
"Note: Apps should call GetTempPath2 instead of GetTempPath."
From GetTempPath2W() docs: "When calling this function from a process
running as SYSTEM it will return the path C:\Windows\SystemTemp"
The implementation looks rather straightforward except this part: "process
running as SYSTEM". How to detect this? I found a good blog post from
(the legend) Raymond Chen:
https://devblogs.microsoft.com/oldnewthing/20210106-00/?p=104669
Sample code looks like this:
<<
#include <wil/token_helpers.h>
bool DoesTokenRepresentSid(HANDLE token, WELL_KNOWN_SID_TYPE type)
{
// maps to GetTokenInformation(token, TokenUser, ...);
auto user = wil::get_token_information<TOKEN_USER>(token);
return !!IsWellKnownSid(user->User.Sid, type);
}
bool IsCurrentProcessRunningAsSystem()
{
return DoesTokenRepresentSid(GetCurrentProcessToken(),
WinLocalSystemSid);
}
bool IsCurrentThreadRunningAsSystem()
{
return DoesTokenRepresentSid(GetCurrentThreadEffectiveToken(),
WinLocalSystemSid);
}
>>
Reading the WIL source code on GitHub, I understand the required Win32
calls. In short, I plan to re-write the above same code using pure Win32
code (remove the WIL requirement).
My questions:
1. Do you agree with Raymond Chen's technique for Wine source code?
(Or: Is there a better way to do it for Wine source code?)
2. Should my SYSTEM account test use IsCurrentProcessRunningAsSystem()
or IsCurrentThreadRunningAsSystem()? If I read the official docs
literally, I think "process" not "thread". Please advise.
3. Reading the WIL code: TOKEN_INFORMATION_CLASS TokenUser appears to
require this pattern:
1. Call GetTokenInformation() to get required buffer size
2. malloc buffer
3. Call GetTokenInformation() again with buffer
4. Check: WinLocalSystemSid == ((TOKEN_USER *) buffer)->User.Sid
5. free buffer
1. Is there a way to avoid the above steps? malloc+free seems like
overkill to decide if the current user is SYSTEM!
2. Do I misunderstand the WIL code? Reading the Wine code
for: GetTokenInformation() -> NtQueryInformationToken():
TOKEN_USER appears
to be fixed size. Why does WIL think TOKEN_USER is not fixed size? I am
confused! :-)
Kind regards,
Kevin Connor ARPE
Tokyo, Japan
Hi-d ho winerinos,
I have made some changes to add a dxcore.dll on a personal branch. I
want to upstream the changes, however I'm unsure of whether I should
create a new dll or just append it to dxgi.
Dxcore overlaps with dxgi, but presumably has separate functionality as
well.
Thoughts?
Here is my branch if anyone wanted to review the commits.
https://gitlab.winehq.org/ElementalWarrior/wine/-/commits/affinity-photo2
Cheers,
James
Binary packages for various distributions will be available from:
https://www.winehq.org/download
Summary since last release
* Rebased to current wine 8.3 (532 patches are applied to wine vanilla)
The patchinstall.sh script is no longer available and users should use
the staging/patchinstall.py instead.
Upstreamed (Either directly from staging or fixed with a similar patch).
* ntdll: Add helper function to delete free blocks.
* ntdll: Improve heap allocation performance. (v2)
Added:
* [52012] Implement _vcomp_for_dynamic_init_i8.
Updated:
* None
Where can you help
* Run Steam/Battle.net/GOG/UPlay/Epic
* Test your favorite game.
* Test your favorite applications.
* Improve staging patches and get them accepted upstream.
* Suggest patches to be included in staging.
As always, if you find a bug, please report it via
https://bugs.winehq.org
Best Regards
Alistair.