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