Commit graph

165199 commits

Author SHA1 Message Date
Zhiyi Zhang 884cff8214 kernelbase: Check if locale is NULL before using it in Internal_EnumDateFormats().
Initialize the calendars variable after checking if locale is NULL before using it to avoid NULL
pointer references. Fix a Excel 2016 crash when formatting dates with the custom format 'ddd'.
It calls EnumDateFormatsExEx() with the 'yi-Hebr' locale, which is added in Win10.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55099
2023-06-30 20:24:42 +02:00
Alistair Leslie-Hughes d8cd320db6 oleaut32: Changed default return value to match prefix default. 2023-06-30 17:39:49 +02:00
Alistair Leslie-Hughes a6415ba85e oleaut32: Fix OaBuildVersion return for available windows versions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54257
2023-06-30 17:39:34 +02:00
Brendan Shanks 0d21363903 winevulkan: Set zero_bits correctly for large address aware applications on Wow64. 2023-06-30 17:36:49 +02:00
Eric Pouech f93d7114c7 dbghelp/tests: Use indirect call for SymSetExtendedOption.
(sigh 1d281c62 was incomplete).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55128
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-30 17:35:48 +02:00
Paul Gofman 9af055170e bcrypt: Pass GNUTLS_VERIFY_ALLOW_BROKEN to gnutls_pubkey_verify_hash2(). 2023-06-30 17:34:53 +02:00
Paul Gofman 650fe1fd78 crypt32: Support CNG keys in CDecodeSignedMsg_VerifySignatureWithKey(). 2023-06-30 17:34:50 +02:00
Paul Gofman 8436f03862 crypt32: Factor out cng_prepare_signature(). 2023-06-30 17:34:50 +02:00
Paul Gofman 6b8cf4dcd3 crypt32: Factor out extract_hash() helper. 2023-06-30 17:34:49 +02:00
Paul Gofman cbfcfc2313 crypt32: Add OID info for szOID_ECC_PUBLIC_KEY. 2023-06-30 17:34:49 +02:00
Paul Gofman 073c23940b crypt32/tests: Test ECC message signature verification. 2023-06-30 17:34:49 +02:00
Paul Gofman e6f7e3a0cb crypt32/tests: Add test for CryptVerifyCertificateSignature() with ECC public key. 2023-06-30 17:34:49 +02:00
Davide Beatrici fdab5056a9 winepulse: Refactor get_device_name_from_guid() to allocate memory dynamically. 2023-06-30 17:33:27 +02:00
Davide Beatrici 8876a7ac04 wineoss: Refactor get_device_name_from_guid() to allocate memory dynamically. 2023-06-30 17:33:27 +02:00
Davide Beatrici ec3929f936 winecoreaudio: Refactor get_device_name_from_guid() to allocate memory dynamically. 2023-06-30 17:33:27 +02:00
Davide Beatrici 5d90ada506 winealsa: Refactor get_device_name_from_guid() to allocate memory dynamically. 2023-06-30 17:33:27 +02:00
Davide Beatrici 32775c875f winepulse: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint. 2023-06-30 17:33:27 +02:00
Davide Beatrici 63874db740 wineoss: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint. 2023-06-30 17:33:27 +02:00
Davide Beatrici 357350e74f winecoreaudio: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint. 2023-06-30 17:33:27 +02:00
Davide Beatrici 2ea43e6f59 winepulse: Move AudioClient's vtable into mmdevapi. 2023-06-30 17:33:25 +02:00
Alistair Leslie-Hughes 3d28f9d362 dmloader: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes cc59b78316 dmime: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes 860c575e7a dswave: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes 90244981e7 dmscript: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes 82c895fec3 dmusic: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes abd3a04221 dmcompos: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes 63d3eb77e0 dmband: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes 5a18153fcd dmstyle: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Alistair Leslie-Hughes b1a69eab12 dmsynth: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Rémi Bernon a0cd5e053b win32u: Update the display cache when virtual desktop mode changes.
We update the cache in NtUserCreateDesktopEx, as it may change existing
thread desktop flags, but we need to do it as well when a new desktop is
created while still detached, then attached to a thread through
NtUserSetThreadDesktop.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55146
2023-06-29 21:28:38 +02:00
Evan Tang 05b2175595 winemac.drv: Fix compile on macOS 10.14.
Fixes: 731f06d97f
2023-06-29 21:06:49 +02:00
Alexandre Julliard 9bdd08579e ntdll/tests: Add some tests for NtQueryVirtualMemory(MemoryImageInformation). 2023-06-29 21:06:49 +02:00
Alex Henrie 3d383c468b regedit: Fix memory leak on error path in RenameKey (scan-build).
parentPath is allocated before parentKey.
2023-06-29 13:57:39 +02:00
Georg Lehmann 267ee07ded winevulkan: Keep deferred operation function params alive.
The Vulkan spec says:
Parameters to the command requesting a deferred operation may be accessed by the implementation at any time until the deferred operation enters the
complete state. Pointer parameters must not be modified (e.g. reallocated/freed).

This fixes a regression in Doom Eternal with ray tracing enabled with drivers
that actually support deferred operations (e.g. nvidia, amdvlk).
2023-06-29 13:57:04 +02:00
Alexandros Frantzis fc8570a1a6 winewayland.drv: Do not commit buffers to unconfigured surfaces.
The xdg-shell protocol disallows buffer commits to a wl_surface with an
xdg_surface based role before we ack the first configure event. Failing
to adhere to this requirement will get our client disconnected by the
compositor with a protocol error.
2023-06-29 13:57:04 +02:00
Alexandros Frantzis 6b0a84c8d9 winewayland.drv: Implement a simple window_surface flush.
Flush a window_surface to a Wayland surface by creating a wl_shm buffer
matching the window size, copying the whole window contents to that
buffer and attaching it to the corresponding Wayland surface.
2023-06-29 13:57:04 +02:00
Alexandros Frantzis d53cb7206d winewayland.drv: Introduce window_surface for Wayland. 2023-06-29 13:57:04 +02:00
Alexandros Frantzis a7ec328fa8 winewayland.drv: Ensure Wayland surface handlers don't access invalid data.
In our setup with a dedicated event dispatch thread, libwayland ensures
that object proxies associated with an event handler remain valid (or
NULL) while the handler is executing. However, no such guarantees are
given for the proxy user data. It is thus possible for the user data to
become invalid (e.g., its memory freed from a different thread) right
after the event handler is entered.

This is an issue for wayland_surface associated proxies since they may
receive unsolicited events from the compositor at any time (e.g.,
xdg_surface.configure), even while we are destroying the
wayland_surface.

To avoid the problem, we introduce a lock that protects access
to xdg_surface user data and ensures that the associated wayland_surface
remains valid for the duration of the handler.

Co-authored-by: Rémi Bernon <rbernon@codeweavers.com>
2023-06-29 13:57:04 +02:00
Alexandros Frantzis 285c47d15d winewayland.drv: Basic Wayland toplevel surface support.
Use the xdg-shell Wayland protocol to create Wayland xdg_surface
xdg_toplevel surfaces for non-child windows.
2023-06-29 13:57:04 +02:00
Alexandros Frantzis 0066379200 winewayland.drv: Introduce per-window driver data.
Create and manage an internal driver data structure for each non-desktop,
non-message window.
2023-06-29 13:57:04 +02:00
Rémi Bernon 6942d7a035 winegstreamer: Move stream length query to BeginCreateObject. 2023-06-29 12:04:46 +02:00
Rémi Bernon 5b1a2014a1 winegstreamer: Move byte stream caps checks to BeginCreateObject. 2023-06-29 12:04:46 +02:00
Rémi Bernon 9258d7abe8 winegstreamer: Pass the object context to media_source_create. 2023-06-29 12:04:46 +02:00
Rémi Bernon cea4c8469d winegstreamer: Use a helper to create object_context. 2023-06-29 12:04:46 +02:00
Rémi Bernon 70daeb5280 winegstreamer: Move struct object_context around. 2023-06-29 12:04:46 +02:00
Zebediah Figura 221f110bbd wined3d: Remove no longer used arguments from wined3d_texture_update_desc().
Limit it to updating user memory and pitch.
2023-06-29 12:04:37 +02:00
Zebediah Figura ebaa0a9426 wined3d: Recreate swapchain textures in wined3d_swapchain_resize_buffers().
Instead of using wined3d_texture_update_desc(). This is safe, because:

* ddraw never exposes wined3d textures directly, and always retrieves them
  directly from wined3d when rendering.

* d3d8 and d3d9 (non-extended) will only resize buffers during a reset, and
  resetting is forbidden if the application holds any references to the
  backbuffers. RTVs are also replaced during a reset, so there is no concern
  about retrieving the old RTVs from the device state.

* d3d9ex allows resetting while holding references to the backbuffers, but tests
  (fixed by this patch) show that the backbuffers should in fact be recreated.

* dxgi forbids holding references to back buffers during ResizeBuffers(),
  including indirect references via command lists or device contexts.
2023-06-29 12:04:35 +02:00
Zebediah Figura 037be380b2 wined3d: Factor out a swapchain_create_texture() helper. 2023-06-29 12:04:35 +02:00
Zebediah Figura 0dc7de15e0 dxgi: Do not create a d3d11 swapchain object for the implicit swapchain.
This swapchain is never actually exposed, and effectively only exists due to
implementation constraints. When it was introduced, it was necessary or simplest
to create a dxgi swapchain object, but currently that's no longer necessary, and
avoiding that allows some code to be simplified.
2023-06-29 12:04:33 +02:00
Rémi Bernon 467201a85b explorer: Fix command-line parameter parsing.
Fixes: 5b11157ecf
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55141
2023-06-29 12:04:07 +02:00