Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54037
test_SendMessage_other_thread(2), which is supposed to show that
Windows doesn't use an internal sent message for SetParent, tacks
this onto another more complex test, which introduces a race
condition (see Comment 2 on the bug). I am not sure if it can be
fixed in the existing function, perhaps it can and I just can't
keep track of all the moving parts well enough, but I see no need
to make it so difficult.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4493
Some distros arbitrary flags into clang config files without guarding it for applicable targets, which breaks cross compilation.
--
v2: winegcc: Support --no-default-config argument.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4492
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45123
In `gdiplus/graphicspath.c` calculating the Pythagorean addition is needed, which is defined as:
a ⊕ b = sqrt(a^2+b^2)
This is hypotenuse, or the length of the longest side of a right-angled triangle, that we know the other 2 sides, a and b.
https://en.wikipedia.org/wiki/Pythagorean_addition
By using `sqrt(a * a + b * b)`, for large (or small) `a` or `b`, there is a possibility of overflow (underflow),
although the result itself is not that big (small) to cause overflow (underflow).
To overcome this problem, there are implementations of hypotenuse that do not use power of 2,
and use other methods to calculate the result.
To calculate `a ⊕ b`, you can easily use `hypotf(a,b)`.
https://en.cppreference.com/w/cpp/numeric/math/hypot
--
v4: gdiplus/font: Avoid computation overflow and underflow by using hypotf
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4475
--
v4: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
--
v3: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
include: Fix ID3DXLoadUserData definition.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
--
v2: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
include: Fix ID3DXLoadUserData definition.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
Detecting the host layout languages from their Xkb identifiers, and introducing a new driver interface using the KBDTABLES structure to translate them to Win32.
--
v5: winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Avoid accessing NULL key name string pointer.
win32u: Introduce KbdLayerDescriptor user driver entry.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45123
In `gdiplus/graphicspath.c` calculating the Pythagorean addition is needed, which is defined as:
a ⊕ b = sqrt(a^2+b^2)
This is hypotenuse, or the length of the longest side of a right-angled triangle, that we know the other 2 sides, a and b.
https://en.wikipedia.org/wiki/Pythagorean_addition
By using `sqrt(a * a + b * b)`, for large (or small) `a` or `b`, there is a possibility of overflow (underflow),
although the result itself is not that big (small) to cause overflow (underflow).
To overcome this problem, there are implementations of hypotenuse that do not use power of 2,
and use other methods to calculate the result.
To calculate `a ⊕ b`, you can easily use `hypotf(a,b)`.
https://en.cppreference.com/w/cpp/numeric/math/hypot
--
v2: gdiplus/font: Avoid computation overflow and underflow by using hypotf
https://gitlab.winehq.org/wine/wine/-/merge_requests/4475
Conflicts with !450 but can probably go upstream before it since backend changes here are minimal.
--
v4: vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader: Rename shader_instruction_array_add_icb() to shader_instruction_array_add_opaque_param().
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/491
Currently Making static unixlib when runninng `make install`. Disable building static unixlib for host arch can solve the problem.
Auto generate *.lib in .gitignore
Signed-off-by: Fan WenJie <fanwj(a)mail.ustc.edu.cn>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4487
This program is in GUI subsystem, but expects I/O
with Unix console. This is a Wine specific behavior.
So explicitely use unix fd instead of the inherited
standard handles.
Wine-Bugs: https://bugs.winehq.org/show_bug.cgi?id=55723
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
v5: regedit: Use message boxes by default for output.
regsvr32: Use message boxes by default for output.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4440
Fixes periodic crashes in PowerPoint 365
--
v6: d2d1: Acquire lock before attempt to draw to device context
d2d1: Add test for singlethreaded draw
d2d1: Add test for multithreaded draw
https://gitlab.winehq.org/wine/wine/-/merge_requests/4452
Conflicts with !450 but can probably go upstream before it since backend changes here are minimal.
--
v3: vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader: Rename shader_instruction_array_add_icb() to shader_instruction_array_add_opaque_param().
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
vkd3d-shader/dxil: Introduce a code block terminator struct.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/491
-Wformat is enabled by -Wall on GCC, so skipping -W* flags on external libs is enough to disable it.
On Clang it's enabled by default, so we need to disable it explicitly.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4423
Goes atop !471. The last six commits belong to this MR.
--
v5: vkd3d-shader/dxil: Emit constant global arrays as immediate constant buffers.
vkd3d-shader: Add a register index to struct vkd3d_shader_immediate_constant_buffer.
vkd3d-shader/spirv: Support declared component type and count in immediate constant buffers.
vkd3d-shader/spirv: Support constant initialisers in indexable temps.
vkd3d-shader/dxil: Support null constant arrays.
vkd3d-shader/spirv: Support declared component type and count in indexable temps.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/477
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52128
Signed-off-by: Robert Wilhelm <robert.wilhelm(a)gmx.net>
--
v12: scrrun: Return path not found error if no folders were moved in MoveFolder().
scrrun: return path not found error if source ends with path separator in MoveFolder().
scrrun: Move directories only in MoveFolder().
scrrun: Support wildcards in MoveFolder().
scrrun: Move source dir into destination dir if destination ends with separator in MoveFolder().
scrrun: Check that source is directory in MoveFolder().
scrrun: Check for non-existant source in MoveFolder().
scrrun: Test MoveFolder with already existing destination.
scrrun: Check for null and empty arguments in MoveFolder.
scrrun: Implement MoveFolder().
https://gitlab.winehq.org/wine/wine/-/merge_requests/391
On Fri Nov 24 12:39:42 2023 +0000, Huw Davies wrote:
> I'm also getting this warning on macOS:
> ```
> dlls/nsiproxy.sys/ip.c:1497:13: warning: unused function
> 'ipv6_forward_fill_entry' [-Wunused-function]
> static void ipv6_forward_fill_entry( struct ipv6_route_data *entry,
> struct nsi_ipv6_forward_key *key,
> ^
> ```
> It would be good to fix that too.
I'll see to look into that in the next days. Is it okay to keep that separate, though?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4483#note_53656
I'm also getting this warning on macOS:
```
dlls/nsiproxy.sys/ip.c:1497:13: warning: unused function 'ipv6_forward_fill_entry' [-Wunused-function]
static void ipv6_forward_fill_entry( struct ipv6_route_data *entry, struct nsi_ipv6_forward_key *key,
^
```
It would be good to fix that too.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4483#note_53652
Otherwise the first rule wins and bison / bison -d output differs and
causes reproducibility issues as during parallel either .h or .c rule
could be called first.
Reported-By: Bernhard Wiedemann <bwiedemann(a)suse.de>
Signed-off-by: Marcus Meissner <marcus(a)jet.franken.de>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4035
I probably need to revise this but there are a few design decisions which may invite comment.
--
v2: vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader: Rename shader_instruction_array_add_icb() to shader_instruction_array_add_opaque_param().
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/491
Along with !4450, this fixes WMV videos in microkiri (https://bugs.winehq.org/show_bug.cgi?id=9127#c102) and Wagamama High Spec Trial Edition (https://wagahigh.com/download_trial.php#normal ; ダウンロード means download).
--
v5: wmvcore/tests: Add tests for compressed output.
winegstreamer: Implement compressed output support in WMSyncReader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown and wg_parser.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Add codec_data to WMVs.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4449
Since we don't have the bridge anymore, and as I understand it's not coming back (?), it's becoming very easy to miss windows tests regressions. This should at least make sure we get some direct visibility of tests running on Win10.
--
v3: gitlab: Only run the modifieds tests on Windows for an MR.
gitlab: Add windows tests to MR pipeline.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4362
--
v4: dmsynth: Use time instead of position to order events.
dmsynth: Preserve event order when positions are equal.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmime/tests: Test output tool note requeueing.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime: Correctly requeue messages with changed time.
dmime: Always queue messages with non-immediate delivery type.
dmime: Don't queue messages with immediate delivery type.
dmime: Factor out timeout computation.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4438
Since we don't have the bridge anymore, and as I understand it's not coming back (?), it's becoming very easy to miss windows tests regressions. This should at least make sure we get some direct visibility of tests running on Win10.
--
v2: gitlab: Only run the modifieds tests on Windows for an MR.
gitlab: Add windows tests to MR pipeline.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4362
Along with !4450, this fixes WMV videos in microkiri (https://bugs.winehq.org/show_bug.cgi?id=9127#c102) and Wagamama High Spec Trial Edition (https://wagahigh.com/download_trial.php#normal ; ダウンロード means download).
--
v3: wmvcore/tests: Add tests for compressed output.
winegstreamer: Implement compressed output support in WMSyncReader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown and wg_parser.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Add wg_format_from_caps_audio_wma function.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4449
Detecting the host layout languages from their Xkb identifiers, and introducing a new driver interface using the KBDTABLES structure to translate them to Win32.
--
v4: winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Avoid accessing NULL key name string pointer.
win32u: Introduce KbdLayerDescriptor user driver entry.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455
--
v3: dmsynth: Use time instead of position to order events.
dmsynth: Preserve event order when positions are equal.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4438
This stubs the following classes, returning Windows version and locale, or dummy data:
* Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation
* Windows.Globalization.GeographicRegion
* Windows.System.UserProfile.AdvertisingManager
* Windows.System.Profile.AnalyticsInfo
Needed by Halo Infinite and Summoners War: Chronicles.
--
v2: twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
include: Use nested namespaces in windows.system.userprofile.idl.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
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/wine/-/merge_requests/4481
This program is in GUI subsystem, but expects I/O
with Unix console. This is a Wine specific behavior.
So explicitely use unix fd instead of the inherited
standard handles.
Wine-Bugs: https://bugs.winehq.org/show_bug.cgi?id=55723
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
v4: regedit: Use message boxes by default for output.
regsvr32: Use message boxes by default for output.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4440
This stubs the following classes, returning Windows version and locale, or dummy data:
* Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation
* Windows.Globalization.GeographicRegion
* Windows.System.UserProfile.AdvertisingManager
* Windows.System.Profile.AnalyticsInfo
Needed by Halo Infinite and Summoners War: Chronicles.
--
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/wine/-/merge_requests/4481
Supersedes !482.
Instead of only storing the value that each variable's component has at
the moment of the instruction currently handled by copy-prop, we store
the trace of all the historic values with their timestamps, i.e. the
instruction index on which the value was stored.
This allow us to query the value that the variable's component had at the time of a swizzle's load instead of the swizzle instead, which also preempts copy-prop from getting stuck in an infinite loop, as which the added tests.
--
v3: vkd3d-shader/hlsl: Use values at the time of the swizzle's load in copy-propagation.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/487
---
I don't see a method to wait for a fence, at least not without having a
command queue. A suggestion I found online goes along the lines of:
if (fence->GetCompletedValue != expected)
{
HANDLE ev = CreateEvent(...);
fence->SetEventOnCompletion(expected, ev);
WaitForSingleObject(ev, INFINITE);
CloseHandle(ev);
}
Which I could write, but would be untested dead code as long as the
other method is a stub. So busy waiting and writing one fixme every time
we busy wait seems like a better choice for now.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/488
Detecting the host layout languages from their Xkb identifiers, and introducing a new driver interface using the KBDTABLES structure to translate them to Win32.
--
v3: winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Avoid accessing NULL key name string pointer.
win32u: Introduce KbdLayerDescriptor user driver entry.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455
Fixes periodic crashes in PowerPoint 365
--
v3: d2d1: Acquire lock before attempt to draw to device context
d2d1: Add test for singlethreaded draw
d2d1: Add test for multithreaded draw
https://gitlab.winehq.org/wine/wine/-/merge_requests/4452
CW bug 22597
--
v2: d2d1: Optimise acquisition of the lock
d2d1: Acquire lock before attempt to draw to device context
d2d1: Add test for singlethreaded draw
d2d1: Add test for multithreaded draw
https://gitlab.winehq.org/wine/wine/-/merge_requests/4452
Based on @rbernon's work in !1088, with additional ARM support and
some cleanups.
--
v2: ntdll: Remove the signal_exit_thread wrapper.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on x86-64.
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/wine/-/merge_requests/4445