Commit graph

160052 commits

Author SHA1 Message Date
Michael Stefaniuc
b46eef7e2a winegcc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
7029bba31a widl: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
24a7497bab libs/wine: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Michael Stefaniuc
af996344a8 loader: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Michael Stefaniuc
c2d800f1db server: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Michael Stefaniuc
03edb068de kernel32/tests: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Michael Stefaniuc
90b6288f54 riched20/tests: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Michael Stefaniuc
f5c573b199 ntdll: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Nikolay Sivov
e6069c2530 d2d1: Test device context type in BindDC().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-10-25 10:58:18 +02:00
Rémi Bernon
ffbe1e6229 win32u: Write display modes to registry as binary blobs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53484
2022-10-25 10:57:33 +02:00
Joel Holdsworth
65797763b3 ntdll: Add FSCTL_GET_REPARSE_POINT semi-stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39627
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53439
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2022-10-24 21:37:45 +02:00
Joel Holdsworth
ed8161883a ntdll/tests: Add initial tests for reparse points. 2022-10-24 21:37:20 +02:00
Alistair Leslie-Hughes
a67b9e7961 sapi: Add Voice enum tests. 2022-10-24 21:19:44 +02:00
Alistair Leslie-Hughes
c651cf190c sapi: Add default voice registry key. 2022-10-24 21:19:42 +02:00
Alistair Leslie-Hughes
490f8aaae0 sapi: Implement ISpObjectTokenEnumBuilder Next. 2022-10-24 21:19:40 +02:00
Alistair Leslie-Hughes
ca3ffa655d sapi: Implement ISpObjectTokenEnumBuilder Item. 2022-10-24 21:19:39 +02:00
Alistair Leslie-Hughes
ff1c963366 sapi: Store registry key to Enum builder. 2022-10-24 21:19:37 +02:00
Alistair Leslie-Hughes
2e9d351526 sapi: Move token structure before EnumTokens function. 2022-10-24 21:19:34 +02:00
Eric Pouech
5a8350120c conhost/tests: Fix some tests on input sequences.
Correctly handling keyboards (French, German...) which report right-alt
as ctrl+alt in VkKeyScan().

Splitting escape_test input tests into pure virtual keys on one hand,
and modified char key on the other.
Generating the virtual codes for the later instead of hardcoding the
results (bound to generic US keyboard).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52980
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-10-24 18:50:36 +02:00
Eric Pouech
bdad6f2c85 conhost/tests: Fix tests for some keyboard layouts.
Some keyboards (French, German and some others) report the right alt key
(which is some cases the right-shift one) as ctrl+alt.
Add proper handling for ctrl+alt return from VkKeyScan().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52980
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-10-24 18:50:29 +02:00
Bartosz Kosiorek
5b425baf92 msvcrt: Add _ismbstrail_l implementation. 2022-10-24 18:49:50 +02:00
Bartosz Kosiorek
80c97dc38b msvcrt: Add _ismbslead_l implementation. 2022-10-24 18:49:46 +02:00
Bartosz Kosiorek
927a9a5a04 msvcrt: Fix error handling for _mbscmp_l. 2022-10-24 18:49:46 +02:00
Bartosz Kosiorek
eee55c3588 msvcrt: Add _mbclen_l implementation. 2022-10-24 18:49:42 +02:00
Bartosz Kosiorek
beb7f9fa2d msvcrt: Add _mbsicmp_l implementation. 2022-10-24 18:49:38 +02:00
Bartosz Kosiorek
fce3c3cc09 msvcrt: Add _mbschr_l implementation. 2022-10-24 18:49:34 +02:00
Gabriel Ivăncescu
0c0efd3f63 mshtml: Move the IHTMLDocument7 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
070cd2e82a mshtml: Move the IHTMLDocument6 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
3b14acbd7f mshtml: Move the IHTMLDocument5 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
527c2b286d mshtml: Move the IHTMLDocument4 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
833a7a6202 mshtml: Move the IHTMLDocument3 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
eaaae51695 mshtml: Move the IHTMLDocument2 interface out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
0759e86527 mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Gabriel Ivăncescu
c72686aec8 mshtml: Move HTMLDocumentObj implementation to oleobj.c.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-24 18:48:55 +02:00
Martin Storsjö
0cb2798125 win32u: Make sure that the stack buffer in set_multi_value_key is large enough.
This fixes stack overflows since
edecac8afd.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-10-24 18:48:39 +02:00
Ziqing Hui
7486c4061e win32u: Add font links for MS Mincho. 2022-10-24 18:43:13 +02:00
Ziqing Hui
fa411158df win32u: Add font links for Meiryo. 2022-10-24 18:43:13 +02:00
Ziqing Hui
802c122661 win32u: Add font links for Yu Gothic UI. 2022-10-24 18:43:13 +02:00
Alexandre Julliard
25735da0de makedep: Make the extra C flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
815e766d9d makedep: Make the delay load flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
55e2335f64 makedep: Make the debug flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
afc286fb51 makedep: Make the target flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
24d791e2e9 makedep: Pass a generic architecture value instead of the is_cross flag to various helpers. 2022-10-24 16:19:47 +02:00
Paul Gofman
6d9dd6e488 winmm: Use a global timeout for refreshing joystick devices. 2022-10-24 11:18:45 +02:00
Alex Henrie
d6facdc0b8 shell32: Remove unused function strdupW. 2022-10-24 11:18:37 +02:00
Alex Henrie
0a66cfa9a2 shell32: Don't use strdupW or heap_* functions in shelllink.c. 2022-10-24 11:18:37 +02:00
Alex Henrie
e3a74a9178 shell32: Don't use strdupW or heap_* functions in shelldispatch.c. 2022-10-24 11:18:37 +02:00
Alex Henrie
e8aba9c412 shell32: Don't use strdupW or heap_* functions in shellole.c. 2022-10-24 11:18:37 +02:00
Jinoh Kang
72c0c88f2a gdiplus: Replace GpImage's busy flag with SRWLOCK.
Today, the image_unlock() helper function has a data race due to
non-atomic write to GpImage's 'busy' flag which is accessible by other
threads.  Also, it lacks a release fence, which means that other threads
can observe the unlocked (busy = 0) state too early when the current
thread unlocks the image; specifically, the write to the 'busy' field of
the GpImage can be reordered before the last read/write to any other
fields of the same GpImage.

Fix this by replacing the 'busy' field of GpImage with SRWLOCK.
2022-10-24 11:17:39 +02:00
Jinoh Kang
7abca9742a gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
The 'busy' field in GpImage is used as an atomic variable.  The C11
standard (§5.1.2.4, paragraph 25) states that two conflicting actions to
a memory location shall be both atomic operations, or otherwise properly
synchronized; otherwise, it constitutes a data race.

However, select_frame_wic() performs a non-atomic access to the 'busy'
field on a GpImage that is potentially accessible by other threads.
This happens when select_frame_wic() copies new_image to the old image
object.  Although it does attempt to preserve the value of the 'busy'
field by setting new_image->busy = image->busy first, thereby
effectively assigning an identical value to the field, it is unclear
that this does not actually constitute a theoretical, if not practical,
data race.  This also prevents replacing the busy flag with a mutex or
other synchronization primitives.

Therefore, skip the 'busy' field when copying fields from the new image
to the original image object.
2022-10-24 11:17:37 +02:00