I was able to replicate the issue seen in [Bug 58113](https://bugs.winehq.org/show_bug.cgi?id=58113) on my M1.
The issue stems from the usage of AudioDevicePropertyVolumeScalar, which the audio driver for the M1 does not support (at least so it appears.) Using AudioObjectIsPropertySettable allows for fast checking for this situation, including preemptively disabling main channel audio if it appears to be unsupported.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7920
This change allows building with compiler exception support enabled (`-DUSE_COMPILER_EXCEPTIONS`) on non-i386 targets.
On i386, `_except_handler3` needs to be available. While we provide it as an import from the msvcrt DLLs, that's not sufficient for modules like
kernel32. Making this work would likely require moving `_except_handler3` to `winecrt0`.
In practice, this fixes the build with Clang, although the resulting binaries do not appear to be fully correct yet. Further investigation is needed, likely on the LLVM side.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8067
Application using Delphi runtime with Virtual-TreeView module, like xEdit, pass a NULL IDropSource to SHDoDragDrop, prevnting the drag and drop to works at all, when used in Windos Vista and above compatiblity mode, while windows xp compatibility mode works (as it use a dfferent system). Documentation stated that Windows Vista and above will create an internal IDropSource in this case.
Creating a dummy IDropSource with minimal functionality allow the drag and drop to works using the default cursor. In case of xEdit it won't show the cell that it's being dragged like on windows, a functionality that require a full implementation of IDropSource::GiveFeedback and DragSourceHelper2::InitializeFromBitmap.
Solve the functional part of #54923
I'm unsure on how to write tests for this.
--
v3: shell32: Create an internal IDropSource in SHDoDragDrop if it wasn't passed by the caller
https://gitlab.winehq.org/wine/wine/-/merge_requests/8063
Application using Delphi runtime with Virtual-TreeView module, like xEdit, pass a NULL IDropSource to SHDoDragDrop, prevnting the drag and drop to works at all, when used in Windos Vista and above compatiblity mode, while windows xp compatibility mode works (as it use a dfferent system). Documentation stated that Windows Vista and above will create an internal IDropSource in this case.
Creating a dummy IDropSource with minimal functionality allow the drag and drop to works using the default cursor. In case of xEdit it won't show the cell that it's being dragged like on windows, a functionality that require a full implementation of IDropSource::GiveFeedback and DragSourceHelper2::InitializeFromBitmap.
Solve the functional part of #54923
I'm unsure on how to write tests for this.
--
v2: shell32: Create an internal IDropSource in SHDoDragDrop if it wasn't passed by the caller
https://gitlab.winehq.org/wine/wine/-/merge_requests/8063
Application using Delphi runtime with Virtual-TreeView module, like xEdit, pass a NULL IDropSource to SHDoDragDrop, prevnting the drag and drop to works at all, when used in Windos Vista and above compatiblity mode, while windows xp compatibility mode works (as it use a dfferent system). Documentation stated that Windows Vista and above will create an internal IDropSource in this case.
Creating a dummy IDropSource with minimal functionality allow the drag and drop to works using the default cursor. In case of xEdit it won't show the cell that it's being dragged like on windows, a functionality that require a full implementation of IDropSource::GiveFeedback and DragSourceHelper2::InitializeFromBitmap.
Solve the functional part of #54923
I'm unsure on how to write tests for this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8063