Co-authored-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
--
v5: server: Open file read-only when writing only attributes.
server: Open code FILE_UNIX_WRITE_ACCESS flags.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8030
Co-authored-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
--
v4: server: Open file read-only when writing only attributes
server: Open code FILE_UNIX_WRITE_ACCESS flags
ntdll/tests: Test opening read-only files only for read/write attributes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8030
Co-authored-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
--
v2: server: Open file read-only when writing only attributes
server: Open code FILE_UNIX_WRITE_ACCESS flags
ntdll/tests: Test opening read-only files only for read/write attributes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8030
Over the past several weeks I've been working on and off on this. I didn't track the hours but I'm sure that I've spent 80+ hours on the feature. I've tested and retested all known scenarios and it seems to be working as expected.
--
v39: cmd: Implement tab completion for command line entry.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7843
Over the past several weeks I've been working on and off on this. I didn't track the hours but I'm sure that I've spent 80+ hours on the feature. I've tested and retested all known scenarios and it seems to be working as expected.
--
v38: cmd: Implement tab completion for command line entry.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7843
This serie mainly:
- fix remaining code quality warnings,
- move creation of symt inside new PDB reader; it
doesn't change (yet) the old logic of creating
all symbolic information at debug info init.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8025
--
v2: winewayland: Get rid of now unnecessary function loading.
winemac: Get rid of now unnecessary function loading.
winex11: Get rid of now unnecessary function loading.
wineandroid: Get rid of now unnecessary function loading.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7967
After `DeviceWatcher::Start()` gets called, `DeviceWatcher` enumerates through a list of all `DeviceInformation` objects on the current system through the `Added` event handlers, dispatching `EnumerationCompleted` once this has finished. This MR implements this functionality.
--
v4: windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
windows.devices.enumeration: Implement EnumerationCompleted handler for DeviceWatcher.
windows.devices.enumeration: Implement CreateWatcher.
windows.devices.enumeration: Implement Added handler for DeviceWatcher.
windows.devices.enumeration: Add tests for initial device enumeration in DeviceWatcher.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7997
In CopyFileEx, and DeleteFile functions, by default, the file name
and path are limited to MAX_PATH characters. To extend this limit
to 32,767 wide characters, need prepend "\\\\?\\" to the path.
--
v6: kernelbase: Limit the maximum path length for DeleteFile.
kernelbase: Fix DeleteFileA doesn't support long path.
kernelbase: Limit the maximum path length for filesystem.
ntdll: Check if long path aware is enabled.
kernel32/tests: Add tests for maximum path length limitation.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7540
Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com>
find supports /I for case-insensitive search.
In practice, however, find /i also works (tested on WinXP, Win7, and Win10).
--
v2: find: Support switch /i or /I
https://gitlab.winehq.org/wine/wine/-/merge_requests/8005
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v3: windowscodecs/tiff: Skip frames marked with SUBFILETYPE(0x1).
windowscodecs/tests: Add some tests for multi-frame tiffs vs SUBFILETYPE tag.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8006
After `DeviceWatcher::Start()` gets called, `DeviceWatcher` enumerates through a list of all `DeviceInformation` objects on the current system through the `Added` event handlers, dispatching `EnumerationCompleted` once this has finished. This MR implements this functionality.
--
v3: windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
https://gitlab.winehq.org/wine/wine/-/merge_requests/7997
After `DeviceWatcher::Start()` gets called, `DeviceWatcher` enumerates through a list of all `DeviceInformation` objects on the current system through the `Added` event handlers, dispatching `EnumerationCompleted` once this has finished. This MR implements this functionality.
--
v2: windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
windows.devices.enumeration: Implement EnumerationCompleted handler for DeviceWatcher.
windows.devices.enumeration: Implement CreateWatcher.
windows.devices.enumeration: Implement Added handler for DeviceWatcher.
windows.devices.enumeration: Add tests for initial device enumeration in DeviceWatcher.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7997
Making it easier to duplicate and later factor.
--
v2: windows.security.credentials.ui.userconsentverifier: Sync async impl with windows.gaming.input.
windows.devices.enumeration: Sync async impl with windows.gaming.input.
cryptowinrt: Sync async impl with windows.gaming.input.
windows.media.speech: Sync async impl with windows.gaming.input.
windows.gaming.input: Move async impl interfaces to a dedicated IDL.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8009
After `DeviceWatcher::Start()` gets called, `DeviceWatcher` enumerates through a list of all `DeviceInformation` objects on the current system through the `Added` event handlers, dispatching `EnumerationCompleted` once this has finished. This MR implements this functionality.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7997
If we don't use `stream_index`, then the first sample in the response queue is popped and delivered. However, this sample may not be from the stream that is making the sample request.
This fixes audio distortion in River City Girls. The video stream was hitting EOS prior to the audio stream. As a result, the video MFTs were drained and all the resultant samples were placed in the response. Then, when an audio sample was requested and then delivered, the `SOURCE_READER_ASYNC_SAMPLE_READY` operation was triggered which was delivering the first sample in that response queue; which was a video sample rather than the requested audio sample. As a result, the video data was rendered as audio (causing the audio distortion).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7987
Fixes Country Siblings' crash on startup.
`d2d_device_context_draw` doesn't accept `D2D_TARGET_UNKNOWN` because `render_target->target.bitmap->rtv` isn't reliably set when calling `ID3D11DeviceContext1_OMSetRenderTargets`. Therefore, we check for that condition and return early.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58185
--
v4: d2d1: Fix a crash in DrawGlyphRun method family if no target is set.
d2d1: Fix a crash in FillGeometry method family if no target is set.
d2d1: Fix a crash in DrawGeometry method family if no target is set.
d2d1: Fix a crash in DrawBitmap method family if no target is set.
d2d1: Fix a crash in Clear method if no target is set.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7959
This confuses mutter and it manifests with spurious IconicState WM_STATE
change when it decides to try managing the window, but it also makes it
randomly lose focus or even fail to map the window back on screen.
Adding the flag after the window has been created fixes the issue.
--
v4: winex11: Avoid creating windows with override-redirect flag set.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7181
Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com>
find supports /I for case-insensitive search.
In practice, however, find /i also works (tested on WinXP, Win7, and Win10).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8005
Some various bits before tackling the symbols part:
- some speed ups in loading with implementing a cache,
- no longer fail on some managed symbols information in PDB,
- a fix for children request.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8003
--
v2: mshtml: Enumerate all own custom props if requested.
mshtml: Properly fill the window's script vars.
mshtml: Properly fill the window's constructors.
mshtml: Properly fill the constructor's "prototype" prop.
mshtml: Properly fill the prototype's "constructor" prop.
mshtml: Only fill the external props once, unless they are volatile.
mshtml: Fill the props in the host method instead of enumerating next prop.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7986
This speeds up pipeline creation and fixes a timing issue where caps
negotiation is not completed prior to the first buffer being sent.
--
v2: winegstreamer: Allow decodebin to eliminate caps that don't use system memory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7823
--
v3: d3dx9: Don't color key compressed pixel formats on 32-bit d3dx9.
d3dx9: Calculate a range of color key channel values in d3dx_load_pixels_from_pixels() if necessary.
d3dx9: Set all color channels to zero when color keying.
d3dx9/tests: Add some color key tests.
d3dx9: Move code for format conversion of a single pixel into a common helper function.
d3dx9: Make functions for pixel copying/conversion/filtering static.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7711
Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com>
The flag CRYPT_VERIFYCONTEXT | CRYPT_NEWKEYSET is valid in Windows.
Here is the test case: [testCPAcquireContext.cpp](/uploads/c3c4fea3046bb48cb7a284e0b568704e/testCPAcquireContext.cpp)
--
v2: dssenh/tests: Add test for CryptAcquireContextA
https://gitlab.winehq.org/wine/wine/-/merge_requests/7994
For https://gitlab.winehq.org/wine/wine/-/merge_requests/7512 to use it to locate window shared objects.
--
v18: win32u: Use the session shared object for user handle entries.
win32u: Use the session shared object to implement is_window.
server: Move the user object handle table to the shared memory.
server: Allocate a session shared memory header structure.
server: Use NTUSER_OBJ constants for user object types.
include: Implement ReadAcquire64.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7610
Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com>
The flag CRYPT_VERIFYCONTEXT | CRYPT_NEWKEYSET is valid in Windows.
Here is the test case: [testCPAcquireContext.cpp](/uploads/c3c4fea3046bb48cb7a284e0b568704e/testCPAcquireContext.cpp)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7994
Over the past several weeks I've been working on and off on this. I didn't track the hours but I'm sure that I've spent 80+ hours on the feature. I've tested and retested all known scenarios and it seems to be working as expected.
--
v35: cmd: Implement tab completion for command line entry.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7843
On Thu May 8 01:59:54 2025 +0000, Esme Povirk wrote:
> The stack trace suggests it's GdipFlattenPath that's actually broken. We
> wouldn't have been using it before.
Ok, I have tried to look further into it and found `flatten_bezier` is never left because
most input values are "-nan(ind)" for some reason. Avoiding the call to `flatten_bezier`
in this situation makes the program startup successfully. (See the last file I attached to the bug.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7654#note_102838