1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

Compare commits

...

7708 commits

Author SHA1 Message Date
Alexandre Julliard
4f8958eb56 widl: Use the correct type for non-encapsulated union discriminants. 2024-04-02 23:30:10 +02:00
Alexandre Julliard
66bec19434 widl: Output more correct /robust flags. 2024-04-02 23:30:10 +02:00
Alexandre Julliard
4d8ee6bb18 widl: Add /robust flags in correlation descriptors. 2024-04-02 23:30:10 +02:00
Alexandre Julliard
896b4f05ea widl: Always use new-style format strings in interpreted mode. 2024-04-02 23:30:03 +02:00
Louis Lenders
7cd0f395ca wbemprox: Add property 'Status' to Win32_BIOS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56361
2024-04-02 12:17:26 +02:00
Nikolay Sivov
f38a32e64c d2d1/tests: Add a test for a custom effect using a pixel shader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-01 20:23:14 +02:00
Nikolay Sivov
51b675ef7f d2d1/effect: Use a helper internally instead of IsShaderLoaded().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-01 20:23:13 +02:00
Nikolay Sivov
43ce2bf5da d2d1/effect: Use effect property types identifier directly in initializers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-01 20:23:11 +02:00
Jacek Caban
aa2aa2033c ntdll: Use __ASM_GLOBAL_IMPORT for RtlUnwind.
Avoids importing locally defined symbols on ARM and ARM64, where we call it from winecrt0.
2024-04-01 20:22:52 +02:00
Rémi Bernon
593dcb1b5c mf/session: Avoid leaking samples in transform_node_deliver_samples. 2024-04-01 20:22:46 +02:00
Alexandre Julliard
43fb0ecd07 msi/tests: Delete the temp .msi file in all failure cases. 2024-04-01 09:12:07 +02:00
Eric Pouech
7f60584a90 cmd: Fix substring expansion for 'magic' variables.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56498
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-04-01 09:08:56 +02:00
Eric Pouech
b868d82391 cmd: Add test for substring handling in 'magic' variable expansion.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-04-01 09:08:49 +02:00
Aurimas Fišeras
29c0826e6d po: Update Lithuanian translation. 2024-04-01 09:07:57 +02:00
Dmitry Timoshkov
8568848ba8 windowscodecs: Silence fixme for IID_CMetaBitmapRenderTarget.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-29 22:45:36 +01:00
Nikolay Sivov
87ebccc37d d2d1/tests: Get rid of test shader blobs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-29 22:45:36 +01:00
Louis Lenders
5a8bb41cad wmic: Support interactive mode and piped commands.
Make piped commands work like for example "echo os get version|wmic"
or "type file.txt | wmic" where file.txt contains some commands.
Also support interactive mode.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56361
2024-03-29 22:45:36 +01:00
Zebediah Figura
c9b72d2d2f wined3d: Remove the OffscreenRenderingMode setting.
FBOs are required now.
2024-03-29 22:45:36 +01:00
Zebediah Figura
437eb42ad2 wined3d: Require EXT_framebuffer_object. 2024-03-29 22:45:36 +01:00
Zebediah Figura
b9d2885148 wined3d: Use dynamic state for patch vertex count if possible. 2024-03-29 22:45:36 +01:00
Zebediah Figura
6f6ef6cd04 wined3d: Use dynamic state for primitive type if possible. 2024-03-29 22:45:36 +01:00
Zebediah Figura
48d68e0c50 wined3d: Enable EXT_extended_dynamic_state2. 2024-03-29 22:45:36 +01:00
Alexandre Julliard
8bac669056 rpcrt4: Make sure that the stack is set when catching an exception.
Fixes a test crash in interpreted mode.
2024-03-29 22:45:34 +01:00
Alexandre Julliard
2d801c46c7 rpcrt4: Return the correct failure for a NULL binding handle.
Fixes a test crash in interpreted mode.
2024-03-29 22:45:14 +01:00
Paul Gofman
a2c20d0e93 avifil32: Update lCurrentFrame in IGetFrame_fnGetFrame(). 2024-03-28 20:00:13 +01:00
Brendan Shanks
6ea3bc56ec server: Clarify that registry files are always in the current directory, and simplify save_branch(). 2024-03-28 19:57:01 +01:00
Brendan Shanks
9b4e3718ed server: Replace sprintf with snprintf to avoid deprecation warnings on macOS. 2024-03-28 19:51:35 +01:00
Brendan Shanks
4e04b2d528 server: Replace some malloc/sprintf/strcpy calls with asprintf. 2024-03-28 19:51:35 +01:00
Rémi Bernon
d7cf25dcd4 winegstreamer: Fallback to input caps only when no parser was found. 2024-03-28 19:50:00 +01:00
Rémi Bernon
3668a46675 winegstreamer: Create the transform parsed caps from wg_format. 2024-03-28 19:50:00 +01:00
Nikolay Sivov
850660ada0 d3d10/tests: Add a test for effect compilation containing empty buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-28 19:49:37 +01:00
Nikolay Sivov
36a4e5c9bb d3d10: Use older compiler for D3D10CompileEffectFromMemory().
Compilation output from D3D10CompileEffectFromMemory() always
contains $Globals buffer, even if it's empty. That matches
behaviour of 33-39 compilers.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-28 19:49:35 +01:00
Rémi Bernon
69b049d1b6 winevulkan: Remove now unnecessary vkDestroyInstance driver entry. 2024-03-28 19:48:52 +01:00
Rémi Bernon
a875c18552 winevulkan: Remove now unnecessary vkCreateInstance driver entry. 2024-03-28 19:48:49 +01:00
Rémi Bernon
c7da2450c9 winevulkan: Introduce a new get_host_surface_extension driver entry. 2024-03-28 19:48:48 +01:00
Rémi Bernon
5db24dbb32 winevulkan: Remove now unnecessary vkEnumerateInstanceExtensionProperties driver entry. 2024-03-28 19:48:46 +01:00
Rémi Bernon
e4e0ce2bc6 winevulkan: Strip surface extensions in vkEnumerateInstanceExtensionProperties. 2024-03-28 19:48:42 +01:00
Paul Gofman
1194995050 ddraw: Don't demand WINED3D_BIND_SHADER_RESOURCE for making surface in vidmem. 2024-03-28 19:48:08 +01:00
Rémi Bernon
c635a25f21 win32u: Rename struct adapter to struct source.
To match the D3DKMT terminology and avoid confusion between the GPUs,
which are called adapter there.
2024-03-28 19:47:38 +01:00
Rémi Bernon
fecfb44240 win32u: Use named adapters instead of struct gdi_adapter. 2024-03-28 19:47:38 +01:00
Rémi Bernon
00a0c97879 win32u: Use a symlink for the logically indexed adapter config key.
Linking it to what will be a physically identified adapter config key.
2024-03-28 19:47:34 +01:00
Rémi Bernon
c6e328c2d0 win32u: Split writing adapter to registry to a separate helper. 2024-03-28 19:47:34 +01:00
Piotr Caban
2546468b4c gdi32: Implicitly call StartPage in ExtEscape on printer DC. 2024-03-28 19:47:27 +01:00
Alexandre Julliard
dd68561c4a widl: Fix method number for call_as functions. 2024-03-28 15:44:46 +01:00
Alexandre Julliard
53bb4117ac widl: Don't output the explicit handle argument. 2024-03-28 14:30:47 +01:00
Alexandre Julliard
7ff6c6316e widl: Merge interpreted stubs header and parameters output into a single function. 2024-03-28 14:30:42 +01:00
Alistair Leslie-Hughes
e01cb2b915 ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2024-03-27 22:44:57 +01:00
Alistair Leslie-Hughes
351d36b0da fltmgr.sys: Create import library.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2024-03-27 22:44:57 +01:00
Alistair Leslie-Hughes
ac49899e32 fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2024-03-27 22:44:57 +01:00
Aida Jonikienė
f2f453c454 sapi: Only print GetStatus() FIXME once.
The Speedtest app calls this function excessively.
2024-03-27 22:38:26 +01:00
Brendan Shanks
617b29c402 server: Simplify creation of the server directory. 2024-03-27 22:19:25 +01:00
Brendan Shanks
abcbd85b7c ntdll: Simplify creation of the server directory. 2024-03-27 22:19:24 +01:00
Brendan Shanks
d86627a27a mmdevapi: Make IMMDeviceCollection immutable after creation. 2024-03-27 22:19:24 +01:00
Aida Jonikienė
7a529fc94f wbemprox: Stub most of the Win32_VideoController properties.
Tomato Jones II queries most of these properties and errors out
if any of them aren't found.
2024-03-27 22:19:24 +01:00
Esme Povirk
60059bf744 user32/tests: Revert test updates for win11. 2024-03-27 22:19:24 +01:00
Rémi Bernon
8f58b9e1e1 winegstreamer: Set GST_DEBUG if not set, based on WINEDEBUG channels. 2024-03-27 22:19:24 +01:00
Alexandre Julliard
35cb600c43 idl: Use IPSFactoryBuffer instead of a non-existent IFactoryBuffer.
Caught by midl.
2024-03-27 22:19:24 +01:00
Alexandre Julliard
5e1da85068 include: Fix a parameter type in the IEnumTfUIElements interface.
Caught by midl.
2024-03-27 22:08:56 +01:00
Alexandre Julliard
69849bd2ee widl: Don't skip a pointer level for pointers to pointers to strings. 2024-03-27 11:26:10 +01:00
Rémi Bernon
4573910acc win32u: Move D3DKMT vulkan implementation out of winex11. 2024-03-26 22:46:05 +01:00
Rémi Bernon
dc9229e6fa winex11: Introduce a new find_adapter_from_handle helper. 2024-03-26 22:45:20 +01:00
Rémi Bernon
3686a04cdd winex11: Introduce a new get_vulkan_physical_device helper. 2024-03-26 22:45:18 +01:00
Rémi Bernon
3f5d18b3b6 winex11: Initialize D3DKMT vulkan instance only once.
Creating an instance is an expensive operation and we should avoid
constantly re-creating one when opening then closing a D3DKMT adapter.
2024-03-26 22:44:31 +01:00
Rémi Bernon
eb38f7418a win32u: Open adapters in NtGdiDdDDIEnumAdapters2 outside of the display devices lock. 2024-03-26 22:44:31 +01:00
Alexandre Julliard
47e4907c0d wshom.ocx: Don't show a message box on ShellExecute error. 2024-03-26 22:26:51 +01:00
Paul Gofman
568e90ad11 win32u: Avoid leaking previous buffer in get_buffer_space(). 2024-03-26 22:26:51 +01:00
Paul Gofman
054a95a817 win32u: Avoid writing past allocated memory in peek_message(). 2024-03-26 22:26:51 +01:00
Paul Gofman
8b7ac24752 ddraw/tests: Add tests for multiple devices. 2024-03-26 22:26:51 +01:00
Paul Gofman
9d95bd5f4b ddraw: Support multiple devices per ddraw object. 2024-03-26 22:26:51 +01:00
Paul Gofman
6fe8e64c1a ddraw: Sync wined3d render target in d3d_device_sync_rendertarget(). 2024-03-26 22:26:51 +01:00
Paul Gofman
aa8487a4b3 ddraw: Store wined3d state in d3d_device. 2024-03-26 22:26:51 +01:00
Paul Gofman
9492a10f44 wined3d: Factor out wined3d_texture_set_lod() function. 2024-03-26 22:26:51 +01:00
Paul Gofman
2e088045b5 ddraw: Don't apply state in ddraw_surface_blt(). 2024-03-26 22:26:51 +01:00
Paul Gofman
4e81f66127 ddraw: Store matrix handle in the global table. 2024-03-26 22:26:51 +01:00
Paul Gofman
5a7ff3b45c ddraw: Store surface handles in the global table. 2024-03-26 22:26:51 +01:00
Paul Gofman
b9eb9a7453 ddraw: Store material handles in the global table. 2024-03-26 22:26:51 +01:00
Paul Gofman
2799c95dd2 wintypes: Report some API contracts as present in api_information_statics_IsApiContractPresentByMajor(). 2024-03-26 22:26:51 +01:00
Hans Leidekker
ce2ae79f9d bcrypt: Add support for RSA OAEP padding.
Needs GnuTLS 3.8.4.
2024-03-26 22:26:51 +01:00
Eric Pouech
1304bf7fb9 evr: Fix YUY2 image copy in evr_copy_sample_buffer().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-26 22:26:51 +01:00
Eric Pouech
d950e1b61f evr: Remove useless code.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-26 22:26:51 +01:00
Tuomas Räsänen
ef58b8c770 winebus: Ignore udev events of devices which do not have devnodes.
Udev monitor monitors the whole input subsystem, but not all devices
in the input subsystem have devnodes associated to them.

This commit makes the event processing ignore such devices.

All device handling assumes devices have devnodes, so here we just
simply ignore all devices which do not have one.

Previously, udev bus thread aborted when an event for a device without
a devnode was processed:

  10111.330:0068:0084:trace:hid:process_monitor_event Received action "remove" for udev device (null)
  10111.330:0068:0084:warn:hid:bus_main_thread L"UDEV" bus wait returned status 0xc0000005

Just plugging in and out a normal mouse was enough cause this.

This was because root input devices (which do not have devnodes) were
handled too and find_device_from_devnode() choked on NULL argument.
2024-03-26 22:26:51 +01:00
Zebediah Figura
37d71415ed wined3d: Skip bindless samplers with no uniform location.
This can happen legitimately if the sampler access was optimized out.
2024-03-26 22:26:51 +01:00
Zebediah Figura
58c680bace wined3d: Recreate buffer textures when renaming the existing buffer storage.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56438
2024-03-26 22:26:51 +01:00
Zebediah Figura
4e13c72f70 d3d11/tests: Test discarding a buffer in test_high_resource_count(). 2024-03-26 22:26:50 +01:00
Paul Gofman
ddff863355 windows.perception.stub: Add stub IHolographicSpaceInterop interface. 2024-03-26 18:22:24 +01:00
Paul Gofman
bb47eb9f72 ntdll/tests: Add more tests for xstate. 2024-03-26 18:21:06 +01:00
Paul Gofman
29c73ee173 ntdll: Support more xstate features. 2024-03-26 18:20:56 +01:00
Paul Gofman
3dea242677 ntdll: Mind generic xstate masks in server context conversion. 2024-03-26 18:20:56 +01:00
Paul Gofman
a9d77d0989 ntdll: Factor out context_to_server() function. 2024-03-26 18:20:56 +01:00
Paul Gofman
25e0a25807 ntdll: Factor out xstate_from_server() function. 2024-03-26 18:20:56 +01:00
Paul Gofman
6bc2c09232 ntdll: Support generic xstate in Unix-side manipulation functions. 2024-03-26 18:20:55 +01:00
Paul Gofman
a10da8a42a ntdll: Preserve untouched parts of xstate in NtSetContextThread(). 2024-03-26 18:20:55 +01:00
Paul Gofman
7ae23ad775 ntdll: Only save AVX xstate in wine_syscall_dispatcher. 2024-03-26 18:20:53 +01:00
Alexandre Julliard
cf08bbaa0f ntdll: Use a common wrapper to call unwind handlers on x86-64. 2024-03-25 18:05:39 +01:00
Alexandre Julliard
24e9fcac08 ntdll: Use a common wrapper to call exception handlers on x86-64. 2024-03-25 18:05:25 +01:00
Alexandre Julliard
47f94fcf5f ntdll: Copy the context contents instead of the pointer on collided unwind.
Similar to how it's done on ARM platforms.
2024-03-25 18:04:56 +01:00
Nikolay Sivov
8dec8cc96c gdi32/emf: Zero-initialize handles array (Valgrind).
It's checked in emr_reset(), and reallocation already zero-initializes new slots.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-25 18:04:09 +01:00
Zhiyi Zhang
de89f77727 mfmediaengine/tests: Test IMFMediaEngineEx::SetCurrentTime/Ex(). 2024-03-25 18:04:01 +01:00
Zhiyi Zhang
283d4bab22 mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTimeEx(). 2024-03-25 18:04:01 +01:00
Zhiyi Zhang
2bcc87b303 mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTime(). 2024-03-25 18:04:01 +01:00
Rémi Bernon
b1cca5b52a evr/mixer: Respect input media type MF_MT_GEOMETRIC_APERTURE. 2024-03-25 18:03:43 +01:00
Rémi Bernon
d304e58789 evr/tests: Add more video mixer input media type aperture tests. 2024-03-25 18:03:43 +01:00
Rémi Bernon
c5f0039223 evr/tests: Split check_presenter_output to a separate helper. 2024-03-25 18:03:43 +01:00
Rémi Bernon
1f589f6304 evr/tests: Split create_d3d_sample to a separate helper. 2024-03-25 18:03:43 +01:00
Rémi Bernon
da2c20a2e6 mf/tests: Check that pan scan and geometric apertures are set. 2024-03-25 18:03:43 +01:00
Santino Mazza
624e87a725 crypt32: Fix CryptBinaryToString not adding a separator. 2024-03-25 18:03:37 +01:00
Nikolay Sivov
df97793045 d2d1: Fix a double free on error path (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-25 12:57:04 +01:00
Nikolay Sivov
967f3a5074 dwrite/shape: Fully initialize shaping context when getting glyph positions (Valgrind).
Actual issue is uninitialized has_gpos_attachment flag, it might be harmless in practice
but it's better to avoid.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-25 12:56:52 +01:00
Rémi Bernon
5ce5dc1f1e configure: Quote ac_cv_lib_soname_MoltenVK when setting SONAME_LIBVULKAN. 2024-03-25 12:56:52 +01:00
Alexandre Julliard
7c5b9304a6 Release 9.5. 2024-03-22 22:28:01 +01:00
Esme Povirk
81e8513ef2 user32/tests: Further updates for win11 TrackPopupMenu failures. 2024-03-22 21:50:46 +01:00
Paul Gofman
2745228b14 ntdll: Don't use debug info presence to detect critical section global status. 2024-03-22 21:50:46 +01:00
Nikolay Sivov
e1606d698f include: Remove XMLSchemaCache60 from msxml2.idl.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-22 21:00:22 +01:00
Nikolay Sivov
19b7f33a6e msxml/tests: Move version-specific schema tests to corresponding modules.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-22 21:00:22 +01:00
Nikolay Sivov
91f3d8b0be msxml/tests: Move some of the validation tests to their modules.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-22 21:00:21 +01:00
Jinoh Kang
0b0259c476 gitlab: Output collapsible section markers in test stage script. 2024-03-22 17:09:26 +01:00
Rémi Bernon
26876b4a6e mfplat: Append MFVIDEOFORMAT user data after the structure padding.
Instead of using the last palette entry, which might be misaligned.
2024-03-22 17:05:40 +01:00
Rémi Bernon
c11f9a8bc9 win32u: Move vkGet(Device|Instance)ProcAddr helpers inline. 2024-03-22 17:05:31 +01:00
Rémi Bernon
a75dde2c1f winevulkan: Stop generating the wine/vulkan_driver.h header. 2024-03-22 17:05:31 +01:00
Rémi Bernon
9ee2adba14 win32u: Move vkGet(Instance|Device)ProcAddr out the drivers. 2024-03-22 17:05:31 +01:00
Rémi Bernon
28873ce8c4 win32u: Move vulkan loading and init guard out of the drivers. 2024-03-22 17:05:31 +01:00
Rémi Bernon
1ddaa1d385 winemac: Use SONAME_LIBVULKAN as an alias for MoltenVK. 2024-03-22 17:05:31 +01:00
Rémi Bernon
737e4411d9 user32/tests: Add some LoadKeyboardLayoutEx tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28170
2024-03-22 17:02:32 +01:00
Rémi Bernon
be62646098 user32/tests: Add missing winetest_pop_context. 2024-03-22 17:02:32 +01:00
Vijay Kiran Kamuju
a71223eed9 user32: Add LoadKeyboardLayoutEx stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28170
2024-03-22 17:02:31 +01:00
Alexandre Julliard
84d5614b11 server: Add a helper to trace uint64 arrays. 2024-03-22 16:54:09 +01:00
Alexandre Julliard
117fefa274 wow64: Use setjmp/longjmp from ntdll. 2024-03-22 13:09:57 +01:00
Alexandre Julliard
567b31d7f3 wow64cpu: Save non-volatile registers before switching to 32-bit code.
To make it possible to unwind the stack.
2024-03-22 13:06:40 +01:00
Alexandre Julliard
d91f16a24a wow64: Use a .seh handler for system calls. 2024-03-22 13:05:25 +01:00
Rémi Bernon
b053e924e8 server: Process internal messages when checking queue status. 2024-03-21 22:19:58 +01:00
Rémi Bernon
a84517418e server: Check for internal hardware messages before others. 2024-03-21 22:19:58 +01:00
Rémi Bernon
8405fe85d4 win32u: Use a structure to pass peek_message arguments. 2024-03-21 22:19:58 +01:00
Rémi Bernon
994021da99 server: Send WM_WINE_SETCURSOR message only when necessary. 2024-03-21 22:19:58 +01:00
Rémi Bernon
1604d8a202 server: Send WM_WINE_CLIPCURSOR message only when necessary. 2024-03-21 22:19:58 +01:00
Rémi Bernon
f1dca8914c winex11: Accept key and mouse events with QS_RAWINPUT. 2024-03-21 22:19:58 +01:00
David Heidelberg
5d8e8804d4 mailmap: Add a mailmap entry for myself with the proper name.
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-03-21 22:19:58 +01:00
David Heidelberg
a63af560dd d3d9/tests: Replace LPDWORD cast with float_to_int function.
Borrowed from dlls/wined3d/wined3d_private.h

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-03-21 22:19:58 +01:00
Pavel Ondračka
d0e37372cf d3d9/tests: Define enums outside of struct.
Co-authored-by: David Heidelberg <david@ixit.cz>
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-03-21 22:19:58 +01:00
Zebediah Figura
c38df594f5 wined3d: Avoid leaking string buffers in shader_glsl_load_bindless_samplers().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56445
2024-03-21 22:19:58 +01:00
Jacek Caban
3b12583db0 widl: Always close parsed input file.
Fixes a regression from 9d537999e3, which removed closing the file.
This causes Windows widl build to be to remove the temporary file on exit.
2024-03-21 22:19:58 +01:00
Akihiro Sagawa
6ce8a31b0b dsound: Initialize MTA in IDirectSound::Initialize().
RE:D Cherish! (Trial ver) depends on this behavior.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53613
2024-03-21 22:19:58 +01:00
Akihiro Sagawa
67153fa0c3 dsound/tests: Add tests for implicit MTA creation in IDirectSound::Initialize().
On recent Windows, at least Windows 7, a multithread apartment (MTA) is
initialized within IDirectSound::Initialize().
2024-03-21 22:19:58 +01:00
Jinoh Kang
4b0b489f6f kernelbase: Open object with DELETE access for NtMakeTemporaryObject().
Fixes: a4ef56e1d9
2024-03-21 22:19:58 +01:00
Eric Pouech
a7ad588ec5 winedbg: Don't reload a minidump for a different machine.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-21 22:19:58 +01:00
Eric Pouech
70d11a59c6 winedbg: Update the CPU information displayed when reloading a minidump.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-21 22:19:58 +01:00
Eric Pouech
97e584b695 winedbg: Flush expr buffer upon internal exception.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-21 22:19:58 +01:00
Eric Pouech
2e46d81c64 winedbg: Extend 'attach' command to load minidump files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-21 22:19:58 +01:00
Eric Pouech
8a65cdd13d winedbg: Add ability to set executable name.
Either from command line option, or as a command.
Mostly handy for scripting.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-21 22:19:58 +01:00
Rémi Bernon
5d91ab65fa server: Avoid removing thread twice from its desktop thread list. 2024-03-21 22:19:58 +01:00
Piotr Caban
b13477deb4 advapi32/tests: Remove all files created by RegLoadAppKey tests. 2024-03-21 22:19:58 +01:00
Piotr Caban
cc62cdc1fd advapi32/tests: Test if modifications are saved in RegUnLoadKey. 2024-03-21 22:19:58 +01:00
Piotr Caban
98bd248778 advapi32/tests: Remove all files created by RegLoadKey tests. 2024-03-21 22:19:58 +01:00
Piotr Caban
cdc842f60d advapi32/tests: Merge RegLoadKey and RegUnLoadKey tests. 2024-03-21 22:19:58 +01:00
Piotr Caban
d7aaf51459 winedump: Fix REG_DWORD dumping with no data. 2024-03-21 22:19:58 +01:00
Alexandre Julliard
753875e80b wow64: Access the BTCpuSimulate backend function pointer directly. 2024-03-21 22:19:58 +01:00
Alexandre Julliard
d09501691e wow64: Always use a .seh handler in cpu_simulate(). 2024-03-21 22:19:58 +01:00
Alexandre Julliard
d2c0efe163 wow64: Use a .seh handler in raise_exception(). 2024-03-21 22:19:58 +01:00
Alexandre Julliard
e317eafe8f configure: Don't build wow64 support in non-PE builds. 2024-03-21 22:19:58 +01:00
Rémi Bernon
f67b4f6bf4 ntoskrnl.exe: Open symbolic link with DELETE before making them temporary. 2024-03-21 22:19:58 +01:00
Rémi Bernon
552cec9477 mfplat/mediatype: Use MFCreateWaveFormatExFromMFMediaType in init_am_media_type_audio_format. 2024-03-21 22:19:58 +01:00
Rémi Bernon
1e053810f3 mfplat/mediatype: Implement MFCreateMediaTypeFromRepresentation. 2024-03-21 22:19:57 +01:00
Rémi Bernon
a4fb357c89 mfplat/mediatype: Force WAVEFORMATEXTENSIBLE in MFCreateWaveFormatExFromMFMediaType in some cases. 2024-03-21 22:19:57 +01:00
Rémi Bernon
689868cd50 mfplat/mediatype: Support audio major type in MFInitMediaTypeFromAMMediaType. 2024-03-21 22:19:57 +01:00
Rémi Bernon
45d4aa9f60 mfplat/mediatype: Check format pointers and sizes in MFInitMediaTypeFromAMMediaType. 2024-03-21 22:19:57 +01:00
Rémi Bernon
9ee0720d98 mfplat/tests: Check how AAC attributes are copied from user data. 2024-03-21 22:19:57 +01:00
Rémi Bernon
3593ce002f mfplat/tests: Test initializing mediatype from AAC WAVEFORMATEXTENSIBLE. 2024-03-21 22:19:57 +01:00
Rémi Bernon
2734b266de mfplat/tests: Add some broken results for Win7. 2024-03-21 22:19:57 +01:00
Dmitry Timoshkov
0bffa32226 widl: Add initial implementation of SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-21 22:19:57 +01:00
Yuxuan Shui
85d029e3b0 shell32: Rely solely on SHELL_FindExecutable for ShellExecute.
This does two things:

1. ShellExecute no longer searches in the directory where the current executable is in.
2. We always CreateProcess with a fully qualified path, so we CreateProcess won't do its own path
   resolution.

Serendipitously this also fixes some existing todos in tests.
2024-03-21 10:51:00 +01:00
Yuxuan Shui
1bc7db2e7d shell32: Fix FindExecutable search path.
It should look in the currect working directory, instead of the directory where the current
executable is in.
2024-03-21 10:50:59 +01:00
Yuxuan Shui
a1d0e21b0a shell32: PathResolve should remove trailing dot. 2024-03-21 10:50:59 +01:00
Yuxuan Shui
f59947bc10 shell32: PathResolve should be able to find files that already have extensions.
Setting dwWhich to 0xff forces extensions to be appended, even when the file name already includes
an extension. This causes PathResolve to fail in some cases where the file does exist.
2024-03-21 10:50:58 +01:00
Yuxuan Shui
5426e597bb shell32: Make sure PathResolve can find files in the current directory.
Previously looking for file that does exist in current directory will fail because of the early
`!PathFileExists(path)` check, even when the current directory is specified in `dirs`.
2024-03-21 10:50:56 +01:00
Yuxuan Shui
520b7c6d83 shell32: PathResolve(file, NULL, ...) should not look in the current directory.
Unless it's explicitly specified.
2024-03-21 10:50:55 +01:00
Yuxuan Shui
c6fa51a949 shell32/tests: Check ShellExecute is looking in the correct current directory. 2024-03-21 10:50:55 +01:00
Yuxuan Shui
ae70b66dce shell32/tests: Check FindExecutable is looking in the correct current directory.
FindExecutable should look in the current working directory, not relative to the current executable
image (which is what SearchPathW(NULL, ...) does).
2024-03-21 10:50:54 +01:00
Rémi Bernon
7c7e55892e winegstreamer: Append an optional parser before decoders. 2024-03-21 10:50:32 +01:00
Rémi Bernon
8ae8063743 winegstreamer: Release sink caps in the error path. 2024-03-21 10:50:32 +01:00
Jinoh Kang
a4ef56e1d9 server: Check for DELETE access in NtMakeTemporaryObject(). 2024-03-20 23:16:24 +01:00
Esme Povirk
0b472874af user32/tests: Accept WM_ACTIVATE in TrackPopupMenu. 2024-03-20 23:15:40 +01:00
Esme Povirk
290dd95dd4 gdiplus: Calculate region bounding box without generating HRGN. 2024-03-20 23:07:34 +01:00
Esme Povirk
423ba9cb23 gdiplus/tests: Region bounds aren't rounded. 2024-03-20 23:05:27 +01:00
Rémi Bernon
9f3f61283d win32u: Avoid a crash when cleaning up a monitor without an adapter. 2024-03-20 23:05:06 +01:00
Giovanni Mascellani
a78cea20d1 d2d1: Compile the pixel shader with D3DCompile(). 2024-03-20 23:04:48 +01:00
Jinoh Kang
25ffa32beb Revert "ntdll/tests: Load NtMakeTemporaryObject() dynamically."
This reverts commit 4fdb45f23f.

NtMakeTemporaryObject() has existed since at least Windows NT 3.10.
2024-03-20 19:00:14 +01:00
Vijay Kiran Kamuju
3719aed1f9 d3dcompiler: Add D3DCreateLinker stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52622
2024-03-20 09:15:18 +01:00
Paul Gofman
86557b9e0b strmbase: Fallback to InitializeCriticalSection() if RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO is unsupported. 2024-03-19 23:02:11 +01:00
Zebediah Figura
525ef1bf77 quartz/tests: Add some tests for VMR7 renderless mode. 2024-03-19 23:02:11 +01:00
Zebediah Figura
668c959f5a quartz: Return S_OK from IVMRSurfaceAllocator_PrepareSurface(). 2024-03-19 23:02:11 +01:00
Zebediah Figura
442ef40665 quartz: Implement IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator(). 2024-03-19 23:02:11 +01:00
Zebediah Figura
4c40aeb90b quartz: Reimplement the VMR7 using the VMR7 presenter. 2024-03-19 23:02:11 +01:00
Zebediah Figura
e428afe4ae quartz: Implement SetVideoClippingWindow() and PresentImage() in the VMR7 presenter. 2024-03-19 23:02:11 +01:00
Rémi Bernon
69f8118883 winevulkan: Allow only one vulkan surface at a time for an HWND.
Fixes bb872831de which lost this from the
winex11 driver. This might be something we want to relax at some point
to allow multiple APIs to draw to the same HWND, but it was done like
that before and it is technically a regression.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56380
2024-03-19 23:02:11 +01:00
Vijay Kiran Kamuju
2fd582e165 urlmon: Add stub for ordinal 414.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53635
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52352
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48085
2024-03-19 23:02:11 +01:00
Jinoh Kang
fa7c837f91 ntdll/tests: Don't import kernel32.RtlPcToFileHeader.
kernel32.RtlPcToFileHeader is an export forwarder to
ntdll.RtlPcToFileHeader and does not exist on Windows 8 or earlier.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56458
2024-03-19 23:02:11 +01:00
Rémi Bernon
de265dfa0b winebus: Remove devices that are ignored wrt hidraw preferences.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56450
2024-03-19 23:02:11 +01:00
Rémi Bernon
8b41c2cfdd winebus: Prefer hidraw for everything that is not a game controller.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56450
2024-03-19 23:02:11 +01:00
Rémi Bernon
ebfe2653ea winebus: Read hidraw device usages from their report descriptors.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56450
2024-03-19 23:02:11 +01:00
Rémi Bernon
d48e250835 winebus: Add HID usages in the device descriptor when possible.
As a hint for the frontend to decide whether to use hidraw.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56450
2024-03-19 23:02:11 +01:00
Rémi Bernon
eac5ad2a26 mfplat/mediatype: Implement MFInitMediaTypeFromMFVideoFormat. 2024-03-19 23:02:11 +01:00
Rémi Bernon
899abeafe4 mfplat/tests: Add tests for MFInitMediaTypeFromMFVideoFormat. 2024-03-19 23:02:11 +01:00
Rémi Bernon
a712d7ec87 mfplat/mediatype: Stub MFInitMediaTypeFromMFVideoFormat. 2024-03-19 23:02:11 +01:00
Rémi Bernon
fe0c129e0b mfplat/tests: Check the conditions for the MFVideoFlag_BottomUpLinearRep flags. 2024-03-19 23:02:11 +01:00
Rémi Bernon
b1d7c03514 mfplat/mediatype: Append user data in MFCreateMFVideoFormatFromMFMediaType. 2024-03-19 23:02:11 +01:00
Rémi Bernon
75a5263c60 mfplat/tests: Test that MFCreateMFVideoFormatFromMFMediaType appends user data. 2024-03-19 23:02:11 +01:00
Rémi Bernon
7598556b64 mfplat/tests: Test that aperture is dropped with VIDEOINFOHEADER2.
But preserved with MFVIDEOFORMAT.
2024-03-19 23:02:11 +01:00
Hans Leidekker
4fdb45f23f ntdll/tests: Load NtMakeTemporaryObject() dynamically. 2024-03-19 23:02:11 +01:00
Zhenbo Li
b4a5775ffb shell32: Create nonexistent destination directories in FO_MOVE.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25207
2024-03-19 23:02:11 +01:00
Zebediah Figura
19627b13e4 shell32/tests: Remove obsolete workarounds from test_move(). 2024-03-19 23:02:11 +01:00
Alexandre Julliard
1bb011f815 ntdll/tests: Update the KiUserExceptionDispatcher test for ARM64EC. 2024-03-19 23:02:11 +01:00
Alexandre Julliard
2c22295233 ntdll/tests: Fix exception address checks in child process on ARM64EC. 2024-03-19 22:26:07 +01:00
Alexandre Julliard
d70dd61030 msvcrt: Use floating point comparison builtins also in MSVC mode. 2024-03-19 11:06:03 +01:00
Alexandre Julliard
5cf558935d netprofm: Use the correct symbols for error codes. 2024-03-19 10:05:57 +01:00
Mark Jansen
9e639ff1f6 kernel32/tests: Add tests for job object accounting.
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
2024-03-18 23:21:37 +01:00
Santino Mazza
b37d3f232b mf/topoloader: Preserve input topology id. 2024-03-18 23:21:37 +01:00
Santino Mazza
4da091eddd mf/test: Check the topologies id's in topo loader. 2024-03-18 23:21:37 +01:00
Rémi Bernon
fc97535ccb mfplat/mediatype: Implement some VIDEOINFOHEADER2 dwInterlaceFlags conversion. 2024-03-18 23:21:37 +01:00
Rémi Bernon
76abdf3403 mfplat/mediatype: Implement VIDEOINFOHEADER2 dwControlFlags conversion. 2024-03-18 23:21:37 +01:00
Rémi Bernon
5a34601606 mfplat/mediatype: Implement MF_MT_FRAME_RATE from VIDEOINFOHEADER2.
Native seems to also treat some frame rate specially, matching a wide
range of time per frame into the same predefined frame rates.
2024-03-18 23:21:37 +01:00
Rémi Bernon
aa385765a1 mfplat: Support flexible frame time in MFAverageTimePerFrameToFrameRate. 2024-03-18 23:21:37 +01:00
Rémi Bernon
578d104cf6 mfplat/tests: Add more MFAverageTimePerFrameToFrameRate tests. 2024-03-18 23:21:37 +01:00
Rémi Bernon
c94c464920 mfplat/mediatype: Set rcSource and rcTarget if stride differs from width. 2024-03-18 23:21:37 +01:00
Rémi Bernon
d0c996b2b4 mfplat/mediatype: Map rcSource to MF_MT_(PAN_SCAN|MINIMUM_DISPLAY)_APERTURE. 2024-03-18 23:21:37 +01:00
Rémi Bernon
66ea15f13a mfplat/mediatype: Set MF_MT_SAMPLE_SIZE from bmiHeader.biSizeImage. 2024-03-18 23:21:37 +01:00
Rémi Bernon
08cafe23d5 mfplat/mediatype: Support FORMAT_VideoInfo2 in MFInitMediaTypeFromAMMediaType. 2024-03-18 23:21:37 +01:00
Rémi Bernon
6413303e60 mfplat/tests: Test aperture to VIDEOINFOHEADER fields mapping. 2024-03-18 23:21:37 +01:00
Nikolay Sivov
30140b7d7e msxml6/tests: Add some tests for MXWriter60.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-18 23:21:37 +01:00
Alexandre Julliard
bd5ab1c6cd jscript: Use the correct facility for JScript errors. 2024-03-18 11:00:41 +01:00
Esme Povirk
552cc456d1 user32/tests: Add another missing message for TrackPopupMenu. 2024-03-15 23:49:00 +01:00
Paul Gofman
4d56a33ab0 server: Ignore some ICMP-originated socket errors for connectionless sockets. 2024-03-15 23:48:52 +01:00
Nikolay Sivov
9d3e458c55 wshom/network: Implement UserDomain property.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56434
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-15 23:48:17 +01:00
Alexandros Frantzis
e63da6ea68 win32u: Cancel previous key auto-repeat when starting a new one.
The previous auto-repeat may be associated with a different HWND,
so we cannot rely on the new timer replacing the old timer, and
we don't want simultaneous repeats on different windows in the
same thread.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56307
2024-03-15 17:55:30 +01:00
Alexandros Frantzis
7a25bd885e win32u: Cancel auto-repeat only if the repeat key is released.
This fixes the behavior to match other systems, where releasing
an unrelated key does not affect the repeating key.
2024-03-15 17:55:28 +01:00
Eric Pouech
819d8692c6 dbghelp: No longer embed unwind information in minidump (x86_64).
This can generate very long time when saving the minidump, but
also when reloading it.
Unwind information is expected to be gotten from an image matching
the modules listed in the minidump for Normal mode.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55798
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-15 15:06:38 +01:00
Eric Pouech
6b9c1682b1 winedbg: Reload module without virtual flag.
So that we can get to debug info.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-15 15:06:38 +01:00
Eric Pouech
aabf6334f3 winedbg: Fallback to PE image when reading memory (minidump).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-15 15:06:38 +01:00
Eric Pouech
ca95533e8a dbghelp: Add support for V2 unwind info (x86_64).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-15 15:06:38 +01:00
Rémi Bernon
8dd24ad2a4 mfplat/mediatype: Implement MFInitAMMediaTypeFromMFMediaType for FORMAT_VideoInfo2. 2024-03-15 15:06:38 +01:00
Rémi Bernon
d307cfede9 mfplat/tests: Add tests for MFInitMediaTypeFromVideoInfoHeader2. 2024-03-15 15:06:38 +01:00
Rémi Bernon
4319ada736 mfplat/mediatype: Implement MFInitMediaTypeFromVideoInfoHeader2. 2024-03-15 15:06:38 +01:00
Rémi Bernon
e497f0e88d mfplat/mediatype: Implement implicit MFInitMediaTypeFromVideoInfoHeader subtype. 2024-03-15 15:06:38 +01:00
Rémi Bernon
2692cd8b04 mfplat/tests: Test each VIDEOINFOHEADER field conversion separately. 2024-03-15 15:06:38 +01:00
Hans Leidekker
498b632899 ntdll/tests: Fix a test failure. 2024-03-15 15:06:37 +01:00
Kyrylo Babikov
b16b366327 dbghelp: Fix PDB processing using the FPO stream instead of FPOEXT. 2024-03-15 15:06:37 +01:00
Robin Kertels
f166b298ec d3d9/tests: Skip desktop window tests if device creation fails.
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2024-03-15 15:06:37 +01:00
Henri Verbeet
47be32f3d1 wined3d: Do not check the input signature element count for sm4+ shaders in shader_spirv_compile_arguments_init().
Shader model 4 fragment shaders can have more than 12 input varyings. That's
fine though, because we don't need to build a varying map for them in the
first place. Note that in principle the ERR in question could still be
triggered by e.g. attempting to use a shader model 4 fragment shader with a
shader model 3 vertex shader.
2024-03-15 15:06:37 +01:00
Zhiyi Zhang
d6ac41a9f4 win32u: Don't enumerate mirrored monitor clones when unnecessary.
These functions don't need to enumerate mirrored monitor clones.
2024-03-15 15:06:37 +01:00
Zhiyi Zhang
793e4640e4 win32u: Don't enumerate mirrored monitor clones for GetSystemMetrics(SM_CMONITORS).
Only one monitor in a mirrored monitor set contributes to the result of GetSystemMetrics(SM_CMONITORS).
Tested manually on Win7 and Win10.
2024-03-15 15:06:37 +01:00
Zhiyi Zhang
6505403e58 win32u: Fix a possible condition that makes EnumDisplayMonitors() not reporting any monitors.
When there are two monitors and they are mirrored, both of them are considered primary. When the
first primary monitor happens to be a clone, EnumDisplayMonitors() ends up not reporting any
monitors because should_enumerate_monitor() returns FALSE and we break out the loop to enumerate
primary monitors after that.

This is a regression from b59619d and my review comments. My indent was to break out of the loop
after finding the *master* primary monitor, not cloned primary monitors, to avoid unnecessary
iterations. However, the primary monitor count is small and it's cleaner this way so let's break
when should_enumerate_monitor() returns TRUE.
2024-03-15 15:06:37 +01:00
Andrew Nguyen
1600f2e6bd ddraw: Release only valid texture parents on ddraw_texture_init failure.
When ddraw_texture_init needs to clean up on failure, it will call the
wined3d_texture_get_sub_resource_parent function on draw_texture in
order to retrieve its parent for a IDirectDrawSurface release call.
However, if draw_texture is NULL, then the function call will crash
due to a null pointer dereference.

Therefore, on failure cleanup, the release operation on the texture
parent should only be performed if draw_texture is not NULL.

This fixes a crash in the Virtual Insanity game demo.
2024-03-15 15:06:37 +01:00
Alexandre Julliard
72fd6e9251 ntdll: Add mappings for more status codes. 2024-03-15 15:06:37 +01:00
Alexandre Julliard
08f46b8de0 include: Add some new status codes.
And sort everything consistently.
2024-03-15 15:06:37 +01:00
Alexandre Julliard
98b7095a21 include: Add some new error codes.
And sort everything consistently.
2024-03-15 15:06:37 +01:00
Jinoh Kang
ce41edab3f ntdll: Implement NtMakePermanentObject. 2024-03-15 15:06:37 +01:00
Jinoh Kang
e368515eef server: Generalize server request make_temporary to set_object_permanence.
Required for implementing NtMakePermanentObject().
2024-03-15 15:06:33 +01:00
Jinoh Kang
d282208ac3 ntdll/tests: Add tests for NtMakeTemporaryObject. 2024-03-15 08:37:42 +01:00
Jinoh Kang
a4ad64dda3 ntdll/tests: Add tests for OBJ_PERMANENT object attribute. 2024-03-15 08:37:39 +01:00
Rémi Bernon
65864f92f2 winevulkan: Get rid of the wine_vk_instance_free helper. 2024-03-14 20:52:33 +01:00
Rémi Bernon
c814cf0d35 winevulkan: Add handle mappings on creation success only. 2024-03-14 20:52:33 +01:00
Rémi Bernon
81ed2e5465 winevulkan: Simplify wine_vk_instance_free helper. 2024-03-14 20:52:33 +01:00
Rémi Bernon
04981ad759 winevulkan: Get rid of the wine_vk_device_free helper. 2024-03-14 20:52:33 +01:00
Rémi Bernon
aaeb221f52 winevulkan: Use a single allocation for instance and physical devices. 2024-03-14 20:52:33 +01:00
Rémi Bernon
bda48ed85e winevulkan: Rename wine_vk_physical_device_alloc parameters and variables. 2024-03-14 20:52:33 +01:00
Rémi Bernon
3b39027655 winevulkan: Pass VkDeviceQueueCreateInfo to wine_vk_device_init_queues. 2024-03-14 20:52:33 +01:00
Rémi Bernon
5ef47e916a winevulkan: Use a single allocation for device and queues. 2024-03-14 20:52:33 +01:00
Rémi Bernon
5bde3f4c97 winevulkan: Use an rb_tree and allocate entries for handle mappings. 2024-03-14 20:52:33 +01:00
Paul Gofman
8b3944e134 ntdll: Only allocate debug info in critical sections with RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO. 2024-03-14 20:52:33 +01:00
Paul Gofman
9115dc0aba explorer: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Paul Gofman
95b0e65b07 services: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Paul Gofman
90ee219c44 qasf: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Paul Gofman
c4ab638083 dsdmo: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Paul Gofman
63ff75cf12 diasymreader: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Paul Gofman
8d933bf187 cryptowinrt: Force debug info in critical sections. 2024-03-14 20:52:33 +01:00
Zhiyi Zhang
2f094cbfe6 win32u: Support HiDPI for the non-client close button in WS_EX_TOOLWINDOW windows. 2024-03-14 18:41:42 +01:00
Nikolay Sivov
a5a0bc10f9 d3d10_1/tests: Remove todo from now passing test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Nikolay Sivov
e91243a94e d3dx10/tests: Remove todo's from now passing tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Nikolay Sivov
866cb1ca63 wshom/network: Check pointer argument in get_UserName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Nikolay Sivov
30e5111dd5 wshom/network: Implement ComputerName() property.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56434
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Nikolay Sivov
2c325f8bd3 wshom/network: Implement GetTypeInfo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Nikolay Sivov
fcce392066 wshom/network: Use TRACE() for implemented method.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-14 18:41:42 +01:00
Dmitry Timoshkov
ee3b9be8e2 comctl32: Implement IImageList2::Initialize().
... by moving ImageList_Create() implementation.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-14 18:41:42 +01:00
Dmitry Timoshkov
fedcd4bb0e comctl32/tests: Add more tests for IImageList2 interface.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-14 18:41:42 +01:00
Rémi Bernon
3944b36b98 win32u: Fix incorrect ascii key name in get_config_key.
Fixes 6b8b35f950 which incorrectly
replaced it with string literal, leading to the default setting being
used all the time.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56435
2024-03-14 18:41:42 +01:00
Noah Berner
898892d5f0 advapi32/tests: Add todo_wine to tests that are currently failing. 2024-03-14 18:41:42 +01:00
Rémi Bernon
14743b0ffb mfreadwrite/reader: Handle MF_E_TRANSFORM_STREAM_CHANGE results. 2024-03-14 18:41:42 +01:00
Eric Pouech
7f10145a91 dbghelp: Simplify thread info generation in minidump.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-14 18:41:42 +01:00
Eric Pouech
f799bf025b dbghelp: Don't write minidump from running thread.
In case a minidump is written from current process, create
a dedicated thread to write the minidump (and hide that thread
from the minidump).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-14 18:41:42 +01:00
Eric Pouech
56193155a0 dbghelp: Use an intermediate buffer in SymFunctionTableAccess (x86_64).
This mainly allows to release internal resources bound to image.
Also follow chained RUNTIME_FUNCTION entries (if any).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-14 18:41:42 +01:00
Eric Pouech
da22ef6c0d dbghelp/tests: Add tests for function table lookup.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-14 18:41:42 +01:00
Rémi Bernon
b59619d2e4 win32u: Enumerate monitors from their device keys. 2024-03-14 18:41:42 +01:00
Rémi Bernon
b4e4921cb6 win32u: Get rid of the monitor flags. 2024-03-14 18:41:42 +01:00
Rémi Bernon
d77d36b1f4 win32u: Get rid of the adapter display_device. 2024-03-14 18:41:42 +01:00
Rémi Bernon
e6a8fc2448 win32u: Get rid of the monitor state_flags. 2024-03-14 18:41:42 +01:00
Rémi Bernon
caf9585c3c win32u: Get rid of the monitor display_device. 2024-03-14 18:41:42 +01:00
Rémi Bernon
3bcd6f1aab win32u: Split writing monitor to registry to a separate helper. 2024-03-14 18:41:42 +01:00
Rémi Bernon
737e9d7ffc win32u: Add an adapter struct to the device manager context. 2024-03-14 18:41:42 +01:00
Alexandre Julliard
866907ee3d kernelbase: Remove no longer needed DllMainCRTStartup function. 2024-03-14 18:41:42 +01:00
Alexandre Julliard
180bd1044b ntdll: Implement RtlGetCallersAddress. 2024-03-14 18:02:29 +01:00
Alexandre Julliard
92d20c1120 ntdll/tests: Fix a few more test failures on ARM64EC. 2024-03-14 18:02:17 +01:00
Alexandre Julliard
3036dddca4 ntdll/tests: Fix debug register tests on ARM64EC. 2024-03-14 17:19:02 +01:00
Alexandre Julliard
97f07ae211 ntdll/tests: Skip segment register tests on ARM64EC. 2024-03-14 17:19:01 +01:00
Andrew Wesie
f6a1844dbe wined3d: Use bindless textures for GLSL shaders if possible.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44514
Signed-off-by: Andrew Wesie <awesie@gmail.com>
2024-03-14 10:16:34 +01:00
Zebediah Figura
6e619d98a3 wined3d: Move checking shader_update_mask to shader_glsl_apply_compute_state(). 2024-03-14 10:16:34 +01:00
Zebediah Figura
8e77d28165 wined3d: Rename the shader_select_compute method to shader_apply_compute_state.
Following shader_apply_draw_state.
2024-03-14 10:16:32 +01:00
Zebediah Figura
a81bcbe0a9 d3d11/tests: Add a test for using a large number of SRV resources. 2024-03-14 10:16:32 +01:00
Zebediah Figura
fc18e54e63 d3d9/tests: Remove a no longer accurate comment.
Fixes: 7641980a9e
2024-03-14 10:16:30 +01:00
Daniel Lehman
c1f5f98f79 oleaut32: Return success from GetSizeMax if not dirty. 2024-03-14 10:16:13 +01:00
Daniel Lehman
148db6a6c5 oleaut32/tests: Add tests for GetSizeMax after dirty flag cleared. 2024-03-14 10:16:13 +01:00
Louis Lenders
4edfe426e4 shell32: Try appending .exe when looking up an App Paths key.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51957
2024-03-14 10:16:06 +01:00
Andrew Nguyen
50a1c5bc92 oleaut32: Bump version resource to Windows 10.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55876
2024-03-14 10:11:10 +01:00
Eric Pouech
0d616f9eb0 dbghelp/tests: Test exception information in minidump.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-13 21:04:34 +01:00
Eric Pouech
504d0caae5 dbghelp/tests: Add tests about minidump's callback.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-13 21:04:34 +01:00
Eric Pouech
3316f59041 dbghelp/tests: Add tests about generated memory chunks.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-13 21:04:34 +01:00
Eric Pouech
9620340b6b dbghelp/tests: Add tests for minidumps.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-13 21:04:34 +01:00
Eric Pouech
abac4b879e include: Update minidumpapiset.h.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-13 21:04:34 +01:00
Alexandros Frantzis
5f76872e17 winewayland.drv: Implement wgl(Get)SwapIntervalEXT. 2024-03-13 20:59:56 +01:00
Alexandros Frantzis
065cbb460b winewayland.drv: Implement wglShareLists.
EGL works similarly to GLX, in that it only allows sharing on context
creation, so we adapt the approach used by winex11.
2024-03-13 20:59:54 +01:00
Alexandros Frantzis
ac32f0a81d winewayland.drv: Implement wglCreateContextAttribsARB. 2024-03-13 20:59:52 +01:00
Zebediah Figura
3042c7100c ntdll: Assign a primary token in elevate_token().
This fixes Quicken 2020 installation.
2024-03-13 20:59:42 +01:00
Vijay Kiran Kamuju
929732034c include: Add Windows.UI.ViewManagement.UIViewSettings definitions. 2024-03-13 19:10:58 +01:00
Rémi Bernon
00a541d6a0 win32u: Move D3DKMT VidPn* functions out of winex11. 2024-03-13 18:28:49 +01:00
Rémi Bernon
7299d3728a win32u: Move D3DKMT functions to a new d3dkmt.c source. 2024-03-13 18:28:49 +01:00
Alexandre Julliard
8c1f96f7ab ntdll: Always use SEH support on ARM64. 2024-03-13 11:26:39 +01:00
Alexandre Julliard
c47d6ef1f7 ntdll: Implement __C_specific_handler on ARM64EC. 2024-03-13 11:03:01 +01:00
Alexandre Julliard
7b5267cf63 ntdll: Move __C_specific_handler implementation to unwind.c. 2024-03-13 11:02:44 +01:00
Alexandre Julliard
83949ee269 ntdll: Implement RtlUnwindEx on ARM64EC. 2024-03-13 09:55:32 +01:00
Piotr Caban
174bb7776d ntdll: Workaround sendmsg bug on macOS.
There's a race on macOS when sending socket fd with sendmsg. The fd may get
broken if it's closed before recvmsg is called.
2024-03-12 22:36:12 +01:00
David Gow
e2b1de523e evr/dshow: Support NV12 in evr_render.
Add support for NV12 to evr_render(), as otherwise no video is rendered
at all in games like Age of Empires II DE.

In the process, the evr_copy_sample_buffer() function has been
refactored to move the MFCopyImage() call into format-specific code (to
better handle multi-planar formats cleanly).

Signed-off-by: David Gow <david@ingeniumdigital.com>
2024-03-12 22:36:12 +01:00
Hans Leidekker
1482e2f960 dnsapi/tests: Skip tests if no CNAME records are returned. 2024-03-12 22:36:12 +01:00
Dmitry Timoshkov
7c7702f91d kerberos: Allocate memory for the output token if requested.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-12 22:36:12 +01:00
Andrew Nguyen
2c8d4f5abd ddraw: Reserve extra space in the reference device description buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56367
2024-03-12 22:36:12 +01:00
Dmitry Timoshkov
e42afe7daf wineps.drv: Return default resolution if PPD doesn't provide the list of supported resolutions.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-12 22:36:12 +01:00
Alexandre Julliard
f42316c86d ntdll: Port the RtlRestoreContext test to ARM. 2024-03-12 22:36:12 +01:00
Alexandre Julliard
74d1dbb95a ntdll: Port the RtlRestoreContext test to ARM64. 2024-03-12 22:36:12 +01:00
Alexandre Julliard
5286ed3b0a ntdll: Add test for non-volatile regs in consolidated unwinds. 2024-03-12 22:36:12 +01:00
Alexandre Julliard
ffade87df1 ntdll/tests: Fix a backtrace test failure on Windows ARM64. 2024-03-12 20:58:19 +01:00
Alexandre Julliard
99aee076e5 ntdll/tests: Directly link to setjmp(). 2024-03-12 20:49:21 +01:00
Alexandre Julliard
fd865a8386 include: Define setjmpex prototype even when it's a builtin. 2024-03-12 20:49:21 +01:00
Alexandre Julliard
66f940a2ec ws2_32/tests: Fix a couple of failures on Windows. 2024-03-12 20:49:21 +01:00
Marcus Meissner
084c8cc9c0 ntdll/tests: Fix size passed to GetModuleFileNameW. 2024-03-12 20:49:21 +01:00
Dmitry Timoshkov
354ddcb382 d2d1: Make some strings const.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-12 13:43:41 +01:00
Brendan McGrath
bbdc50c532 comdlg32: Don't treat cmb1 as the printer list unless in PRINT_SETUP.
This changes WMCommandW to match WMCommandA.
2024-03-12 13:43:41 +01:00
Brendan McGrath
39bd338a62 comdlg32: Use ANSI functions in ANSI WMCommandA. 2024-03-12 13:43:41 +01:00
Brendan McGrath
91207991f2 comdlg32: Populate printer name on the print dialogs.
This will display the name of the selected printer on the Print dialog
and the default printer on the Print Setup dialog
2024-03-12 13:43:41 +01:00
Brendan McGrath
8b7d1a65d0 comdlg32: Add resolutions to PRINTDLG_ChangePrinterW.
This was done in PRINTDLG_ChangePrinterA, but missing from
PRINTDLG_ChangePrinterW
2024-03-12 13:43:41 +01:00
Brendan McGrath
4ec559743d comdlg32: Use values from DeviceCapabilities in combobox.
dpiX,dpiY are the default printer values from the GetDeviceCaps calls.
This causes the item data to be the same for every option in the
combobox.

The item data should reflect the selected values.
2024-03-12 13:43:41 +01:00
Gabriel Ivăncescu
a9b3fdd3ae shell32: Construct the proper path target for UnixFolder.
Worse than just no unix integration is that it can actually crash if you
parse e.g. "/".

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-03-12 08:32:18 +01:00
Nikolay Sivov
40afa8d937 d3d10/tests: Add a small effect compilation test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 08:31:51 +01:00
Nikolay Sivov
a44681e19b d3dcompiler: Wrap fx_4_x output in a dxbc container.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 08:31:51 +01:00
Nikolay Sivov
d01ae1512f d3dcompiler: Set correct compilation target for effects profiles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 08:31:51 +01:00
Zhiyi Zhang
e21244f7a3 mfreadwrite: Fix a memory leak (Coverity). 2024-03-12 08:31:36 +01:00
Brendan Shanks
4860fbe7b5 secur32: Replace sprintf with snprintf to avoid deprecation warnings on macOS. 2024-03-11 22:19:49 +01:00
Brendan Shanks
5851ba8686 opengl32: Replace sprintf with snprintf/asprintf to avoid deprecation warnings on macOS. 2024-03-11 21:22:41 +01:00
Brendan Shanks
3af1e7df21 mountmgr: Replace some malloc/sprintf/strcpy calls with asprintf. 2024-03-11 21:22:08 +01:00
Brendan Shanks
a5b8e68422 mountmgr: Replace sprintf with snprintf to avoid deprecation warnings on macOS. 2024-03-11 21:22:08 +01:00
Jacek Caban
81111326ff configure: Don't explicitly enable -Wenum-conversion on Clang.
Clang enables -Wenum-conversion by default anyway, we add it to CFLAGS to enable them on GCC.
When explicitly enabled, Clang also enables additional warnings. Some of those warnings, like
-Wenum-enum-conversion, are too strict to be practical with win32, so avoid enabling them.
2024-03-11 20:11:18 +01:00
Jinoh Kang
b527b232cf tools/gitlab: Run make_specfiles before building.
Since wine commit 401288a78d (make_specfiles: Generate a list of
syscalls from the corresponding spec files., 2023-11-16), spec files
are used to auto-generate the following files:

- dlls/ntdll/ntsyscalls.h (from dlls/ntdll/ntdll.spec)
- dlls/win32u/win32syscalls.h (from dlls/win32u/win32u.spec)
2024-03-11 18:46:09 +01:00
Brendan Shanks
befd7abe10 server: Remove support for msg_accrights FD passing. 2024-03-11 18:12:03 +01:00
Brendan Shanks
af2c686628 ntdll: Remove support for msg_accrights FD passing. 2024-03-11 18:12:03 +01:00
Nikolay Sivov
f2e6fc695a include: Add ID2D1DeviceContext6 definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-11 18:12:03 +01:00
Nikolay Sivov
94f5cd1d30 include: Add ID2D1Factory7 definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-11 18:12:03 +01:00
Paul Gofman
d71fb7229f imm32: Set lengths to 0 for NULL strings in ImmSetCompositionString(). 2024-03-11 18:12:03 +01:00
Alexandre Julliard
834a88fc3f secur32/tests: Update count for new winehq.org certificate. 2024-03-11 18:12:03 +01:00
Alexandre Julliard
38fb2f41ad ntdll: Share RtlCaptureStackBackTrace implementation across platforms. 2024-03-11 17:31:38 +01:00
Alexandre Julliard
2bf209bb4f ntdll: Export RtlVirtualUnwind2 and RtlWalkFrameChain. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
3418bf6ccd ntdll: Implement RtlWalkFrameChain on ARM64EC. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
6184f74ef5 ntdll: Implement RtlWalkFrameChain on ARM64. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
3938478aab ntdll: Implement RtlWalkFrameChain on ARM. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
37ded7380e ntdll: Implement RtlWalkFrameChain on i386. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
f127448d00 ntdll: Implement RtlWalkFrameChain on x86-64. 2024-03-11 17:29:44 +01:00
Alexandre Julliard
6d8b4e661f ntdll: Implement RtlRestoreContext on ARM64EC. 2024-03-11 16:43:44 +01:00
Alexandre Julliard
2ab736e292 configure: Check the correct variable for the Wayland EGL library.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56411
2024-03-11 15:19:20 +01:00
Esme Povirk
47e9980bb1 gdiplus: Check bounding box in GdipIsVisibleRegionPoint. 2024-03-11 12:18:49 +01:00
Esme Povirk
14f69583aa user32/tests: Accept HCBT_ACTIVATE in TrackPopupMenu. 2024-03-11 12:18:49 +01:00
Alexandre Julliard
1719aef8cb Release 9.4. 2024-03-08 23:35:07 +01:00
Rémi Bernon
28c52d4ac3 server: Remove desktop from their winstation list before looking for another input desktop. 2024-03-08 17:40:03 +01:00
Zhiyi Zhang
818d9a1210 win32u: Only send mouse input in ReleaseCapture() when a window is captured.
Fix a regression from "bb496ea8 - server: Always queue mouse messages delivered to another window."

Fix ETHER VAPOR Remaster (214570) launches to black screen when the cursor is in the game window.

The game calls ReleaseCapture() when handling WM_MOUSEMOVE. After bb496ea8, WM_MOUSEMOVE is always
queued because the message window is NULL. So ReleaseCapture() ends up queuing another WM_MOUSEMOVE.
So the game ends up handling infinite WM_MOUSEMOVE messages at startup and is not able to do anything.
2024-03-08 17:37:08 +01:00
Zhiyi Zhang
d47b13c45a user32/tests: Add some ReleaseCapture() tests. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
c51c257b06 msvcrt: Import longjmp from ntdll for PE builds. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
d538432d79 msvcrt: Import setjmp/setjmpex from ntdll. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
1d168222fd include: Always use _setjmpex on non-i386 platforms. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
5c26513278 winedump: Dump the __os_arm64x_helper functions. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
4a026f4230 ntdll: Support the __os_arm64x_helper functions in the loader. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
fd5b56b96d ntdll: Remove a misleading WARN. 2024-03-08 17:37:08 +01:00
Alexandre Julliard
8dc2cc24d7 ntdll: Don't copy a missing context in get_thread_context().
Fixes a test failure on ARM64EC.
2024-03-08 09:51:56 +01:00
Zebediah Figura
e92ba2de43 server: Create processes using a limited administrator token by default.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40613
2024-03-08 09:49:52 +01:00
Zebediah Figura
897bcd5d5c ntdll: Elevate processes if requested in the manifest.
Rufus 3.13 Portable requires administrator privileges, and uses a manifest to
elevate itself.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51000
2024-03-08 09:49:52 +01:00
Zebediah Figura
95a91bd816 ntdll: Implement NtSetInformationProcess(ProcessAccessToken). 2024-03-08 09:49:52 +01:00
Zebediah Figura
3103adb6a6 winetest: Elevate test processes on Wine. 2024-03-08 09:49:40 +01:00
Aida Jonikienė
4860be4747 msvcrt: Handle wide specifiers option in __stdio_common_vfscanf().
This prevents log spam in one game.
2024-03-08 09:48:43 +01:00
Esme Povirk
934cfb86b5 mscoree: Implement CLRRuntimeHost_Start. 2024-03-07 23:00:47 +01:00
Paul Gofman
d30dafa14d windows.media.speech: Force debug info in critical sections. 2024-03-07 22:56:13 +01:00
Paul Gofman
84cb31556a windows.gaming.input: Force debug info in critical sections. 2024-03-07 22:56:13 +01:00
Paul Gofman
5152e73779 wmiutil: Force debug info in critical sections. 2024-03-07 22:56:13 +01:00
Paul Gofman
3fd83279c0 winegstreamer: Force debug info in critical sections. 2024-03-07 22:56:12 +01:00
Paul Gofman
8857df969c urlmon: Force debug info in critical sections. 2024-03-07 22:56:12 +01:00
Paul Gofman
ec66697005 quartz: Force debug info in critical sections. 2024-03-07 22:56:12 +01:00
Gabriel Ivăncescu
b1a61e74a3 winex11: Set the correct visual even if alpha matches.
8a71a4a304 caused us to set a different visual
but with the correct alpha prior to actually setting it to the systray's
visual. In this case, the alpha would match and not set it to the systray's
visual. This caused the Ubuntu 23.10.1 default WM to crash.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-03-07 22:56:12 +01:00
Zebediah Figura
a0c390de8d shell32: Fix a test failure in test_DataObject().
Fixes: b6128bbb51
2024-03-07 22:56:12 +01:00
Connor McAdams
ec44170322 d3dx9: Preserve the contents of unaligned compressed destination surfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams
a1381fbedb d3dx9: Split off image decompression into a helper function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams
7ff4e5672d d3dx9: Split D3DXLoadSurfaceFromMemory functionality into a separate function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams
20b50c0096 d3dx9: Use base image pointer when decompressing source image.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams
b5cd4c471a d3dx9/tests: Add more tests for misaligned compressed surface loading.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Eric Pouech
d094bde414 dbghelp: Fixed module information when unmatched pdb file is loaded.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-07 22:56:12 +01:00
Eric Pouech
6ab88cafaa dbghelp: Don't fail in SymAddSymbol for modules without debug information.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-07 22:56:12 +01:00
Eric Pouech
61f9f5a05f dbghelp: Support SLMFLAG_NO_SYMBOLS in SymLoadModuleEx*().
Also correctly handling ImageName (the passed image name
in SymLoadModule) and LoadedImageName, which is only set when
debug info have been loaded (and is always an absolute path,
contrary to ImageName which can be relative).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-07 22:56:12 +01:00
Eric Pouech
51a0aaeff4 dbghelp/tests: Extend the tests for SymLoadModule().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-07 22:56:12 +01:00
David McFarland
1496ce1614 mmdevapi: Add stub for IDeviceTopology. 2024-03-07 22:56:12 +01:00
David McFarland
ec2db2ff75 mmdevapi/tests: Add test for IDeviceTopology. 2024-03-07 22:56:12 +01:00
David McFarland
a30a617212 mmdevapi: Implement IAudioClient3_GetSharedModeEnginePeriod.
For now min/max/default are all hard-coded to ~10ms.
2024-03-07 22:56:12 +01:00
David McFarland
73a6f764d0 mmdevapi: Implement IAudioClient3_InitializeSharedAudioStream. 2024-03-07 22:56:12 +01:00
David McFarland
eef4a25d0c mmdevapi/tests: Add test for AudioClient3_InitializeSharedAudioStream. 2024-03-07 22:56:12 +01:00
Rémi Bernon
0d8bdf392f win32u: Keep the vulkan GUID on the gpu structure. 2024-03-07 22:56:12 +01:00
Rémi Bernon
c8d2955cdc win32u: Split read / write of gpu to registry to separate helpers. 2024-03-07 22:56:12 +01:00
Rémi Bernon
c67726b3d0 win32u: Enumerate devices with a dedicated helper.
Which will allow us to enumerate monitor devices later as well.
2024-03-07 22:56:12 +01:00
Rémi Bernon
788ba75432 win32u: Lookup adapter gpus from their device paths. 2024-03-07 22:56:12 +01:00
Rémi Bernon
955ddc6ea6 win32u: Load gpus from registry before adapters. 2024-03-07 22:56:12 +01:00
Rémi Bernon
c179b269ab win32u: Keep a reference on the adapters gpu. 2024-03-07 22:56:12 +01:00
Zebediah Figura
e5afb283cf shell32: Respect the drop effect in do_paste().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34322
2024-03-07 22:56:12 +01:00
Zebediah Figura
a415874f59 shell32: Set the drop effect from the context menu. 2024-03-07 22:56:12 +01:00
Zebediah Figura
0c35d5cc29 shell32: Remove the no longer used ISFHelper::CopyItems() helper. 2024-03-07 22:56:12 +01:00
Zebediah Figura
a277ab8e42 shell32: Reimplement pasting from a CIDA without ISFHelper. 2024-03-07 22:56:12 +01:00
Alexandre Julliard
1c95001f8f d3dx9/tests: Mark failing tests as todo.
Triggered by the vkd3d 1.11 import.
2024-03-07 22:56:12 +01:00
Alexandre Julliard
27b22fedde d3d10_1/tests: Mark a failing test as todo.
Triggered by the vkd3d 1.11 import.
2024-03-07 22:56:12 +01:00
Alexandre Julliard
1edd53f00f ntdll: Implement _setjmpex on ARM64EC. 2024-03-07 22:56:12 +01:00
Alexandre Julliard
e1d624a06f ntdll: Export longjmp. 2024-03-07 12:38:05 +01:00
Alexandre Julliard
8ec8a7f11c ntdll: Export _setjmpex. 2024-03-07 12:31:09 +01:00
Alexandre Julliard
7a156cbd7f ntdll: Use jump buffer definitions from setjmp.h. 2024-03-07 10:23:15 +01:00
Brendan Shanks
542e11fcd9 quartz: Set the name of internal threads. 2024-03-07 08:58:49 +01:00
Eric Pouech
83476e3d4a dbghelp: Fix some corner case of virtual module loading.
Seen when debugging some game, one can load a virtual module with
a NULL image name.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-06 22:05:51 +01:00
Eric Pouech
4f80a599b6 dbghelp: Mimic native behavior for module name.
Module names appear in three spots in dbghelp:
  A) SymGetModuleInfo() .ModuleName
  B) module enumeration (as parameter in callback)
  C) in symbol/type research in module!name form

Tests show that:
- A) and B) always use only the derivation of the image
  name, whatever the passed module name in SymLoadModule().
- C) can use either the form derived from image name
  {as A) and B)}, but also the passed module name in
  SymLoadModule().

Note: B) is limited to 64 characters, while A) is limited to 32
characters (not tested here).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-06 22:05:49 +01:00
Eric Pouech
d6d22677da dbghelp: Change order when trying to load modules.
Change from: dll.so   > PE image > ELF/Mach-O images
into         PE image > dll.so   > ELF/Mach-O images

Main goal is in SymLoadModule*(), to not resynchronize the system
modules list when requesting loading of a PE image.
This can gain quite some time in some situations.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-06 22:05:47 +01:00
Eric Pouech
0e3dba2a7a dbghelp: Relax failure conditions.
dbghelp tests build PDB files, without hash table in TPI stream,
but also no types. Native is able to load these PDB files.
So, don't fail when loading a PDB without a TPI hash table and
without any types.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-06 22:05:34 +01:00
Eric Pouech
d05b7c8e19 dbghelp: Search subdirectories in element path.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-06 22:05:34 +01:00
Yuxuan Shui
28b94c4d42 dmime: Handle MIDI control events in MIDI files.
Adding them to the seqtrack, and also implementing playing them from the seqtrack.
2024-03-06 22:04:20 +01:00
Yuxuan Shui
5ff94358a0 dmime: Parse note on/off events and generate a seqtrack. 2024-03-06 22:04:20 +01:00
Yuxuan Shui
1df0e34293 dmime/tests: Call the correct QueryInterface function for DirectMusic track. 2024-03-06 22:04:20 +01:00
Rémi Bernon
24ad74ee26 server: Send emulated mouse messages on primary pointer updates. 2024-03-06 19:20:09 +01:00
Rémi Bernon
40b65e28a7 server: Continuously send pointer update messages while it's down. 2024-03-06 19:20:09 +01:00
Rémi Bernon
d8b8ac85eb server: Generate WM_POINTERENTER / WM_POINTERLEAVE messages. 2024-03-06 19:20:09 +01:00
Rémi Bernon
5b833c83be server: Stop waiting on LL-hooks for non-injected input. 2024-03-06 19:19:47 +01:00
Alexandros Frantzis
4bba16fd18 winewayland.drv: Handle resizing of OpenGL content.
Wayland surfaces don't have an inherent native size that the EGL
implementation can track, so we need to explicitly tell EGL about changes
in the native size with wl_egl_window_resize.

Since the resize can be triggered outside the GL render thread, and
wl_egl_window_resize is not thread safe (with respect to other EGL/GL
calls), we cannot call it directly at will. Instead we mark the
wayland_gl_drawable as resized, and actually call the
wl_egl_window_resize function from the thread in which the respective
drawable is current.

Note that the first EGL/GL operation that requires a new backbuffer
latches whatever native size we have reported, until the next
eglSwapBuffers. In order to ensure the current native size is applied as
soon as possible (to avoid glitches), we check for and apply resizes at
a few extra points where a new backbuffer may be required (e.g.,
glClear, eglMakeCurrent).
2024-03-06 19:12:18 +01:00
Alexandros Frantzis
aed0c822f1 winewayland.drv: Implement wglSwapBuffers. 2024-03-06 19:12:16 +01:00
Alexandros Frantzis
075a0e2623 winewayland.drv: Implement wglMakeCurrent and wglMakeContextCurrentARB. 2024-03-06 19:12:14 +01:00
Alexandros Frantzis
e8f7660c75 winewayland.drv: Implement OpenGL context creation.
Each WGL context is backed by a config-less EGL context. We require the
EGL_KHR_no_config_context extension.
2024-03-06 19:12:12 +01:00
Alexandros Frantzis
e7ccb1480a winewayland.drv: Implement wglSetPixelFormat(WINE).
Introduce the internal wayland_gl_drawable object, which associates a
window (and its backing Wayland surface) with an EGL surface.
2024-03-06 19:12:08 +01:00
Alexandros Frantzis
825ec8c597 winewayland.drv: Implement wglDescribePixelFormat.
Create an array of supported EGLConfigs, and use this information to
populate the PIXELFORMATDESCRIPTOR.
2024-03-06 19:12:07 +01:00
Alexandros Frantzis
d47220a23c winewayland.drv: Implement wglGetProcAddress. 2024-03-06 19:12:05 +01:00
Alexandros Frantzis
e5d995d826 winewayland.drv: Implement wglGetExtensionsString{ARB,EXT}. 2024-03-06 19:12:03 +01:00
Alexandros Frantzis
ea522c6135 winewayland.drv: Initialize core GL functions. 2024-03-06 19:12:01 +01:00
Alexandros Frantzis
aaaac72fdb winewayland.drv: Add skeleton OpenGL driver.
The driver performs basic EGL initialization.
2024-03-06 19:11:56 +01:00
Rémi Bernon
c0d0468da9 winex11: Select XI_Touch* input and translate it to WM_POINTER*. 2024-03-06 19:03:26 +01:00
Rémi Bernon
0f1322d2df winex11: Support XInput2 events on individual windows. 2024-03-06 19:03:26 +01:00
Hans Leidekker
e7ff2688c8 wbemprox: Use separate critical sections for tables and table list. 2024-03-06 19:03:11 +01:00
Ziqing Hui
ff0cd457b4 winegstreamer: Set AvgTimePerFrame in GetOutputType() for WMV decoder.
Krkr2 game engine need AvgTimePerFrame to calculate video frame time.
2024-03-06 19:01:38 +01:00
Ziqing Hui
732ed62819 mf/tests: Test AvgTimePerFrame for WMV decoder DMO. 2024-03-06 19:01:38 +01:00
Zebediah Figura
f8ddba3ad0 shell32: Implement IDataObject::SetData(). 2024-03-06 19:01:28 +01:00
Zebediah Figura
4f02c8ba2d shell32: Reimplement the data object to store a generic array of HGLOBALs. 2024-03-06 19:01:28 +01:00
Zebediah Figura
0344f3aa85 shell32: Do not interpret the direction in IDataObject::EnumFormatEtc(). 2024-03-06 19:01:28 +01:00
Zebediah Figura
b6128bbb51 shell32/tests: Add more tests for IDataObject. 2024-03-06 19:01:28 +01:00
Rémi Bernon
e614610aaf win32u: Introduce and use new reg_(open|create)_ascii_key helpers. 2024-03-06 18:59:34 +01:00
Rémi Bernon
6b8b35f950 win32u: Use set_reg_ascii_value whenever possible. 2024-03-06 18:59:34 +01:00
Rémi Bernon
3909a93bc2 win32u: Remove unnecessary class_guidW double check. 2024-03-06 18:59:34 +01:00
Rémi Bernon
eaed90d9b4 win32u: Use REG_SZ instead of REG_BINARY for some adapter keys. 2024-03-06 18:59:34 +01:00
Rémi Bernon
20a09a3071 win32u: Remove unused wine_devpropkey_monitor_adapternameW property. 2024-03-06 18:59:34 +01:00
Rémi Bernon
ab5d9bb67b win32u: Simplify adapter key path creation from gpu_guid. 2024-03-06 18:59:34 +01:00
Rémi Bernon
8fcc3c4efe win32u: Use char array for the device manager context gpuid. 2024-03-06 18:59:34 +01:00
Zebediah Figura
910bd392f6 mciwave: Abort the playback thread regardless of state when stopping. 2024-03-06 18:57:12 +01:00
Alexandre Julliard
5bb80251b1 vkd3d: Import upstream release 1.11. 2024-03-06 12:45:47 +01:00
Alexandre Julliard
ec2e266c76 ntdll: Implement KiUserExceptionDispatcher on ARM64EC. 2024-03-06 12:32:18 +01:00
Alexandre Julliard
e6ce5d5df7 ntdll: Implement exception dispatching on ARM64EC. 2024-03-06 12:24:15 +01:00
Alexandre Julliard
daea0b9b57 ntdll: Allocate the data structure and stack for the ARM64EC emulator. 2024-03-06 12:24:15 +01:00
Nikolay Sivov
5eb46419b4 d3d10_1/tests: Add an effect compilation test using 10.1 features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-05 22:32:17 +01:00
Nikolay Sivov
0a9ad614e6 d3d10_1/tests: Add a basic test for returned preferred profiles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-05 22:32:17 +01:00
Henri Verbeet
37bb8c14e0 wined3d: Slightly adjust an ERR in shader_spirv_compile_shader().
We're not necessarily compiling DXBC shaders here after commit
1474f5cc47.
2024-03-05 20:52:48 +01:00
Daniel Lehman
91e5d21cdf ole32/tests: Remove todo from lock tests. 2024-03-05 20:52:41 +01:00
Daniel Lehman
2fc073591b ole32: Do not lock storage in read-only deny-write mode. 2024-03-05 20:52:41 +01:00
Zebediah Figura
6fa1458378 wined3d/nvrc: Remove now redundant WINED3D_TSS_RESULT_ARG handlers.
nvrc_update_color_op() takes care of this. Redirect WINED3D_TSS_RESULT_ARG to nvrc_colorop() so that the shader is invalidated.
2024-03-05 20:50:40 +01:00
Zebediah Figura
c3840b6c49 wined3d/nvrc: Move alpha op application to nvrc_apply_draw_state(). 2024-03-05 20:50:39 +01:00
Zebediah Figura
115d690731 wined3d/nvrc: Remove now redundant STATE_SAMPLER handlers.
nvrc_update_color_op() takes care of this. Redirect STATE_SAMPLER to nvrc_colorop() so that the shader is invalidated.
2024-03-05 20:50:38 +01:00
Zebediah Figura
1c03b29f7b wined3d/nvrc: Move color ops from nvrc_colorop() to nvrc_apply_draw_state(). 2024-03-05 20:50:37 +01:00
Zebediah Figura
e65679f455 wined3d/nvrc: Move FFP bumpenv constant loading to nvrc_apply_draw_state(). 2024-03-05 20:50:35 +01:00
Zebediah Figura
8f2586cfb5 wined3d/nvrc: Move TEXTUREFACTOR constant loading to nvrc_apply_draw_state(). 2024-03-05 20:50:34 +01:00
Martin Storsjö
aa78b46e9c arm64: Expose information about more modern CPU extensions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-03-05 20:50:23 +01:00
Rémi Bernon
c9ffab4602 win32u: Add support for sending and receiving WM_POINTER* messages. 2024-03-05 20:50:07 +01:00
Rémi Bernon
61d1c18957 server: Add support for sending and receiving WM_POINTER* messages. 2024-03-05 20:50:07 +01:00
Rémi Bernon
48f8db6c30 mouhid.sys: Send WM_POINTER* messages on contact updates. 2024-03-05 20:50:07 +01:00
Rémi Bernon
13f908b9b5 dinput/tests: Test the WM_POINTER* message parameter values. 2024-03-05 20:50:07 +01:00
Rémi Bernon
bb5f0e122f win32u: Use a custom struct hid_input for NtUserSendHardwareInput. 2024-03-05 20:50:06 +01:00
Rémi Bernon
66baee8b99 win32u: Use NtUserCallHwndParam interface for __wine_send_input. 2024-03-05 20:50:06 +01:00
Eric Pouech
ad921b3c56 dbghelp: Return matched information for path_find_symbol_file.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-05 20:46:36 +01:00
Eric Pouech
f824a72c7f dbghelp: Get rid of struct pdb_lookup.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-05 20:46:36 +01:00
Eric Pouech
feee77f84d dbghelp: Rework loading of PDB string table.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-05 20:46:36 +01:00
Eric Pouech
f014745676 dbghelp: Always use SymGetSrvIndexFileInfo() for files lookup.
This will help separate debug info files lookup from their actual
loading once found and correctly matched.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-05 20:46:34 +01:00
Eric Pouech
ec099b8ea3 dbghelp/tests: Add more tests for SymLoadModule*.
- SymLoadModules flags (SLMFLAG_VIRTUAL and SLMFLAG_NO_SYMBOLS),
- handling of load details (SymType, ImageName vs LoadedImageName,
  various instances of module name).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-05 20:46:26 +01:00
Alexandre Julliard
a9428fe390 ntdll: Use a common wrapper to call unwind handlers on ARM. 2024-03-05 14:34:52 +01:00
Alexandre Julliard
5f890e3ce9 ntdll: Use a common wrapper to call unwind handlers on ARM64. 2024-03-05 14:34:52 +01:00
Alexandre Julliard
d6285af1fc ntdll: Use a common wrapper to call exception handlers on ARM. 2024-03-05 10:30:26 +01:00
Alexandre Julliard
8d8c10fe92 ntdll: Use a common wrapper to call exception handlers on ARM64. 2024-03-05 10:30:17 +01:00
Alexandre Julliard
5c98412929 ntdll: Also copy non-volatile regs on collided unwind.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56401
2024-03-05 10:14:18 +01:00
Paul Gofman
6f55a13169 ntdll: Respect red zone in usr1_handler() on x64.
Fixes a regression introduced by
efd3d31082.
2024-03-05 09:03:48 +01:00
Eric Pouech
c1b8db0c28 dbghelp: Don't search the passed path in SymFindFileInPath.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-04 22:52:13 +01:00
Eric Pouech
1648569fad dbghelp: Don't fail on loading 64bit modules on 32bit applications.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-04 22:52:13 +01:00
Eric Pouech
0ca1350a03 dbghelp/tests: Add tests about SymLoadModule and finding pdb files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-04 22:52:13 +01:00
Eric Pouech
a56b018713 dbghelp/tests: Add tests for SymFindFileInPath for pdb files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-04 22:52:13 +01:00
Eric Pouech
2abbee9540 dbghelp/tests: Add tests for image files lookup.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-03-04 22:52:13 +01:00
Zhiyi Zhang
058bfeed1d advapi32/tests: Test creating registry keys with a NULL return key pointer. 2024-03-04 22:50:27 +01:00
Zhiyi Zhang
d2045611b6 advapi32: Check NULL return key pointers when creating registry keys.
Fix Warlords Battlecry III (433280) crashes at launch.
2024-03-04 22:50:25 +01:00
Florian Will
8dc5242e29 ws2_32: Implement TCP_KEEP{ALIVE,CNT,INTVL} options. 2024-03-04 22:39:57 +01:00
Florian Will
26136fda8d ws2_32/tests: Test TCP_KEEP{ALIVE,CNT,INTVL} options. 2024-03-04 22:39:57 +01:00
Florian Will
6d2a900487 include: Add TCP_KEEPCNT and TCP_KEEPINTVL definitions. 2024-03-04 22:39:57 +01:00
Connor McAdams
eb06945b5b webservices/tests: Fix -Warray-bounds warning on gcc 13.2.0.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-04 16:54:54 +01:00
Nikolay Sivov
2c9f67938f d3dcompiler: Enable semantic names mapping in compatibility mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-04 16:54:54 +01:00
Zebediah Figura
af7f11bb2a shell32: Implement Paste in the item menu.
Based on a patch by Michael Müller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34319
2024-03-04 15:39:06 +01:00
Zebediah Figura
5744ef64a4 shell32: Respect the parent PIDL when pasting from CFSTR_SHELLIDLIST. 2024-03-04 15:39:06 +01:00
Zebediah Figura
c4b38894cd shell32: Reimplement pasting from CF_DROP directly.
Don't convert the source to PIDLs just to convert it back to paths.
2024-03-04 15:39:06 +01:00
Zebediah Figura
48bcf74678 shell32: Add a get_data_format() helper.
Make the logic in do_paste() a bit more idiomatic.
2024-03-04 15:39:06 +01:00
Zebediah Figura
35f5997075 shell32: Move DoPaste() up.
And simplify the control flow a bit while we're at it.
2024-03-04 15:39:06 +01:00
Zebediah Figura
0bc47920d3 shell32: Remove useless and commented out code. 2024-03-04 15:39:06 +01:00
Zebediah Figura
08219c02b3 shell32/tests: Add tests for context menu copy/paste. 2024-03-04 15:39:06 +01:00
Zebediah Figura
366398cc53 msi: Create the custom action server as an elevated process.
Dragon Naturally Speaking 12.5 manually validates that the custom action server
is elevated.

One might imagine that the right approach here is to add a manifest to msiexec;
however, msiexec does not always trigger a UAC prompt on Windows.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
2024-03-04 15:39:06 +01:00
Zebediah Figura
b381f9d095 wine.inf: Set the EnableLUA value to 1.
This signifies that UAC is active.

Foobar2000 checks this value, and won't even try to elevate itself otherwise.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50727
2024-03-04 15:39:06 +01:00
Zebediah Figura
8cc22a60c3 shell32: Elevate the child process for the "runas" verb.
Like all other verbs, the actual command line template is specified in the
registry. The elevation seems to be hardcoded into shell32 for this specific
verb.

The Foobar2000 installer requires administrator privileges, and elevates itself
in this way.

Based on a patch by Michael Müller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50727
2024-03-04 15:39:06 +01:00
Philip Rebohle
ec6879b78e winevulkan: Update to VK spec version 1.3.279.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2024-03-04 15:39:06 +01:00
Hans Leidekker
90f31fbd0a netprofm/tests: Mark a test result as broken on Windows 11. 2024-03-04 15:39:06 +01:00
Shaun Ren
43220a6063 sapi: Implement ISpeechVoice::{get/putref}_Voice. 2024-03-04 15:39:06 +01:00
Shaun Ren
7c384f361a sapi: Implement ISpeechVoice::{get/put}_Volume. 2024-03-04 15:39:06 +01:00
Rémi Bernon
bf800b5e76 mfreadwrite/reader: Adjust min_buffer_size to be 1s of audio data. 2024-03-04 15:39:06 +01:00
Zhiyi Zhang
7865026f53 rtworkq: Avoid possible scenarios that an async callback could be called twice.
Consider a thread A running waiting_item_cancelable_callback() and a thread B running queue_cancel_item(),
which is the scenario from canceling a work item right after it gets submitted by RtwqPutWaitingWorkItem().
When the invoke_async_callback() call in queue_cancel_item() for item key with WAIT_ITEM_KEY_MASK in
thread B runs before the queue_release_pending_item() in waiting_item_cancelable_callback() in thread
A, the async callback is called the first time in queue_cancel_item() with RTWQ_E_OPERATION_CANCELLED,
then a second time in waiting_item_cancelable_callback(). We should check in queue_release_pending_item()
whether an item is already removed by queue_cancel_item() before calling async callbacks.

A different scenario could happen for scheduled_item_cancelable_callback() with the function ends
up calling its async callback even after it has been canceled by queue_cancel_item().
2024-03-04 15:39:06 +01:00
Zhiyi Zhang
f3bab6c5b7 rtworkq: Avoid closing a thread pool object while its callbacks are running.
Consider a thread A running scheduled_item_cancelable_callback() and a thread B running queue_cancel_item(),
which is the scenario from canceling a work item right after it gets submitted by RtwqScheduleWorkItem().
When the CloseThreadpoolTimer() call in queue_cancel_item() in thread B runs before the queue_release_pending_item()
in scheduled_item_cancelable_callback() in thread A, scheduled_item_cancelable_callback() ends up
calling work_item_Release() and CloseThreadpoolTimer() is called again for the same timer object. So
the thread pool timer object end up getting released while the scheduled_item_cancelable_callback()
is running, triggering the '!object->num_running_callbacks' assertion in tp_object_release(). This
is actually a double free but the assertion happens before the second free could happen. The same
thing could happen for thread pool wait objects as well.

Fix mf and mfmediaengine tests sometimes trigger the '!object->num_running_callbacks' assertion.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55724
2024-03-04 15:39:06 +01:00
Tim Clem
c5f9d9188a winebus.sys: Only attempt to open joysticks and gamepads in the IOHID backend.
An extension of 3985b7c5. Opening the device for the Touch Bar on
older MacBooks also triggers a permission prompt, so for now it makes
sense to restrict the devices we open.
2024-03-04 15:39:06 +01:00
Zebediah Figura
4a227c62a5 msi: Multiply by 512 in dialog_vcl_add_drives().
The main motivation here is to avoid overflow, and multiplying in one place seems simpler.
2024-03-04 15:39:06 +01:00
Zebediah Figura
d7bbe884ef msi: Store component cost in 512-byte units.
This avoids overflow when component costs exceed 4 GB.
2024-03-04 15:39:06 +01:00
Zebediah Figura
9725a2286a msi: Round costs up to 4096 bytes instead of clamping. 2024-03-04 15:39:05 +01:00
Zebediah Figura
674efeb1f7 msi/tests: Expand costing tests. 2024-03-04 15:39:05 +01:00
Alexandre Julliard
0c35e9adce ntdll: Use the correct structure for non-volatile registers on ARM. 2024-03-04 14:07:28 +01:00
Alexandre Julliard
42cebcca3c ntdll: Use the correct structure for non-volatile registers on ARM64. 2024-03-04 14:07:28 +01:00
Alexandre Julliard
a9671befc1 ntdll: Always use SEH support on ARM. 2024-03-03 23:10:35 +01:00
Alexandre Julliard
40bda46795 ntdll: Port the RtlRaiseException test to ARM. 2024-03-03 23:10:13 +01:00
Alexandre Julliard
077252f13b ntdll: Port the RtlRaiseException test to ARM64. 2024-03-03 23:10:13 +01:00
Tim Clem
0fb7c99c33 win32u: Don't mask keyboard scan codes when processing them for IME.
Fixes missed key up events on older macOS versions, which could
result in out-of-order input.

Fix via Rémi Bernon <rbernon@codeweavers.com>.
2024-03-01 23:14:22 +01:00
Tim Clem
93bc97e54f winemac.drv: Exclude the emoji Touch Bar when looking for input methods.
Fixes weird keyboard behavior on MacBooks with the Touch Bar.
2024-03-01 23:14:22 +01:00
Esme Povirk
55f71fd846 gdiplus: Implement font linking in GdipAddPathString. 2024-03-01 23:14:22 +01:00
Esme Povirk
3ca8204837 gdiplus: Fix use after free in GdipAddPathString. 2024-03-01 23:14:22 +01:00
Paul Gofman
02b68a0ac1 qcap: Force debug info in critical sections. 2024-03-01 23:14:22 +01:00
Paul Gofman
6e1e52cbc3 ole32: Force debug info in critical sections. 2024-03-01 23:14:22 +01:00
Paul Gofman
e02b3379eb mcicda: Force debug info in critical sections. 2024-03-01 23:14:22 +01:00
Paul Gofman
a7d3d574c0 comctl32: Force debug info in critical sections. 2024-03-01 23:14:22 +01:00
Paul Gofman
7c387c0b0e winexinput.sys: Force debug info in critical sections. 2024-03-01 23:14:22 +01:00
Michael Müller
cfab11e16a wine.inf: Register the New menu as a directory background context menu handler.
CDBurnerXP expects the ContextMenuHandlers key to exist, and apparently
enumerates it until it receives ERROR_NO_MORE_ITEMS. If it fails to open the
key, it will spin forever trying to call RegEnumKeyExW(NULL) and getting
ERROR_INVALID_HANDLE.

We could simply create an empty ContextMenuHandlers key here, but this will
allow the New menu to work in the builtin explorer view once shellex handlers
are implemented.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=29523
2024-03-01 23:14:22 +01:00
Yuxuan Shui
f0fc4a0d89 dmime: Parse MIDI Set Tempo meta events and generate a tempotrack. 2024-03-01 23:14:22 +01:00
Yuxuan Shui
1b1f216278 dmime: Implement setting TempoParam for tempotracks.
And add some tests.
2024-03-01 23:14:22 +01:00
Yuxuan Shui
6a3f067eca dmime: Use linked list for tempotrack.
Preparation for supporting setting TempoParam on tempotracks.
2024-03-01 23:14:22 +01:00
Henri Verbeet
9e79b9ffd9 wined3d: Pass "shader->function" as source to vkd3d_shader_scan() in shader_spirv_scan_shader().
Much like we do in shader_spirv_find_graphics_program_variant_vk() for
shader_spirv_compile_shader(). When compiling an Aon9 shader,
"shader->byte_code" points to the DXBC container, while
"shader->function" points to the contained d3dbc shader.
2024-03-01 23:14:22 +01:00
Rémi Bernon
440edde5e1 mfreadwrite/reader: Implement IMFSourceReaderEx_GetTransformForStream. 2024-03-01 23:14:22 +01:00
Rémi Bernon
ea4b9bafb2 mfreadwrite/reader: Create and append a converter transform.
This enables advanced color conversion in all cases, and thus allows
NV12 -> RGB32 conversion even when MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING
is not set. This should be harmless and makes the code simpler as we
can simply append a VideoProcessor transform in all cases.

The tests todos is tweaked to reflect cases where a single processor
is used, which outputs slightly different attributes to when it is
connected to an upstream decoder. Ultimately we could try to match
native here, but it shouldn't matter too much in the meantime.
2024-03-01 23:14:22 +01:00
Rémi Bernon
d6c9ac94d2 mfreadwrite/reader: Keep the stream transforms in a list. 2024-03-01 23:14:22 +01:00
Rémi Bernon
48cb5297e7 mfreadwrite/reader: Call SetOutputType directly on the decoder transform. 2024-03-01 23:14:22 +01:00
Rémi Bernon
ba3799527c mf/topology_loader: Only propagate some media type attributes. 2024-03-01 23:14:22 +01:00
Rémi Bernon
7325dd4a5a mfreadwrite/reader: Split source_reader_create_decoder_for_stream helper. 2024-03-01 23:14:22 +01:00
Alexandre Julliard
f9dd0fca4c qwave/tests: Remove todo from a succeeding test. 2024-03-01 23:14:22 +01:00
Alexandre Julliard
577c327a44 kernelbase: Implement RaiseException on ARM64EC. 2024-03-01 19:12:10 +01:00
Alexandre Julliard
f35e2d513d ntdll: Implement RtlRaiseException on ARM64EC. 2024-03-01 19:12:10 +01:00
Alexandre Julliard
462b27d87f ntdll/tests: Use a proper handler in the RtlRaiseException test on x86-64. 2024-03-01 19:12:10 +01:00
Alexandre Julliard
ca5984059c ntdll: Implement RtlVirtualUnwind2. 2024-03-01 11:16:54 +01:00
Alexandre Julliard
9ac8d63e22 include: Move unwinding functions definitions to rtlsupportapi.h. 2024-03-01 10:21:48 +01:00
Rémi Bernon
630d79439c winewayland: Remove unnecessary vkDestroySurfaceKHR NULL checks. 2024-03-01 10:21:32 +01:00
Rémi Bernon
a3adb19bef winemac: Remove unnecessary vkDestroySurfaceKHR NULL checks. 2024-03-01 10:21:32 +01:00
Rémi Bernon
e3e628247d winex11: Remove unnecessary vkDestroySurfaceKHR NULL checks. 2024-03-01 10:21:32 +01:00
Rémi Bernon
0dd1502f57 winemac: Remove unnecessary macdrv_get_vk_* helper. 2024-03-01 10:21:29 +01:00
Rémi Bernon
77f4d2207a winex11: Remove unnecessary X11DRV_get_vk_* helpers. 2024-03-01 10:21:29 +01:00
Rémi Bernon
6f122f48d3 winewayland: Remove now unnecessary vulkan function name mapping. 2024-03-01 10:21:29 +01:00
Rémi Bernon
684d51cebb winemac: Remove now unnecessary vulkan function name mapping. 2024-03-01 10:21:29 +01:00
Rémi Bernon
2b25f51e0d winex11: Remove now unnecessary vulkan function name mapping. 2024-03-01 10:21:29 +01:00
Rémi Bernon
f3d3b86668 winevulkan: Succeed VK_KHR_win32_surface procs queries when enabled. 2024-03-01 10:21:29 +01:00
Daniel Lehman
f4a91bcb8a oleaut32: Implement GetSizeMax for BMPs. 2024-03-01 10:12:38 +01:00
Aurimas Fišeras
e5085327ff po: Update Lithuanian translation. 2024-03-01 10:09:05 +01:00
Paul Gofman
1d3b312f22 amstream: Force debug info in critical sections. 2024-02-29 21:22:28 +01:00
Paul Gofman
ce2457d5a9 amstream: Avoid leaking critical section debug info in filter_Release(). 2024-02-29 21:22:27 +01:00
Paul Gofman
c064fdeb8d windows.security.credentials.ui.userconsentverifier: Force debug info in critical sections. 2024-02-29 21:22:26 +01:00
Paul Gofman
ee5828da6a winebus.sys: Force debug info in critical sections. 2024-02-29 21:22:24 +01:00
Paul Gofman
b466a40ffb winmm: Force debug info in critical sections. 2024-02-29 21:22:24 +01:00
Paul Gofman
497992c4ea mciavi32: Force debug info in critical sections. 2024-02-29 21:22:24 +01:00
Jacek Caban
1999e4f3f5 winevulkan: Use VK_EXT_map_memory_placed for memory mapping on wow64. 2024-02-29 21:22:18 +01:00
Jacek Caban
d8e0c8adea winevulkan: Refactor extra extensions handling in wine_vk_device_convert_create_info. 2024-02-29 21:22:18 +01:00
Jacek Caban
64914849ac winevulkan: Use handle map for memory objects. 2024-02-29 21:22:18 +01:00
Jacek Caban
84e4620706 winevulkan: Rename wine_device_memory mapping to vm_map.
To avoid conflict with handle mapping macros.
2024-02-29 21:22:16 +01:00
Jacek Caban
7995f3813c winevulkan: Remove no longer needed spec workarounds. 2024-02-29 21:22:13 +01:00
Jacek Caban
f380e34a5e winevulkan: Update to VK spec version 1.3.278.
The new spec uses length attribute for some static arrays. Change is_dynamic_array
to account account for that. Eventually we could use the new information to improve
conversion thunks.
2024-02-29 21:22:06 +01:00
Noah Berner
2dcc8ec08d comctl32/tests: Fix test that fails on Feb 29th. 2024-02-29 19:25:10 +01:00
Daniel Lehman
8c5b08d81c oleaut32: Implement GetSizeMax for empty picture. 2024-02-29 19:22:22 +01:00
Daniel Lehman
beececd101 oleaut32/tests: Add tests for IPersistStream::GetSizeMax. 2024-02-29 19:22:22 +01:00
Zebediah Figura
820b5ff0d1 shell32/tests: Add a few more tests for the New menu. 2024-02-29 19:21:50 +01:00
Zebediah Figura
9d9c3960ef shell32: Implement InvokeCommand() for the new menu. 2024-02-29 19:21:47 +01:00
Zebediah Figura
c2ee8627ff shell32: Enumerate the ShellNew key for Folder. 2024-02-29 19:21:37 +01:00
Zebediah Figura
227408c4fc wine.inf: Add ShellNew registry entries for Folder. 2024-02-29 19:21:08 +01:00
Zebediah Figura
e564b0d775 shell32: Return an initial "New" menu. 2024-02-29 19:19:28 +01:00
Alexandre Julliard
c67053bcce include: Remove the private definitions of the exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
64b2e44697 widl: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
b0a7439b30 winedbg: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
18543523e8 wow64: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
8605708e02 winecrt0: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
3282eda525 win32u: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
8739aef4ff msvcrt: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
35ef1be8ef msvcp90: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
9c5df8004d krnl386.exe: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
0698f732af kernelbase: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alexandre Julliard
97259a3049 ntdll: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Jacek Caban
7a66313cfb winebuild: Output load config on PE targets. 2024-02-29 08:39:30 +01:00
Brendan McGrath
57c2c41d75 mshtml: Don't handle special case when doc != node->doc. 2024-02-29 08:38:38 +01:00
Brendan McGrath
74ff9f2371 mshtml: Always use the event target dispex.
The event target may be from a different document to the document associated with the
event handler.
2024-02-29 08:38:36 +01:00
Brendan McGrath
34a8478da8 mshtml/tests: Add test for document mode after InitNew and Load. 2024-02-29 08:38:36 +01:00
Brendan McGrath
54980a7868 mshtml: Use generic event dispatcher for DOMContentLoaded.
Use generic event dispatcher instead of nsevent for the
DOMContentLoaded event.

Also allow processing before dispatching event.

Only update dom_content_loaded_event start/end time when the event is
trusted.
2024-02-29 08:38:35 +01:00
Brendan McGrath
277acf61d0 mshtml: Pass DOMEvent instead of nsIDOMEvent during handle_event. 2024-02-29 08:38:33 +01:00
Paul Gofman
6cbe072c37 kernelbase: Use KEY_WOW64_64KEY flag when 64 bit registry access is assumed. 2024-02-28 22:40:43 +01:00
Aida Jonikienė
61983465aa qwave: Add tests for QOSCloseHandle(). 2024-02-28 21:57:55 +01:00
Aida Jonikienė
d6f13d8e0c qwave: Add QOSCloseHandle() stub.
Discord calls this function when hanging up a call.
2024-02-28 21:57:52 +01:00
Piotr Caban
da84d77353 wininet: Fix memory leak when loading proxy information. 2024-02-28 21:57:35 +01:00
Yuxuan Shui
29f73d6669 dmime: Add a stub chordtrack for MIDI segments. 2024-02-28 21:56:24 +01:00
Yuxuan Shui
05347b9703 dmime: Parse MIDI program change events and generate a bandtrack. 2024-02-28 21:56:24 +01:00
Yuxuan Shui
aebcb1a996 dmime: Better MIDI parsing interface.
MIDI tracks don't map one-to-one to segment tracks, so it doesn't make sense to use a
"get_next_track()" interface.
2024-02-28 21:56:22 +01:00
Yuxuan Shui
09c6f48b12 dmband: Move band.c to dmusic. 2024-02-28 21:56:19 +01:00
Alexandros Frantzis
8e0a00db04 winex11.drv: Remove unused refresh_drawables field.
The field is set but no longer read from.
2024-02-28 21:56:10 +01:00
Rémi Bernon
72c228a3ab winevulkan: Remove unnecessary WINEVULKAN_QUIRK_ADJUST_MAX_IMAGE_COUNT quirk. 2024-02-28 21:55:25 +01:00
Esme Povirk
1ee1f2e9d7 gdiplus: Fix crash in GdipAddPathString.
Apparently, 1454ffe7dd introduced
the assumption that the font passed to gdip_format_string is
non-NULL, and GdipAddPathString wasn't passing it in.
2024-02-28 21:54:59 +01:00
Alexandre Julliard
ebaa47dcee winedump: Print the correct register names for exception info on ARM64. 2024-02-28 19:51:20 +01:00
Alexandre Julliard
3de0f99d4e ntdll: Remove no longer needed definitions from the private header. 2024-02-28 19:51:20 +01:00
Alexandre Julliard
9478e1f74c ntdll: Move RtlHashUnicodeString constants to a public header. 2024-02-28 19:51:20 +01:00
Alexandre Julliard
6a153ac33e ntdll: Use the exported structures for dll redirection data. 2024-02-28 19:51:20 +01:00
Alexandre Julliard
31e3c4316d ntdll: Implement RtlCaptureContext on ARM64EC. 2024-02-28 19:51:20 +01:00
Rémi Bernon
9591a36ee8 server: Dispatch rawinput messages using the rawinput process list. 2024-02-28 19:51:20 +01:00
Rémi Bernon
c43b1ecbc3 server: Keep a list of processes that can receive rawinput messages. 2024-02-28 19:51:20 +01:00
Rémi Bernon
f7303cf7b6 server: Keep a list of threads connected to each desktop. 2024-02-28 19:51:20 +01:00
Rémi Bernon
496eed7aaf server: Send hardware input to the visible input desktop.
When hwnd is specified, it is because it received a direct host input,
so switch the input desktop to match the one that is receiving it.

We don't validate that the sending thread uses the same desktop as the
target window: it may not even be the case for drivers with a separate
thread that listens on input events.
2024-02-28 19:51:20 +01:00
Rémi Bernon
a1d63d109d server: Keep track of the winstation input desktop. 2024-02-28 19:51:20 +01:00
Rémi Bernon
c77261dd5c win32u: Introduce new NtUserSwitchDesktop syscall stub. 2024-02-28 19:51:20 +01:00
Zhiyi Zhang
d287548c77 Revert "winex11.drv: Handle X error from vkGetRandROutputDisplayEXT()."
This reverts commit 6f9d20806e.

6f9d208 was committed to work around a Nvidia driver bug that can cause vkGetRandROutputDisplayEXT()
to generate an X exception and crash applications. The bug is later fixed in Nvidia driver 450.56.11
and newer. Thus 6f9d208 is no longer necessary on the newer Nvidia drivers.

Then after 18ae96e, another bug in the Nvidia driver can cause vkGetRandROutputDisplayEXT() to hang
forever when XLockDisplay() is called before vkGetRandROutputDisplayEXT() and this bug is still not
fixed and affects multiple applications. Reverting 6f9d208 allows us to work around the
vkGetRandROutputDisplayEXT() hang bug because then it no longer calls XLockDisplay() before
vkGetRandROutputDisplayEXT().

Nvidia driver 455 was released on September 9th 2020 so hopefully the fix is already widespread. We
could theoretically still keep 6f9d208 on older Nvidia drivers by doing version checks. But it's
more straightforward to remove the workaround since it's not a bug of Wine.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53428
2024-02-28 19:51:16 +01:00
Vijay Kiran Kamuju
c2a4f3810b taskschd: Implement TaskService_get_ConnectedDomain.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48110
2024-02-27 21:17:58 +01:00
Vijay Kiran Kamuju
e1e0db6ebe taskschd: Implement IRegistrationTrigger_getEnabled. 2024-02-27 21:17:58 +01:00
Vijay Kiran Kamuju
ea552a6f39 taskschd: Implement IRegistrationTrigger_putEnabled. 2024-02-27 21:17:58 +01:00
Vijay Kiran Kamuju
4b9e76914a taskschd: Add IRegistrationTrigger stub implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46773
2024-02-27 21:17:58 +01:00
Vijay Kiran Kamuju
c34159db39 include: Add IRegistrationTrigger definition. 2024-02-27 21:17:58 +01:00
Paul Gofman
f5ba517323 wined3d: Force debug info in critical sections. 2024-02-27 21:17:50 +01:00
Paul Gofman
c837cb3e77 rsaenh: Force debug info in critical sections. 2024-02-27 21:17:50 +01:00
Paul Gofman
ed8b7b5e2a netapi32: Force debug info in critical sections. 2024-02-27 21:17:50 +01:00
Paul Gofman
a02d35d386 msvcrt: Force debug info in critical sections. 2024-02-27 21:17:50 +01:00
Paul Gofman
bca7038692 msvcp: Force debug info in critical sections. 2024-02-27 21:17:50 +01:00
Paul Gofman
beec1b57fb ntdll: Support generic xstate config in context manipulation functions. 2024-02-27 18:52:46 +01:00
Paul Gofman
efd3d31082 ntdll: Don't copy xstate from / to syscall frame in usr1_handler(). 2024-02-27 18:52:46 +01:00
Paul Gofman
ba1e2d5dda ntdll: Mind context compaction mask in context_from_server(). 2024-02-27 18:52:46 +01:00
Alexandre Julliard
631a43c577 ntdll: Use a .seh handler in RtlUserThreadStart on ARM64EC. 2024-02-27 16:50:47 +01:00
Alexandre Julliard
8e26b7e007 ntdll: Use a .seh handler in DbgUiRemoteBreakin on ARM64EC. 2024-02-27 16:50:47 +01:00
Alexandre Julliard
58e68a1b8a ntdll: Always use .seh handlers on ARM. 2024-02-27 16:46:47 +01:00
Alexandre Julliard
89336772f8 wow64: Use a .seh handler for the simulation loop. 2024-02-27 16:20:55 +01:00
Alexandre Julliard
259b92d13e wow64: Update Wow64RaiseException behavior to match i386 hardware exceptions. 2024-02-27 16:02:18 +01:00
Alexandre Julliard
4e25c07689 winebuild: Remove some no longer used support for ELF ARM platforms. 2024-02-27 13:01:57 +01:00
Fabian Maurer
8351a45cb2 win32u: Sync dpi awareness changes from user32. 2024-02-27 11:47:42 +01:00
Fabian Maurer
c77d2e8a97 user32: Fix AreDpiAwarenessContextsEqual behavior for DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56360
2024-02-27 11:47:40 +01:00
Fabian Maurer
f541d947bb user32/tests: Add tests for AreDpiAwarenessContextsEqual. 2024-02-27 11:47:36 +01:00
Fabian Maurer
21bdc585f3 user32: Fix Set/GetThreadDpiAwarenessContext for DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56360
2024-02-27 11:47:33 +01:00
Fabian Maurer
9ccfac44d5 user32/tests: Add exhaustive tests for Get/SetThreadDpiAwarenessContext. 2024-02-27 11:47:29 +01:00
Fabian Maurer
cbcf609108 win32u: Refactor get_thread_dpi_awareness to use get_awareness_from_dpi_awareness_context. 2024-02-27 11:47:26 +01:00
Fabian Maurer
d96754213c win32u: Move get_awareness_from_dpi_awareness_context. 2024-02-27 11:42:20 +01:00
Zebediah Figura
777a9d0f51 shell32: Stub IObjectWithSite on the New menu.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24812
2024-02-27 11:37:47 +01:00
Zebediah Figura
667eca5c0c shell32: Stub IContextMenu3 on the New menu.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24812
2024-02-27 11:37:47 +01:00
Zebediah Figura
1662fa9ab1 shell32: Stub CLSID_NewMenu.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24812
2024-02-27 11:37:46 +01:00
Brendan Shanks
fe4f138292 ntdll: Add native thread renaming for FreeBSD. 2024-02-27 11:37:06 +01:00
Jacek Caban
a542400d15 vcomp/tests: Use limits.h macros in for_static_i8_cb.
Fixes clang warning:
vcomp.c:1346:34: warning: overflow in expression; result is -9223372036854775808 with type 'long long' [-Winteger-overflow]
2024-02-27 11:36:41 +01:00
Jacek Caban
2a5acd3dda configure: Disable -Wmisleading-indentation warnings on GCC. 2024-02-27 11:31:45 +01:00
Zebediah Figura
ef6e9a6bb4 wined3d/atifs: Move fragment program compilation from set_tex_op_atifs() to atifs_apply_draw_state(). 2024-02-26 22:44:35 +01:00
Zebediah Figura
3d6c33f450 wined3d/atifs: Move FFP bumpenv constant loading to atifs_apply_draw_state(). 2024-02-26 22:44:35 +01:00
Zebediah Figura
0e0ee3e21b wined3d/atifs: Move texture constant loading to arbfp_apply_draw_state(). 2024-02-26 22:44:35 +01:00
Zebediah Figura
3153441f14 wined3d/atifs: Move TEXTUREFACTOR constant loading to arbfp_apply_draw_state(). 2024-02-26 22:44:35 +01:00
Vijay Kiran Kamuju
3db38ea7f4 taskschd: Return success from Principal_put_RunLevel.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49877
2024-02-26 22:44:35 +01:00
Vijay Kiran Kamuju
6ec977aa00 taskschd: Implement ITaskService_get_ConnectedUser.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48110
2024-02-26 22:44:35 +01:00
Paul Gofman
b9a2ff2558 mmdevapi: Force debug info in critical sections. 2024-02-26 22:44:35 +01:00
Paul Gofman
131918e4c2 itss: Force debug info in critical sections. 2024-02-26 22:44:35 +01:00
Paul Gofman
f4a3f573c2 browseui: Force debug info in critical sections. 2024-02-26 22:44:35 +01:00
Paul Gofman
03e3bd947f wmwcore: Force debug info in critical sections. 2024-02-26 22:44:35 +01:00
Paul Gofman
0d51cce2fb wbemprox: Force debug info in critical sections. 2024-02-26 22:44:35 +01:00
Hans Leidekker
4cc9ee7e67 wbemprox: Handle implicit property in object path.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55619
2024-02-26 22:44:35 +01:00
Hans Leidekker
d2df3c2c21 netprofm: Set return pointer to NULL in networks_enum_Next().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56271
2024-02-26 22:44:35 +01:00
Hans Leidekker
635e0566a3 netprofm: Support NLM_ENUM_NETWORK flags.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56271
2024-02-26 22:44:35 +01:00
Paul Gofman
fbd6b2583d iphlpapi: Partially fill Ipv4 / Ipv6 metric in GetAdaptersAddresses(). 2024-02-26 22:44:35 +01:00
Paul Gofman
ee06925319 nsiproxy.sys: Fix ipv6 route table parsing on Linux. 2024-02-26 22:44:35 +01:00
Eric Pouech
9897719562 server: Allow 0-write length in WriteProcessMemory().
Adapt to Win >= 10 behavior.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56357
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-26 22:44:35 +01:00
Alexandre Julliard
2aee2990c0 ntdll: Add SEH information to ARM64EC breakpoints. 2024-02-26 22:44:35 +01:00
Alexandre Julliard
0abbb467af include: Add SEH information to ARM64EC syscalls. 2024-02-26 22:44:35 +01:00
Alexandre Julliard
79b9b60914 win32u: Add a wrapper macro for ARM64EC syscalls. 2024-02-26 12:56:31 +01:00
Alexandre Julliard
0c59e8622b ntdll: Add a wrapper macro for ARM64EC syscalls. 2024-02-26 12:56:31 +01:00
Zebediah Figura
f7c665fd6e shell32: Also zero-initialize the background menu.
Fixes: 063a377df4
2024-02-26 09:55:41 +01:00
Esme Povirk
c37fea89e6 gdiplus: Restore hdc argument to gdip_format_string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56345
2024-02-26 09:50:55 +01:00
Esme Povirk
0d0d37bbea gdiplus: Pass gdip_format_string_info to font link functions. 2024-02-26 09:50:55 +01:00
Esme Povirk
f2c92c68a2 gdiplus: Switch to a struct for gdip_format_string callback args. 2024-02-26 09:50:55 +01:00
Sven Baars
8a8d1dedcf oleaut32: Use scientific notation if it prevents a loss of accuracy. 2024-02-26 09:50:35 +01:00
Alexandre Julliard
1b32ac45f8 Release 9.3. 2024-02-23 22:19:13 +01:00
Hans Leidekker
9015eebf87 wbemprox: Protect tables with a critical section.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56334
2024-02-23 21:05:57 +01:00
Alex Henrie
ce6e298a68 advapi32/tests: Use CRT allocation functions. 2024-02-23 17:13:19 +01:00
Rémi Bernon
74bf784b29 server: Use the startup info to connect the process winstation.
This changes the todos in the tests as it fixes the thread input not
being attached, but then exposes a different todo.
2024-02-23 17:11:00 +01:00
Paul Gofman
c55f5d87db wininet: Force debug info in critical sections. 2024-02-23 17:09:41 +01:00
Paul Gofman
4e49c37028 windowscodecs: Force debug info in critical sections. 2024-02-23 17:09:41 +01:00
Paul Gofman
fae3b7a90f qmgr: Force debug info in critical sections. 2024-02-23 17:09:41 +01:00
Paul Gofman
27e70ba8ec ntdll: Force debug info in critical sections. 2024-02-23 17:09:41 +01:00
Paul Gofman
7c2f6be10e mscoree: Force debug info in critical sections. 2024-02-23 17:09:41 +01:00
Alexandre Julliard
2e6651cb36 ntdll/tests: Fix a test failure when exception information is missing. 2024-02-23 17:00:28 +01:00
Alexandre Julliard
af64a8bb5c winebuild: Remove ARM code generation option.
They are not needed for PE builds.
2024-02-23 12:02:17 +01:00
Alexandre Julliard
0c0d181551 winegcc: Stop passing ARM code generation options to winebuild.
They are not needed for PE builds.
2024-02-23 12:01:38 +01:00
Alexandre Julliard
71a2e64aee configure: Require floating point support on ARM targets.
PE code requires hardware floating point.
2024-02-23 11:42:08 +01:00
Alexandre Julliard
23218818ac configure: Stop passing ARM code generation options to winebuild.
They are not needed for PE builds.
2024-02-23 11:34:31 +01:00
Jinoh Kang
232b18d820 kernel32/tests: Fix console test with odd-sized consoles. 2024-02-22 22:37:10 +01:00
Louis Lenders
7a92a33b27 imm32: Update spec file.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56299
2024-02-22 22:35:06 +01:00
Alexandre Julliard
2778e45421 ntdll: Remove support for unwinding ELF dlls on ARM. 2024-02-22 22:35:06 +01:00
Alexandre Julliard
654c03d131 ntdll: Handle leaf functions in RtlVirtualUnwind on x86-64. 2024-02-22 22:35:06 +01:00
Alexandre Julliard
18b0473fe9 ntdll: Handle leaf functions in RtlVirtualUnwind on ARM. 2024-02-22 22:35:06 +01:00
Alexandre Julliard
9f555cde20 ntdll: Handle leaf functions in RtlVirtualUnwind on ARM64. 2024-02-22 22:35:06 +01:00
Alexandre Julliard
852e2ffc13 include: Add new idl files to the makefile. 2024-02-22 12:56:33 +01:00
Rémi Bernon
f7bff8802f winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormatsKHR driver entry. 2024-02-22 12:56:14 +01:00
Rémi Bernon
8a98408056 winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormats2KHR driver entry. 2024-02-22 12:47:25 +01:00
Rémi Bernon
64ced5a345 winevulkan: Implement vkGetPhysicalDeviceSurfaceFormats2KHR fallback. 2024-02-22 12:47:21 +01:00
Alex Henrie
73685eb080 msxml3: Use CRT allocation functions. 2024-02-22 12:46:06 +01:00
Yuxuan Shui
5613917974 dmime/tests: Improve error reporting from expect_track.
Include a line number of the call site.
2024-02-22 12:45:55 +01:00
Yuxuan Shui
8710a1cb0a dmime: Read through a MIDI file.
Add a dummy track parser, that reads through MIDI tracks and events. To make sure we understand the
file structure correctly, no actual tracks or events are generated.

Also add test cases to make sure we read through a MIDI file correctly.
2024-02-22 12:45:52 +01:00
Yuxuan Shui
813b35c9d1 dmime: Don't skip chunk for MIDI files.
MIDI files aren't RIFF, calling stream_skip_chunk on it is invalid.
2024-02-22 12:45:51 +01:00
Brendan McGrath
c65ac223a0 d2d1/tests: Increase timeout from 1 sec to 5 secs.
Fixes a test that is frequently failing on the GitLab CI.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56188
2024-02-22 12:44:01 +01:00
Alex Henrie
2e9a57a0b8 include: Add debugstr_time to wine/strmbase.h. 2024-02-22 12:30:47 +01:00
Rémi Bernon
d0eea21735 winevulkan: Remove now unnecessary vkGetPhysicalDevicePresentRectanglesKHR driver entry. 2024-02-21 22:30:34 +01:00
Rémi Bernon
b541b9661a winevulkan: Handle invalid window in vkGetPhysicalDevicePresentRectanglesKHR. 2024-02-21 22:30:31 +01:00
Rémi Bernon
9a1362695b winevulkan: Handle invalid window in vkCreateSwapchainKHR. 2024-02-21 22:30:31 +01:00
Rémi Bernon
0d969b1764 winex11: Remove now unnecessary create_info HWND checks. 2024-02-21 22:30:31 +01:00
Rémi Bernon
8ba1b27f23 winevulkan: Handle creation of surfaces with no HWND directly. 2024-02-21 22:30:31 +01:00
Ivo Ivanov
e24cf32f81 hidclass.sys: Use HID_DEVICE in the mfg_section to match the recent changes. 2024-02-21 22:30:03 +01:00
Rémi Bernon
437d304c72 winegstreamer: Rename struct h264_decoder to struct video_decoder. 2024-02-21 22:30:03 +01:00
Rémi Bernon
ae584ac620 winegstreamer: Use the H264 decoder to implement the IV50 decoder. 2024-02-21 22:30:03 +01:00
Rémi Bernon
e1b21bf1e9 ir50_32: Use the proper hr value for stream format change. 2024-02-21 22:30:03 +01:00
Rémi Bernon
9a591bf4fe winegstreamer: Use MFCalculateImageSize to compute output info size. 2024-02-21 22:30:03 +01:00
Paul Gofman
39e5926760 inetcomm: Force debug info in critical sections. 2024-02-21 22:30:03 +01:00
Paul Gofman
6fda28d030 dwrite: Force debug info in critical sections. 2024-02-21 22:30:03 +01:00
Paul Gofman
c63a990091 dsound: Force debug info in critical sections. 2024-02-21 22:30:03 +01:00
Paul Gofman
8268d4e017 dplayx: Force debug info in critical sections. 2024-02-21 22:30:03 +01:00
Paul Gofman
a485f6b4a3 dinput: Force debug info in critical sections. 2024-02-21 22:30:03 +01:00
Ivo Ivanov
2497a53484 hidclass.sys: Use the correct string for container_id. 2024-02-21 22:30:03 +01:00
Alexandre Julliard
8bd411da0a ntdll: Share exception dispatch implementation across platforms. 2024-02-21 21:55:04 +01:00
Alexandre Julliard
61564202b5 ntdll: Add a helper macro to dump a register context. 2024-02-21 21:55:04 +01:00
Alexandre Julliard
2e63272f2f ntdll: Default to the SEH channel on x86-64.
The unwind info is now printed from unwind.c.
2024-02-21 21:55:04 +01:00
Paul Gofman
9c1bc32fe9 winhttp: Mind read size when skipping async read in WinHttpReadData(). 2024-02-21 21:55:04 +01:00
Rémi Bernon
a3686eeb5e win32u: Don't assume that the primary adapter is always first. 2024-02-21 21:55:04 +01:00
Rémi Bernon
76326ed369 win32u: Only consider active monitors in monitor_from_rect. 2024-02-21 21:55:04 +01:00
Rémi Bernon
f7788fc7e7 win32u: Only consider active monitors for virtual screen rect. 2024-02-21 21:55:04 +01:00
Rémi Bernon
db391c37a9 win32u: Only consider active monitors for clone detection. 2024-02-21 21:55:04 +01:00
Rémi Bernon
e4ff578bcc win32u: Deduce monitor device flags from their adapter. 2024-02-21 21:55:04 +01:00
Brendan Shanks
e628eb2c6f ntdll: On x86_64, don't access %gs in signal_start_thread().
%gs is not set until call_init_thunk().
Also, adjust other TEB accesses to be consistent with the surrounding
functions.

Fixes a crash on macOS introduced by 7ae488a2bb
("ntdll: Don't hardcode xstate size in syscall frame.")
2024-02-21 11:09:21 +01:00
Alex Henrie
340a4b05b5 wined3d: Use CRT allocation functions. 2024-02-20 22:27:02 +01:00
Biswapriyo Nath
6ec9f446eb include: Add FaceDetector runtimeclass in windows.media.faceanalysis.idl. 2024-02-20 22:26:58 +01:00
Biswapriyo Nath
f0ab43fea2 include: Add DetectedFace runtimeclass in windows.media.faceanalysis.idl. 2024-02-20 22:26:57 +01:00
Biswapriyo Nath
fbe99509d6 include: Add SoftwareBitmap runtimeclass in windows.graphics.imaging.idl. 2024-02-20 22:26:57 +01:00
Biswapriyo Nath
af4838321e include: Add BitmapBuffer runtimeclass in windows.graphics.imaging.idl. 2024-02-20 22:26:57 +01:00
Biswapriyo Nath
fe4f7632a7 include: Add IDirect3DSurface in windows.graphics.directx.direct3d11.idl. 2024-02-20 22:26:57 +01:00
Daniel Lehman
fb5302c29b msvcrt: Use string sort for strcoll/wcscoll. 2024-02-20 22:26:29 +01:00
Daniel Lehman
188d880493 msvcrt/tests: Add tests for strcoll/wcscoll. 2024-02-20 22:26:29 +01:00
David Kahurani
386dbe1059 msi: Avoid leaking stream on DB update.
MSI_RecordGetIStream adds a reference to the stream. This
reference should be negated as we are done setting the stream.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-02-20 22:26:13 +01:00
Zebediah Figura
9a614fefaf wined3d/arb: Move FFP bumpenv constant loading to arbfp_apply_draw_state(). 2024-02-20 22:26:01 +01:00
Zebediah Figura
088da327b5 wined3d/arb: Move texture constant loading to arbfp_apply_draw_state(). 2024-02-20 22:26:00 +01:00
Zebediah Figura
0f7ef9f47a wined3d/arb: Move color key constant loading to arbfp_apply_draw_state(). 2024-02-20 22:25:58 +01:00
Zebediah Figura
8faac9b94a wined3d/arb: Move TEXTUREFACTOR constant loading to arbfp_apply_draw_state(). 2024-02-20 22:25:56 +01:00
Zebediah Figura
6c1c917750 wined3d/arb: Move SPECULARENABLE constant loading to arbfp_apply_draw_state(). 2024-02-20 22:25:54 +01:00
Alexandre Julliard
f0584966c2 ntdll/tests: Run RtlVirtualUnwind tests on ARM64EC. 2024-02-20 11:05:13 +01:00
Alexandre Julliard
ec5e33cad6 ntdll/tests: Run dynamic unwind tests on ARM platforms. 2024-02-20 11:03:58 +01:00
Alexandre Julliard
510fc64140 ntdll/tests: Move unwinding tests to a separate file. 2024-02-20 10:58:13 +01:00
Eric Pouech
552bc893e1 dbghelp: Don't expected a fixed number of substreams in DBI header (PDB).
MSC no longer emits a fixed number of substreams (depending on version of
PDB file), but can emit less.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-20 10:51:37 +01:00
Eric Pouech
dee3be21a3 winedump: Don't expect a fixed number of substreams in DBI header (PDB).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-20 10:51:36 +01:00
Shaun Ren
c72f0ec0f0 sapi: Implement ISpeechVoice::Invoke. 2024-02-20 10:47:11 +01:00
Shaun Ren
9d044669f3 sapi: Implement ISpeechVoice::GetIDsOfNames. 2024-02-20 10:47:11 +01:00
Shaun Ren
dd083a6195 sapi: Implement ISpeechVoice::GetTypeInfo. 2024-02-20 10:47:11 +01:00
Shaun Ren
58087358d1 sapi: Implement ISpeechVoice::GetTypeInfoCount. 2024-02-20 10:47:11 +01:00
Shaun Ren
62aec0318b sapi: Implement ISpeechVoice::GetVoices. 2024-02-20 10:47:11 +01:00
Shaun Ren
0f8b59a245 sapi: Introduce create_token_category helper in tts. 2024-02-20 10:47:11 +01:00
Shaun Ren
4bbfd83898 sapi: Handle zero-length attributes correctly in ISpObjectTokenCategory::EnumTokens. 2024-02-20 10:47:11 +01:00
Shaun Ren
5243f2e82c sapi: Implement ISpeechVoice::Speak. 2024-02-20 10:47:11 +01:00
Shaun Ren
afac7d7e3f sapi: Free typelib on DLL detach. 2024-02-20 10:47:11 +01:00
Paul Gofman
164520f593 crypt32: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Paul Gofman
9149c7e999 combase: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Paul Gofman
6ba603a03c kernelbase: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Paul Gofman
431a483edc xaudio2: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Paul Gofman
5e3cc88326 winhttp: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Zhiyi Zhang
7c7b2e8e7e dsound: Reject WAVEFORMATEX formats with more than two channels.
Formats with more than two channels require WAVEFORMATEXTENSIBLE according to tests.

Fix Viking: Battle for Asgard (211160) audio cracking in its intro video.
2024-02-20 10:44:05 +01:00
Zhiyi Zhang
b3ec5bc7ea dsound/tests: Test that formats with more than two channels require WAVEFORMATEXTENSIBLE. 2024-02-20 10:44:05 +01:00
Aurimas Fišeras
89e3be4ee9 po: Update Lithuanian translation. 2024-02-20 10:43:08 +01:00
Kartavya Vashishtha
1e34842799 kernelbase: Implement CopyFile2(). 2024-02-20 10:42:57 +01:00
Jinoh Kang
1b0d8428df kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
It also fixes the game Unity of Command II (same bug).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46070
2024-02-19 21:28:42 +01:00
Jinoh Kang
152580cefe ntdll: Implement NtQueryInformationFile FileStatInformation. 2024-02-19 21:28:42 +01:00
Jinoh Kang
f5e7abb428 ntdll/tests: Add tests for NtQueryInformationFile FileStatInformation. 2024-02-19 21:28:42 +01:00
Jinoh Kang
4f61a8a1ab include: Add definition for FILE_STAT_INFORMATION. 2024-02-19 21:28:41 +01:00
Vijay Kiran Kamuju
08803bd136 include: Add msdelta header file. 2024-02-19 20:39:43 +01:00
Daniel Lehman
6a6263c8bd msvcrt/tests: Include locale in ok message. 2024-02-19 20:39:43 +01:00
Daniel Lehman
588db48be5 msvcrt: Use string sort for strncoll/wcsncoll. 2024-02-19 20:39:43 +01:00
Eric Pouech
65109c725d dbghelp: Implement SymFromIndex().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-19 20:39:43 +01:00
Eric Pouech
989988a5ae winedbg: Use share attributes for opening command file.
(this fixes --command option when winedbg is relaunched in
wow64 case).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-19 20:39:43 +01:00
Zebediah Figura
063a377df4 shell32: Properly implement context menu verbs.
Enumerate "shell" registry key entries instead of hardcoding a list.

Don't enumerate any entries unless all the files have the same type.

Pass the correct type to ShellExecuteEx().
2024-02-19 18:28:21 +01:00
Zebediah Figura
d1eed1c702 shell32: Separate a get_filetype() helper. 2024-02-19 18:26:52 +01:00
Zebediah Figura
6fd349c6e0 shell32: Do not set the default menu item from ShellView_DoContextMenu().
This was added in f045c9df81, with no explanation.

It does not affect any behaviour in Wine, since FWF_DESKTOP is never set.

It does not make sense, since "open" is already usually the default action on
Windows, and it's not obvious why FWF_DESKTOP would affect this.

It also leans on IContextMenu implementation details.
2024-02-19 18:26:52 +01:00
Zebediah Figura
d9c4f506fd shell32: Always use IContextMenu::InvokeCommand() when selecting an item from the context menu.
This reverts one of the changes included in d30dfd24d6.

Relying on FCIDM_SHVIEW_OPEN snoops into the internals of IContextMenu for no
good reason.

While I haven't tested whether ICommDlgBrowser::OnDefaultCommand() is triggered
in this case, the documentation states that it is "called when a user
double-clicks in the view or presses the ENTER key"; this is neither scenario.

Simply let the context menu call ShellExecuteEx().
2024-02-19 18:26:52 +01:00
Zebediah Figura
f27e4a4a29 shell32: Remove two unused strings.
These were never used. They were probably anticipating the context menu, but are
missing accelerators and otherwise redundant with the existing entries.
2024-02-19 18:26:47 +01:00
Alex Henrie
e7364e2165 include: Annotate NdrGetBuffer with __WINE_(ALLOC_SIZE|MALLOC).
It would be nice to annotate it with __WINE_DEALLOC(NdrFreeBuffer) too,
but that causes a bunch of spurious -Wfree-nonheap-object warnings.
2024-02-19 18:15:13 +01:00
Rémi Bernon
6599f2ff90 winegstreamer: Complete H264 current output type reported attributes. 2024-02-19 18:15:09 +01:00
Rémi Bernon
a6d77cfd06 winegstreamer: Use GUID arrays for H264 decoder media types. 2024-02-19 18:15:09 +01:00
Rémi Bernon
5bf6af0c39 winegstreamer: Remove unnecessary create_output_media_type checks. 2024-02-19 18:15:09 +01:00
Rémi Bernon
71f5bce785 winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetOutputAvailableType. 2024-02-19 18:15:09 +01:00
Rémi Bernon
86d82c7334 winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetInputAvailableType. 2024-02-19 18:15:08 +01:00
Rémi Bernon
bb872831de winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilitiesKHR driver entry. 2024-02-19 18:14:43 +01:00
Rémi Bernon
923f1d1b10 winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilities2KHR driver entry. 2024-02-19 18:14:43 +01:00
Rémi Bernon
c83f86bef5 winevulkan: Implement vkGetPhysicalDeviceSurfaceCapabilities2KHR fallback. 2024-02-19 18:14:43 +01:00
Rémi Bernon
32e56bd029 winewayland: Remove now unnecessary VkSurfaceCapabilitiesKHR fixups. 2024-02-19 18:14:43 +01:00
Rémi Bernon
5a4d3bad17 winevulkan: Adjust VkSurfaceCapabilitiesKHR image extents with client rect. 2024-02-19 18:14:43 +01:00
Rémi Bernon
6eab84685e winevulkan: Wrap host swapchain handles. 2024-02-19 18:14:43 +01:00
Piotr Caban
8314812354 wininet/tests: Add initial PAC script tests. 2024-02-19 18:13:28 +01:00
Piotr Caban
b049dad6fd inetcpl.cpl: Use wininet functions to set proxy settings. 2024-02-19 18:13:26 +01:00
Piotr Caban
a5ce5d637f wininet/tests: Add more INTERNET_OPTION_PER_CONNECTION_OPTION tests. 2024-02-19 18:13:26 +01:00
Piotr Caban
62027a9c4d wininet: Add support for INTERNET_OPTION_PER_CONNECTION_OPTION option on session handles. 2024-02-19 18:13:26 +01:00
Piotr Caban
9aa7f27d82 wininet: Fix INTERNET_PER_CONN_AUTOCONFIG_URL option when quering global proxy settings. 2024-02-19 18:13:26 +01:00
Piotr Caban
b16110f17b wininet: Add support for INTERNET_PER_CONN_AUTOCONFIG_URL in InternetSetOption. 2024-02-19 18:13:26 +01:00
Floris Renaud
7e0177e1e4 po: Update Dutch translation. 2024-02-18 14:15:15 +01:00
Alexandre Julliard
839fb09bf0 fluidsynth: Import upstream release 2.3.4. 2024-02-17 22:42:20 +01:00
Alexandre Julliard
7914be3ca5 zydis: Import upstream release 4.1.0.
With headers from Zycore version 1.5.0.
2024-02-17 22:18:47 +01:00
Alexandre Julliard
da62790584 xml2: Import upstream release 2.11.7. 2024-02-17 21:04:18 +01:00
Alexandre Julliard
f1454777a8 xslt: Import upstream release 1.1.39. 2024-02-17 20:54:51 +01:00
Alexandre Julliard
72b7866950 ldap: Import upstream release 2.5.17. 2024-02-17 20:54:51 +01:00
Alexandre Julliard
b15d0120cf lcms2: Import upstream release 2.16. 2024-02-17 20:54:51 +01:00
Alexandre Julliard
041167b20a zlib: Import upstream release 1.3.1. 2024-02-17 18:42:30 +01:00
Alexandre Julliard
73a8c06804 jpeg: Import upstream release 9f. 2024-02-17 18:36:56 +01:00
Alexandre Julliard
1e5cc509a7 png: Import upstream release 1.6.42. 2024-02-17 18:36:56 +01:00
Alexandre Julliard
3881edf6f3 mpg123: Import upstream release 1.32.5. 2024-02-17 18:36:56 +01:00
Alexandre Julliard
fa42210c49 faudio: Import upstream release 24.02. 2024-02-17 18:18:03 +01:00
Alexandre Julliard
6e9d214096 kernelbase: Update timezone data to version 2024a. 2024-02-17 18:18:03 +01:00
Alex Henrie
90103fa07e where: Implement search with default options.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55282
2024-02-16 23:32:06 +01:00
Daniel Lehman
7c6a50cc46 include: Add some msvcrt declarations. 2024-02-16 23:32:06 +01:00
Paul Gofman
1a4163b686 powershell: Read input command from stdin. 2024-02-16 23:32:06 +01:00
Rémi Bernon
75fa35ad7f mfreadwrite/reader: Repeat pushing / pulling samples while it succeeds. 2024-02-16 23:32:06 +01:00
Rémi Bernon
c20fc715e2 mfreadwrite/reader: Introduce new source_reader_(drain|flush)_transform_samples helpers. 2024-02-16 23:32:06 +01:00
Rémi Bernon
8946e6df7e mfreadwrite/reader: Introduce a new source_reader_allocate_stream_sample helper. 2024-02-16 23:32:06 +01:00
Rémi Bernon
dd6e8198e0 mfreadwrite/reader: Pass the transform to source_reader_pull_stream_samples. 2024-02-16 23:32:06 +01:00
Rémi Bernon
cbb343567a mfreadwrite/reader: Introduce source_reader_queue_sample helper. 2024-02-16 23:32:06 +01:00
Paul Gofman
dfe2b717a6 ntdll: Don't hardcode xstate size in exception stack layout. 2024-02-16 23:32:06 +01:00
Paul Gofman
7ae488a2bb ntdll: Don't hardcode xstate size in syscall frame. 2024-02-16 23:32:06 +01:00
Paul Gofman
1e0728c5d4 ntdll: Don't hardcode xstate feature mask. 2024-02-16 23:32:06 +01:00
Alexandre Julliard
af4ef5fa02 ntdll: Always set non-volatile pointers for ARM64 unwinding. 2024-02-16 23:32:06 +01:00
Alexandre Julliard
14a290e77d ntdll: Implement CLEAR_UNWOUND_TO_CALL unwinding operation on ARM64. 2024-02-16 23:30:34 +01:00
Alexandre Julliard
f4ac9b35c2 ntdll: Implement EC_CONTEXT unwinding operation on ARM64. 2024-02-16 23:30:34 +01:00
Alexandre Julliard
931c1a6887 ntdll: Move ARM64 context conversion functions to a new header. 2024-02-16 23:30:34 +01:00
Alexandre Julliard
41d7baa013 ntdll: Ignore home parameters saving when unwinding epilog on ARM64. 2024-02-16 23:30:08 +01:00
Alexandre Julliard
9cc5ed1802 ntdll/tests: Simplify testing of unwind register values on ARM64. 2024-02-16 16:43:18 +01:00
Alexandre Julliard
18bdd435f1 rpcrt4/tests: Fix some malloc/HeapAlloc mismatches.
Fixes regressions caused by a38e05636d.
2024-02-16 16:43:18 +01:00
Zebediah Figura
4e74e9dfa9 wined3d: Use dynamic state for depth/stencil state if possible. 2024-02-16 16:43:18 +01:00
Zebediah Figura
ee620f0277 wined3d: Enable EXT_extended_dynamic_state. 2024-02-16 16:43:18 +01:00
Zebediah Figura
a9c9d49a12 wined3d: Make the scissor state dynamic. 2024-02-16 16:43:18 +01:00
Zebediah Figura
e8a2f816f0 wined3d: Make the viewport state dynamic. 2024-02-16 16:43:18 +01:00
Zebediah Figura
3b59be59ae wined3d: Set the pipeline key viewport and scissor count at initialization.
It never changes.
2024-02-16 16:43:18 +01:00
Zebediah Figura
fabf45a9d8 wined3d/arb: Move fragment program compilation from fragment_prog_arbfp() to arbfp_apply_draw_state(). 2024-02-16 16:43:18 +01:00
Zebediah Figura
17b9c45311 wined3d: Pass a non-const wined3d_context pointer to the FFP *_apply_draw_state() methods. 2024-02-16 16:43:18 +01:00
Zebediah Figura
dfb1665b5f wined3d: Pass a wined3d_state pointer to the vp_enable() and fp_enable() methods.
Rename to *_apply_draw_state() per Henri's suggestion.
2024-02-16 16:43:18 +01:00
Zebediah Figura
b64cc15d61 wined3d: Introduce a separate fp_disable() method.
Analogous to shader_disable().

We'd like to pass a wined3d_state pointer to fp_enable() to let it handle
actually compiling the fragment pipeline, which doesn't mesh well conceptually
with its use in shader_disable().
2024-02-16 16:43:18 +01:00
Zebediah Figura
9880e29d69 wined3d: Introduce a separate vp_disable() method.
Analogous to shader_disable().

We'd like to pass a wined3d_state pointer to vp_enable() to let it handle
actually compiling the vertex pipeline, which doesn't mesh well conceptually
with its use in shader_disable().
2024-02-16 16:43:18 +01:00
Zebediah Figura
c8a98e03c8 wined3d: Merge shader_load_constants() into shader_select().
Arguably there is a benefit here in that it reduces shader backend state
application down to a single method, although whether that is an improvement may
be up for debate.

More saliently, we would like to move FFP state application out of the state
table and into a linear state function. In practice that function will probably
be vp_enable / fp_enable. In that case we will need those functions, and hence
also shader_select(), to be called when more states are dirty.

This does not in itself mean that shader_load_constants() needs to be merged
with shader_select(), but it does remove the primary impetus for keeping them
separate.

Rename to shader_apply_draw_state() to reflect the adjusted purpose, as
suggested by Henri Verbeet.
2024-02-16 16:43:18 +01:00
Eric Pouech
5efab11752 kernel32/tests: Check if thread is suspended in debugger attachment tests.
Looks like thread is suspended until DBG_CONTINUE is sent on thread
creation debug event.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-16 11:36:58 +01:00
Zebediah Figura
a97a4af0dd dinput/tests: Return void from test_winmm_joystick(). 2024-02-16 11:36:45 +01:00
Paul Gofman
95e12689e6 webservices: Force debug info in critical sections. 2024-02-16 11:36:30 +01:00
Paul Gofman
c65d0a0770 vcomp: Force debug info in critical sections. 2024-02-16 11:36:30 +01:00
Paul Gofman
139d624787 rpcrt4: Force debug info in critical sections. 2024-02-16 11:36:30 +01:00
Paul Gofman
67bea281cc propsys: Force debug info in critical sections. 2024-02-16 11:36:30 +01:00
Paul Gofman
0efd48113e mapi32: Force debug info in critical sections. 2024-02-16 11:36:29 +01:00
Piotr Caban
bbf222ca72 wininet: Add support for reading connection settings binary blobs from registry. 2024-02-15 22:01:15 +01:00
Piotr Caban
fac555fe68 wininet: Add support for writing connection settings binary blobs from registry. 2024-02-15 22:01:15 +01:00
Piotr Caban
707685642c wininet/tests: Cleanup INTERNET_OPTION_PER_CONNECTION_OPTION tests. 2024-02-15 22:01:15 +01:00
Piotr Caban
9ea0a1072d wininet: Use GlobalAlloc in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION).
So the allocator matches with documentation.
2024-02-15 22:01:12 +01:00
Piotr Caban
7dcdfd7bf2 wininet: Fix buffer size calculation in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION). 2024-02-15 22:01:12 +01:00
Piotr Caban
f54acf3de0 wininet: Test INTERNET_OPTION_PER_CONNECTION_OPTION on process settings.
Setting invalid proxy server has some side effects.
2024-02-15 22:01:10 +01:00
Eric Pouech
9119e3102b winedump: Don't crash on non-effective runtime function entries.
MSVC generates zeroed out entries when EditAndContinue (aka HotPatch)
is enabled.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-15 20:41:49 +01:00
Gabriel Ivăncescu
8a71a4a304 explorer: Set layered style on systray icons before calling into the driver.
Fixes a regression introduced by b5c57b9a62,
which broke the systray integration outside of virtual desktops on some
DEs like XFCE.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-15 20:40:55 +01:00
Krzysztof Bogacki
223292da02 win32u: Implement NtGdiDdDDIEnumAdapters2.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2024-02-15 20:39:48 +01:00
Krzysztof Bogacki
800b5e44fc win32u: Maintain a list of GPUs in cache.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2024-02-15 20:39:48 +01:00
Krzysztof Bogacki
10db5b67b8 gdi32: Add D3DKMTEnumAdapters2() stub.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2024-02-15 20:39:46 +01:00
Krzysztof Bogacki
842461979c gdi32/tests: Add D3DKMTEnumAdapters2 tests.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2024-02-15 20:39:46 +01:00
Nikola Kuburović
fddea5da01 kernelbase: Reduce FIXME to TRACE if params is null.
If CREATEFILE2_EXTENDED_PARAMS struct pointer is null, we just forward
to CreateFileW and we don't need FIXME's.
2024-02-15 20:37:07 +01:00
Fabian Maurer
231670e899 mmdevapi/tests: Add test for invalid format with exclusive mode. 2024-02-15 20:36:37 +01:00
Fabian Maurer
c62ca5fced winealsa: Remove superflous check. 2024-02-15 20:36:30 +01:00
Fabian Maurer
e75d1b38b5 wineoss: Remove superflous check. 2024-02-15 20:36:28 +01:00
Daniel Lehman
4d1ad4f975 oleaut32: Use scientific notation only for larger numbers in VarBstrFromR[48]. 2024-02-15 20:35:49 +01:00
Daniel Lehman
55e4aa7a31 oleaut32/tests: Add tests for number of digits. 2024-02-15 20:35:49 +01:00
Jinoh Kang
b74e1a570b ntdll: Remove stale comment from set_async_direct_result() documentation.
The supplied async handle passed to set_async_direct_result() cannot be
NULL.
2024-02-15 20:35:00 +01:00
Alexandre Julliard
2601a8a2f1 ntdll: Don't count custom stack frames as part of the prolog on ARM64. 2024-02-15 20:31:49 +01:00
Alexandre Julliard
1abebca6dc ntdll: Ignore end_c when processing ARM64 unwind codes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55584
2024-02-15 20:31:49 +01:00
Alexandre Julliard
a271fc9e19 ntdll: Add support for the save_any_reg ARM64 unwind code.
Based on a patch by Billy Laws.
2024-02-15 20:31:49 +01:00
Alexandre Julliard
7c4ca6ff74 winedump: Add dumping of the save_any_reg ARM64 unwind code. 2024-02-15 15:08:55 +01:00
Paul Gofman
17f94ab563 dmsynth: Force debug info in critical sections. 2024-02-15 11:23:57 +01:00
Paul Gofman
bbe1c7532a dmime: Force debug info in critical sections. 2024-02-15 11:23:57 +01:00
Paul Gofman
fb64ea8675 strmbase: Force debug info in critical sections. 2024-02-15 11:23:57 +01:00
Jacek Caban
3f421410c1 winebuild: Move target filtering to assign_exports. 2024-02-15 11:23:52 +01:00
Jacek Caban
3c9ede8abc winebuild: Use exports struct in assign_names. 2024-02-15 11:23:51 +01:00
Jacek Caban
1bc06138f4 winebuild: Use exports struct in assign_ordinals. 2024-02-15 11:23:51 +01:00
Jacek Caban
f5ed0de392 winebuild: Use exports struct for exports handling. 2024-02-15 11:23:51 +01:00
Jacek Caban
6ee0583546 winebuild: Use exports struct for 16-bit modules handlign. 2024-02-15 11:23:51 +01:00
Jacek Caban
499c6be734 winebuild: Use exports struct for imports handling. 2024-02-15 11:23:51 +01:00
Jacek Caban
73f0bbc731 winebuild: Introduce exports struct. 2024-02-15 11:23:49 +01:00
Geoffrey McRae
b8c75f3d2a include: Add interfaces for ID3D11On12Device1 and ID3D11On12Device2. 2024-02-14 23:23:25 +01:00
Marc-Aurel Zent
1eb8f41e54 server: Improve formatting in mach init_tracing_mechanism(). 2024-02-14 23:17:23 +01:00
Marc-Aurel Zent
dee10199cc server: Use bootstrap_register2() instead of bootstrap_register(). 2024-02-14 23:17:23 +01:00
Marc-Aurel Zent
52f34cf976 server: Use __pthread_kill() syscall wrapper. 2024-02-14 23:17:23 +01:00
Brendan Shanks
455086e295 ntdll: Assume process-private futexes are always present on Linux. 2024-02-14 21:00:44 +01:00
Yuxuan Shui
d93275c6ca dmime: Parse MIDI headers. 2024-02-14 20:54:23 +01:00
Yuxuan Shui
4434c17c94 dmime/tests: Add MIDI loading test.
Besides a seq track and a tempo track, Windows also adds a "fake" band
track to segments loaded from MIDI files, which handles soundfont
loading etc.
2024-02-14 20:54:18 +01:00
Alexandre Julliard
cb2013e7b4 ntdll: Implement RtlVirtualUnwind for ARM64EC. 2024-02-14 19:19:33 +01:00
Alexandre Julliard
3b85ab31a9 ntdll: Move RtlUnwind to unwind.c. 2024-02-14 19:19:33 +01:00
Alexandre Julliard
8602a1c24e ntdll: Move the dynamic unwind tables to unwind.c. 2024-02-14 19:19:33 +01:00
Alexandre Julliard
a5a253820f ntdll: Move exception unwinding code to a separate file. 2024-02-14 19:19:33 +01:00
Rémi Bernon
d88f92eb4e mouhid.sys: Parse HID reports to track contact points. 2024-02-14 19:19:32 +01:00
Rémi Bernon
683710fbc7 mouhid.sys: Read reports from the underlying HID device. 2024-02-14 19:19:32 +01:00
Rémi Bernon
a05b67b7e5 mouhid.sys: Request preparsed data and inspect device caps. 2024-02-14 19:19:32 +01:00
Rémi Bernon
0ed830eac5 mouhid.sys: Introduce a new HID pointer device driver.
This only matches with digitizer devices for now, it could later be
used for HID mice but for now we use a different path for that.
2024-02-14 19:19:32 +01:00
Rémi Bernon
8db5dec9d2 hidclass: Only access Tail.Overlay.OriginalFileObject when needed. 2024-02-14 19:19:32 +01:00
Rémi Bernon
677107956f hidclass: Make HID hardware ids more similar to windows. 2024-02-14 19:19:32 +01:00
Aurimas Fišeras
998111eca1 po: Update Lithuanian translation. 2024-02-14 19:19:32 +01:00
Alex Henrie
a38e05636d rpcrt4/tests: Use CRT allocation functions. 2024-02-14 19:19:32 +01:00
Rastislav Stanik
1bab7ea25e iphlpapi: Add stub for GetAnycastIpAddressTable().
This change adds an implementation of Win32 API function
GetAnycastIpAddressTable() that does not return real information, it
just says "no entries found".

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56065
2024-02-14 19:19:32 +01:00
Alex Henrie
fb2ebbbb40 ntdll: Include alloc_type argument in NtMapViewOfSection(Ex) traces.
LANCommander calls NtMapViewOfSectionEx with
alloc_type=MEM_REPLACE_PLACEHOLDER, but you couldn't tell from the
trace.
2024-02-14 19:19:32 +01:00
Marc-Aurel Zent
cd2570c28d iphlpapi: Implement GetRTTAndHopCount(). 2024-02-14 19:19:32 +01:00
Zhiyi Zhang
ca97cb8700 server: Inherit internal desktop flags when creating desktops.
Based on Rémi's idea.

CEF applications create their own desktops and so is_virtual_desktop() could incorrectly
report that virtual desktop is off if DF_WINE_VIRTUAL_DESKTOP is not inherited.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55810
2024-02-13 22:37:50 +01:00
Zhiyi Zhang
2990a4f8c3 include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP. 2024-02-13 22:37:50 +01:00
Shaun Ren
6e8d450804 sapi: Implement ISpeechObjectTokens::Invoke. 2024-02-13 22:37:50 +01:00
Shaun Ren
6f2a0c412f sapi: Implement IEnumVARIANT::Next for ISpeechObjectTokens. 2024-02-13 22:37:50 +01:00
Shaun Ren
261d7c3de4 sapi: Implement ISpeechObjectTokens::get_Count. 2024-02-13 22:37:50 +01:00
Shaun Ren
59a7ee1a2c sapi: Implement ISpeechObjectToken::GetIDsOfNames. 2024-02-13 22:37:50 +01:00
Shaun Ren
001d1a4319 sapi: Implement ISpeechObjectToken::Invoke. 2024-02-13 22:37:50 +01:00
Shaun Ren
b6c1760727 sapi: Implement ISpeechObjectToken::GetDescription. 2024-02-13 22:37:50 +01:00
Mohamad Al-Jaf
23f360b1db windows.security.authentication.onlineid: Implement IOnlineIdSystemAuthenticatorStatics::get_Default().
Called by Minecraft Education Edition.
2024-02-13 22:37:50 +01:00
Mohamad Al-Jaf
df9b41afcb windows.security.authentication.onlineid: Add IOnlineIdServiceTicketRequestFactory stub interface. 2024-02-13 22:37:50 +01:00
Mohamad Al-Jaf
a3ef7d7487 windows.security.authentication.onlineid: Add IOnlineIdSystemAuthenticatorStatics stub interface. 2024-02-13 22:37:50 +01:00
Mohamad Al-Jaf
9809102897 windows.security.authentication.onlineid: Add stub DLL. 2024-02-13 22:37:50 +01:00
Mohamad Al-Jaf
f0b32fa541 include: Add windows.security.authentication.onlineid.idl file. 2024-02-13 22:37:50 +01:00
Daniel Lehman
834558245b oleaut32: Handle exponent in VarBstrFromR[48] in non-English locales. 2024-02-13 22:37:50 +01:00
Fabian Maurer
5ffed8830c user32/sysparams: Handle more contexts in GetAwarenessFromDpiAwarenessContext.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55630
2024-02-13 22:37:50 +01:00
Fabian Maurer
d34cbe61db user32/sysparams: Only allow dpi awareness tests to return invalid on windows.
We can't use IsValidDpiAwarenessContext since this uses
GetAwarenessFromDpiAwarenessContext which we're testing
2024-02-13 22:37:50 +01:00
Zebediah Figura
f74f8b9ef3 shlwapi/tests: Add many more tests for UrlCanonicalize(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
5ca8e4b00d kernelbase: Use scheme_is_opaque() in UrlIs(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
37aabda67e kernelbase: Reimplement UrlCanonicalize().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=23166
2024-02-13 22:37:50 +01:00
Zebediah Figura
80a92c07f5 kernelbase: Do not canonicalize the relative part in UrlCombine(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
13d48ed315 kernelbase: Do not use isalnum() with Unicode characters.
It does not expect code points higher than U+00FF and will read past the end of the ctypes[] array.
2024-02-13 22:37:50 +01:00
Zebediah Figura
ca29c3a422 shlwapi/tests: Move UrlCombine() error tests out of the loop.
And expand them a bit while we're at it.
2024-02-13 22:37:50 +01:00
Zebediah Figura
a4ac824fe5 shlwapi/tests: Use winetest_push_context() in test_UrlCanonicalizeA(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
fc0c738f9d shlwapi/tests: Remove the unused "wszExpectUrl" variable from check_url_canonicalize(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
dc800b56b6 shlwapi/tests: Move the UrlCanonicalize() tests into test_UrlCanonicalizeA(). 2024-02-13 22:37:50 +01:00
Zebediah Figura
6ff5c3b500 urlmon/tests: Add basic tests for CoInternetParseUrl(PARSE_CANONICALIZE). 2024-02-13 22:37:50 +01:00
Alexandre Julliard
8f278f89df ntdll: Make APCs alertable by default on ARM platforms. 2024-02-13 22:37:49 +01:00
Alexandre Julliard
0b3d3ad2b7 ntdll: Support ARM64EC code in RtlLookupFunctionEntry. 2024-02-13 22:37:49 +01:00
Alexandre Julliard
ab69f71912 ntdll: Move RtlAddFunctionTable() to the CPU backends. 2024-02-13 21:57:05 +01:00
Alexandre Julliard
02ebacca0c ntdll: Move find_function_info() to the CPU backends. 2024-02-13 21:57:05 +01:00
Alexandre Julliard
215a8e68d3 ntdll: Move RtlLookupFunctionEntry() to the CPU backends. 2024-02-13 21:57:02 +01:00
Alexandre Julliard
b9a985a677 include: Add some public exception handling structures. 2024-02-13 17:59:38 +01:00
Paul Gofman
0b441c4c8f kernel32/tests: Add tests for critical section debug info presence. 2024-02-13 15:46:24 +01:00
Gabriel Ivăncescu
e8f4909ac3 kernelbase: Copy the read-only attribute from the source.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:03 +01:00
Bernhard Übelacker
267a5658fb wininet: Avoid crash in InternetCreateUrl with scheme unknown.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33050
2024-02-12 23:02:03 +01:00
Bernhard Übelacker
ceea01b165 wininet: Add missing assignment of return value. 2024-02-12 23:02:03 +01:00
Santino Mazza
ba4681e776 gdiplus: Implement font linking for gdiplus. 2024-02-12 23:02:03 +01:00
Santino Mazza
d68a9d1213 gdiplus/tests: Add interactive test for font linking. 2024-02-12 23:02:03 +01:00
Santino Mazza
1454ffe7dd gdiplus: Replace HDC with GpGraphics in parameters. 2024-02-12 23:02:03 +01:00
Santino Mazza
b549ae11fb mlang: Fix bug with codepage priority in GetStrCodePages. 2024-02-12 23:02:03 +01:00
Santino Mazza
bc62314811 mlang/tests: Test codepages priority bug in GetStrCodepages. 2024-02-12 23:02:03 +01:00
Santino Mazza
8293074558 mlang: Implement GetGlobalFontLinkObject. 2024-02-12 23:02:03 +01:00
Santino Mazza
6360992dea mlang/tests: Test for GetGlobalFontLinkObject. 2024-02-12 23:02:03 +01:00
Gabriel Ivăncescu
e00270a8b2 jscript: Implement ArrayBuffer.prototype.slice.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:03 +01:00
Gabriel Ivăncescu
aa2bd097d6 jscript: Implement DataView getters.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:03 +01:00
Gabriel Ivăncescu
556e3349ab jscript: Implement DataView setters.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:02 +01:00
Gabriel Ivăncescu
00f04ef3ce jscript: Add initial implementation of DataView.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:02 +01:00
Gabriel Ivăncescu
88c0f72bbf jscript: Add initial implementation of ArrayBuffer.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:02 +01:00
Eric Pouech
52b9f8a9fa kernel32/tests: Remove todo scaffolding for CreateProcess() tests.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Eric Pouech
233074ded0 msvcrt: Don't reset invalid std handle in init.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Eric Pouech
35bea75647 msvcrt/tests: Extend test for invalid std handle on msvcrt init.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Eric Pouech
4121a29b50 kernelbase: Don't use INVALID_HANDLE_VALUE as std handle in CreateProcess.
And don't infer detached console state from std handle values, but rely
on a NULL console handle.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Eric Pouech
eba8b54870 kernel32/tests: Add tests for CreateProcess with invalid handles.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Bernhard Übelacker
c418771a43 cmd: Avoid execution if block misses closing brackets. 2024-02-12 23:02:02 +01:00
Bernhard Übelacker
d7edf3e651 cmd: Handle lines with just spaces in bracket blocks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51599
2024-02-12 23:02:02 +01:00
Piotr Caban
1d479df4e8 wininet: Set AutoConfigURL registry key when saving proxy information. 2024-02-12 23:02:02 +01:00
Piotr Caban
666a472f06 wininet: Set ProxyOverride registry key when saving proxy information. 2024-02-12 23:02:02 +01:00
Piotr Caban
17d8cb24d4 wininet: Store whole ProxyServer string so it's not lost while saving settings to registry. 2024-02-12 23:02:02 +01:00
Piotr Caban
40b5e767d4 wininet: Add support for reading AutoConfigURL from registry. 2024-02-12 23:02:02 +01:00
Piotr Caban
132da0e0ee wininet: Return process-wide proxy settings from INTERNET_GetProxySettings.
Use INTERNET_LoadProxySettings when settings from registry are needed.
2024-02-12 23:02:02 +01:00
Piotr Caban
5fe477767a wininet: Move reading proxy settings from registry to separate function. 2024-02-12 23:02:02 +01:00
Piotr Caban
1a53e28cc8 wininet: Don't allocate global_proxy structure dynamically. 2024-02-12 23:02:02 +01:00
Piotr Caban
c17b0d6a3f wininet: Store proxy type in proxyinfo_t. 2024-02-12 23:02:02 +01:00
Alexandre Julliard
df8d907fb4 ntdll/tests: Don't use x86-64 assembly on ARM64EC. 2024-02-12 23:01:55 +01:00
Alexandre Julliard
de492f9a34 ntdll: Implement RtlLookupFunctionTable. 2024-02-12 22:53:21 +01:00
Rémi Bernon
165830c317 winex11: Simplify XInput2 device valuator lookup.
Valuator names aren't well specified, and although they are usually
named "Rel X/Y" or "Abs X/Y", there are cases where the names are
different.

Lets just assume that the first two valuators are the X/Y axes, as it
seems to be generally the case.
2024-02-12 12:32:23 +01:00
Rémi Bernon
51e99345de winex11: Always listen to XInput2 device changes events. 2024-02-12 12:32:22 +01:00
Rémi Bernon
b7867059ce winex11: Initialize XInput2 extension on every thread. 2024-02-12 12:32:22 +01:00
Rémi Bernon
1a757a0146 winex11: Advertise XInput2 version 2.2 support.
This is the required version for XInput2 touch events. It also allows
to greatly simplify the code by listening to master device events only
and get rid of device id tracking:

Under XInput2 protocol version < 2.1, RawEvents are not supposed to be
sent if a pointer grab is active. However slave device events are still
received regardless of this specification and Wine implemented a
workaround to receive RawEvents during pointer grabs by listening to
these slave device events.

By advertising the support of XInput2 version >= 2.1, where RawEvents
are sent even during pointer grabs, we ensure to receive the RawMotion
even if a mouse grab is active.
2024-02-12 12:32:20 +01:00
Rémi Bernon
b341688dbd winex11: Process XInput2 events with QS_INPUT filter. 2024-02-12 12:32:20 +01:00
Yuxuan Shui
e9e8ab1392 dmband: Implement getting/setting GUID_BandParam on band tracks. 2024-02-12 12:26:34 +01:00
Alexandre Julliard
39d8b25938 Release 9.2. 2024-02-09 22:46:52 +01:00
Gabriel Ivăncescu
b5c57b9a62 explorer: Set layered style on systray icons only when it's actually layered.
Fixes a regression introduced by 229b4561d9,
which caused the icons to not be visible initially in the virtual desktop
systray.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-09 18:21:09 +01:00
Gabriel Ivăncescu
5e7a8f4db0 explorer: Don't activate the systray icon when showing it.
Fixes a regression introduced by 62c6646d8f,
because SetParent will unconditionally activate the window, causing newly
added icons to deactivate the foreground window.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-09 18:21:06 +01:00
Shaun Ren
26498d93cf sapi: Add stub implementation for ISpeechObjectTokens::get__NewEnum. 2024-02-09 18:00:04 +01:00
Shaun Ren
ca6f3a7af8 sapi: Add ISpeechObjectTokens stub. 2024-02-09 18:00:04 +01:00
Shaun Ren
c45bedbf23 sapi: Add ISpeechObjectToken stub. 2024-02-09 18:00:04 +01:00
Jacek Caban
4e54087fab dsound: Simplify f_to_32. 2024-02-09 18:00:04 +01:00
Jacek Caban
92f9c58e6d d3d10/tests: Avoid implicit cast changing value. 2024-02-09 18:00:04 +01:00
Alexandre Julliard
13b0f22cf9 ntdll/tests: Mark a failing test as todo. 2024-02-09 18:00:04 +01:00
Alexandre Julliard
7e2f44210b user32/tests: Fix some sysparams results on recent Windows. 2024-02-09 16:21:54 +01:00
Alexandre Julliard
525835897b gdi32/tests: Fix the expected GetTextMetrics() results on recent Windows. 2024-02-09 12:34:04 +01:00
Alexandre Julliard
3bd1d1c60d uxtheme: Use BOOLEAN instead of BOOL in ordinal functions.
This should fix test failures on Windows.
2024-02-09 11:48:46 +01:00
Rémi Bernon
87e5bdaa4a win32u: Get rid of the rawinput thread data and buffer. 2024-02-09 11:14:07 +01:00
Rémi Bernon
1664ad7d50 server: Fix rawinput buffer sizes and alignment on WoW64. 2024-02-09 11:14:07 +01:00
Rémi Bernon
2eb8950392 server: Move rawinput message conversion from win32u.
Appending the entire RAWMOUSE / RAWKEYBOARD / RAWHID + report structs
after the hardware message data, instead of using a custom intermediate
structure.
2024-02-09 11:14:07 +01:00
Ivo Ivanov
9a0e244d51 winebus.sys: Prefer hidraw if it is the only backend enabled. 2024-02-09 11:13:44 +01:00
Hans Leidekker
8cb68e43de msxml3: Enable XPath object cache.
This gives a 30% performance increase in a local test with a very large document.
2024-02-08 23:31:25 +01:00
Yuxuan Shui
97d4c7fe3f mf: Only preroll when starting from stopped state.
Stream sink such as evr can't be prerolled a second time, and when we are
restarting from a paused state, those stream sink will already be prerolled
so don't preroll them again. Otherwise we will be waiting for Prerolled
events that will never come.
2024-02-08 23:31:25 +01:00
Marc-Aurel Zent
51b6a0fe12 ntdll: Fix DW_OP_abs absolute value warning on labs() for clang. 2024-02-08 23:31:25 +01:00
Alex Henrie
48440d2446 explorer: Handle the back and forward buttons of a 5-button mouse. 2024-02-08 23:31:25 +01:00
Alexandros Frantzis
26e3d2eced win32u: Use consistent locking order for display related mutexes.
Most paths that hold both the display_lock and the display_devices_init
mutex acquire them in the order just mentioned. However, there are two
cases where these are acquired in the opposite order, which with
unfortunate thread interactions and timings can lead to a deadlock. Fix
these cases to use the same order as the rest of the code.
2024-02-08 23:31:24 +01:00
Rémi Bernon
c8bf3ba2da server: Stop using hardware_msg_data in rawinput_message. 2024-02-08 23:31:24 +01:00
Rémi Bernon
f86cca3897 server: Stop using union rawinput in hw_input_t. 2024-02-08 23:31:24 +01:00
Rémi Bernon
c62ca2e1aa server: Combine HID usage page and usage together. 2024-02-08 23:31:24 +01:00
Rémi Bernon
3c64448037 mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING. 2024-02-08 23:31:24 +01:00
Rémi Bernon
b37a16c7f3 mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING. 2024-02-08 23:31:24 +01:00
Rémi Bernon
f5daee4a2f mfreadwrite/tests: Test source reader exposed transforms and types. 2024-02-08 23:31:24 +01:00
Rémi Bernon
5122f6ad9f mfreadwrite/tests: Initialize test source stream types from descriptors. 2024-02-08 23:31:24 +01:00
Alexandre Julliard
cf7c48e036 ntdll: Fix RtlWow64GetCurrentMachine() result on ARM64EC. 2024-02-08 23:31:24 +01:00
Alexandre Julliard
1456b31eec ntdll: Use the current machine by default to create an ARM64X process. 2024-02-08 17:07:23 +01:00
Alexandre Julliard
de988eeea0 server: Add hybrid flag in image mapping information. 2024-02-08 17:07:22 +01:00
Alexandre Julliard
8c703f3e2f ntdll: Redirect the module entry point for ARM64EC modules. 2024-02-08 17:07:22 +01:00
Alexandre Julliard
e05c6c8211 server: Don't update the entry point in the image information for ARM64EC modules. 2024-02-08 17:07:22 +01:00
Alexandre Julliard
bd703632fd server: Don't update the machine in the image information for ARM64EC modules. 2024-02-08 13:05:28 +01:00
Esme Povirk
ce4636e510 user32/tests: Fix flags on expected EM_GETPASSWORDCHAR message.
I missed that a few of these had the defwinproc flag when
initially adding them.
2024-02-07 22:50:29 +01:00
Arkadiusz Hiler
f67279c57f wbemprox: Reimplement LIKE.
Current implementation handles correctly % only at the end of the
string. Nothing else matches.

The new implementation while naïve and recursive handles both _ and *
correctly.
2024-02-07 22:50:14 +01:00
Arkadiusz Hiler
332d48364f wbemprox/tests: Test LIKE queries. 2024-02-07 22:50:14 +01:00
Helix Graziani
4efbcae5e8 windows.globalization: Add IIterable_HSTRING impl to IVectorView_HSTRING. 2024-02-07 22:39:58 +01:00
Louis Lenders
0edcc9b1d6 wbemprox: Add property 'Caption' to Win32_DiskDrive.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56291
2024-02-07 22:39:49 +01:00
Eric Pouech
36d6fe591b dmime: Use sent duration in loop's playback.
When playing a loop, and if no end of loop point has been defined
(meaning = play whole segment), don't rely on segment's length for
wave tracks as their length is always 1.  Compute segment length in
this case by grabbing each track's playback length in segment state's
internal graph.  This feature is only activated for messages generated
by wave tracks, but could be extended if needed to other types of
messages.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-07 22:34:25 +01:00
Eric Pouech
ef2830b620 dmime: Generate track flags while in loop.
Store track_flags inside segment state so that they can be reused in
subsequent calls.  The start/seek/loop flags are now properly set when
calling IDirectMusicTrack_Play().

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-07 22:34:18 +01:00
Eric Pouech
dfaa45069e dmime: Add IDirectMusicGraph interface to segment state.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-07 22:34:18 +01:00
Eric Pouech
425c270d27 dmime: Add tests about segment state's graph interface.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-07 22:34:17 +01:00
Eric Pouech
ed92095f28 dmime: Fully implement IDirectMusicSegmentState::GetRepeats().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-07 22:34:17 +01:00
Alexandre Julliard
c129595381 ntdll: Use the correct machine when loading ntdll on ARM64EC. 2024-02-07 22:28:00 +01:00
Alexandre Julliard
0d37cc1d06 ntdll: Update the image information when loading a builtin dll. 2024-02-07 22:28:00 +01:00
Alexandre Julliard
4022fb9ba3 server: Don't report alternate 64-bit machines as supported. 2024-02-07 22:28:00 +01:00
Alexandre Julliard
818b577727 ntdll/tests: Add some process machine tests for ARM64X. 2024-02-07 15:46:01 +01:00
Alexandre Julliard
b41566fb31 ntdll: Fix stack layout for ARM syscalls. 2024-02-07 11:57:15 +01:00
Zhiyi Zhang
6b853a9354 mf/tests: Test IMFMediaSession::Start().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2024-02-06 22:56:50 +01:00
Zhiyi Zhang
9c82ce962b mf: Support seeking while a session is started. 2024-02-06 22:56:50 +01:00
Zhiyi Zhang
c1223d0be0 mf/tests: Add a create_test_topology() helper.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2024-02-06 22:56:50 +01:00
Zhiyi Zhang
8173d3b0ab mf: Add a session_flush_nodes() helper.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2024-02-06 22:56:50 +01:00
Zhiyi Zhang
a00b30bfbf mf: Make session_get_node_object() more robust.
It's possible that a state object pointer not in the topology node collection gets passed to
session_get_node_object(). Instead of returning the last node when the object is not found, we
should return a NULL so that the state of the last node is not changed by mistake.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2024-02-06 22:56:48 +01:00
Giovanni Mascellani
06482e324c d2d1: Compile vertex shaders with D3DCompile(). 2024-02-06 22:56:42 +01:00
Yuxuan Shui
fa145fd517 dmusic: Fix loading wave data from soundfont. 2024-02-06 22:56:02 +01:00
Georg Lehmann
05a0da8ab9 winevulkan: Enable VK_ARM_render_pass_striped. 2024-02-06 22:54:21 +01:00
Georg Lehmann
ea890c4733 winevulkan: Update to VK spec version 1.3.277. 2024-02-06 22:54:21 +01:00
Georg Lehmann
db03d2be88 winevulkan: Prepare for VK_KHR_calibrated_timestamps. 2024-02-06 22:54:21 +01:00
Paul Gofman
16dafed08b msvcrt: Adjust _gmtime64_s() accepted time limits. 2024-02-06 22:54:21 +01:00
Tim Clem
3985b7c599 winebus.sys: Do not attempt to open keyboard and mouse HID devices on macOS.
Doing so triggers a permissions prompt for input monitoring.

Patch originally by Rémi Bernon.
2024-02-06 22:54:21 +01:00
Paul Gofman
5da459f1f2 explorer: Don't pop start menu on "undo minimize all windows" systray command. 2024-02-06 22:54:21 +01:00
Paul Gofman
d66fe6206d explorer: Don't pop start menu on "minimize all windows" systray command. 2024-02-06 22:54:21 +01:00
Louis Lenders
988253a69b wbemprox: Add property 'ClassGuid' to Win32_PnPEntity.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56291
2024-02-06 22:54:21 +01:00
Zebediah Figura
de5a07b20b wined3d/arb: Compare the fragment pipe ops in shader_arb_select() instead of using an extra field.
Matches what's done in the GLSL shader backend.
2024-02-06 16:36:19 +01:00
Zebediah Figura
37d909e007 wined3d/arb: Always disable the fragment pipeline in shader_arb_select().
The original intent here seems to have been to avoid disabling
GL_FRAGMENT_PROGRAM_ARB only to reënable it again. There is not actually any
harm in this, however.
2024-02-06 16:36:19 +01:00
Zebediah Figura
4ed7bb35ed wined3d/glsl: Pass through the specular varying when SPECULARENABLE is FALSE. 2024-02-06 16:36:19 +01:00
Zebediah Figura
b5a252bcec wined3d/glsl: Always set WINED3D_SHADER_CONST_FFP_LIGHTS in FFP constant update masks.
It is possible (if somewhat artificial) to use lighting without using ambient
lighting. In this case ffp_light_ambient may not be an active uniform.

We could be more sophisticated here, and add lighting to the mask if we use any
lighting uniform, but this is simpler and probably good enough.
2024-02-06 16:36:19 +01:00
Zebediah Figura
4171fdf4d7 d3d8/tests: Add more tests for SPECULARENABLE.
Show that it affects both the vertex and fragment FFP pipelines.
2024-02-06 16:36:19 +01:00
Rémi Bernon
604bc7ccf9 mf/tests: Add some tests with video processor aperture handling. 2024-02-06 16:36:19 +01:00
Rémi Bernon
5a12be3a9a mf/tests: Report more transform current type mismatches. 2024-02-06 16:36:19 +01:00
Alexandre Julliard
4141a14443 kernel32: Don't export RtlRaiseException on ARM64. 2024-02-06 16:36:19 +01:00
Alexandre Julliard
9088506029 kernel32: Move Wow64Get/SetThreadContext implementation to kernelbase. 2024-02-06 16:36:19 +01:00
Aida Jonikienė
124ea59b8d configure: Use YEAR2038 macro when it's available.
autoconf 2.72 disabled the time size increase when LARGEFILE macro is being
used: https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=cf09f48841b66fe76f606dd6018bb3a93242a7c9

That change can cause 32-bit Wine to return EOVERFLOW when running
stat() on a file in certain edge cases (which causes some files to
be skipped leading to applications failing to run properly).

This change was tested with both autoconf 2.71 and 2.72 to make sure
nothing broke there.
2024-02-06 16:34:09 +01:00
Marc-Aurel Zent
c0bffa823d ntdll: Reimplement set_native_thread_name() for macOS. 2024-02-06 16:34:09 +01:00
Eric Pouech
626b2f1898 server: Preserve handle flags when inheriting a std handle.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-06 11:39:58 +01:00
Eric Pouech
1c7e1f1fc6 server: Implement support for DUPLICATE_SAME_ATTRIBUTES in DuplicateHandle().
This flag is documented on MSDN in ZwDuplicateObject() but not in
DuplicateHandle(). Yet functional on both.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-06 11:39:58 +01:00
Eric Pouech
d68a0e650a kernel32/tests: Test DUPLICATE_SAME_ATTRIBUTES flag in DuplicateHandle().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-06 11:39:58 +01:00
Eric Pouech
da9210e038 kernel32/tests: Added tests about std handle flags inheritance.
Adding support for protect-from-close handle flag to CreateProcess
test infrastructure.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-06 11:35:47 +01:00
Esme Povirk
23f98e9663 gdiplus/tests: Thoroughly test region combines. 2024-02-05 22:35:10 +01:00
Esme Povirk
13b2755d4d gdiplus: Fix some degenerate cases combining infinite regions. 2024-02-05 22:35:10 +01:00
Jacek Caban
3c19b29ce6 include: Add RtlRestoreContext declaration. 2024-02-05 21:50:12 +01:00
Gabriel Ivăncescu
681d34d784 mshtml/tests: Test builtin function default value getter with custom IOleCommandTarget.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:20 +01:00
Gabriel Ivăncescu
330d8cd998 mshtml: Expose the IHTMLEventObj5 props to scripts.
It's mostly implemented, and issession isn't even exposed.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:20 +01:00
Gabriel Ivăncescu
ae0e5ee901 mshtml: Implement initMessageEvent for MessageEvents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:20 +01:00
Gabriel Ivăncescu
497e9d617e mshtml: Implement origin prop for MessageEvents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:20 +01:00
Gabriel Ivăncescu
266ac9a809 mshtml: Implement data getter for MessageEvent objs.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:19 +01:00
Gabriel Ivăncescu
69d4be9ff0 mshtml: Return E_ABORT from postMessage called without a caller ServiceProvider.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:19 +01:00
Gabriel Ivăncescu
b9e4680dea mshtml: Implement source prop for MessageEvents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:19 +01:00
Gabriel Ivăncescu
22214ec357 mshtml: Use a hook to implement postMessage.
We need the caller ServiceProvider to obtain the source.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-05 21:45:19 +01:00
Alexandre Julliard
7c7544aba1 winebuild: Add .seh annotations on ARM. 2024-02-05 21:45:19 +01:00
Alexandre Julliard
e25b1ab7e9 winebuild: Remove some no longer used code for ARM platforms. 2024-02-05 21:06:00 +01:00
Fabian Maurer
bbce5d014d msi: Don't write past end of string when selecting parent directory. 2024-02-05 13:25:36 +01:00
Zhiyi Zhang
d6dc917232 user32/tests: Fix test_recursive_messages() test failures on win7.
Windows 7 has a lower maximum depth for recursive hooks.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56293
2024-02-05 13:25:36 +01:00
Louis Lenders
2b01a64ff2 wbemprox: Add property 'Caption' to Win32_PnPEntity.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56291
2024-02-05 13:25:36 +01:00
Esme Povirk
afacbe53ba user32/tests: Accept EM_GETPASSWORDCHAR when edit is focused. 2024-02-05 13:25:36 +01:00
Piotr Caban
7ab46f03b1 winhttp: Add support for WINHTTP_AUTOPROXY_HOST_LOWERCASE flag in WinHttpGetProxyForUrl. 2024-02-05 12:39:15 +01:00
Piotr Caban
9eb644fa13 winhttp/tests: Add more WinHttpGetProxyForUrl tests. 2024-02-05 12:39:15 +01:00
Rémi Bernon
6979a9f059 winegstreamer: Allow wg_transform size changes with an explicit attribute. 2024-02-05 12:39:10 +01:00
Rémi Bernon
98b8ab9b88 winegstreamer: Ignore wg_transform input / output video format fps.
Decoders might output some fps information and encoders might input fps,
but otherwise is unnecessary and may prevent compatible caps matching.
2024-02-05 12:39:08 +01:00
Rémi Bernon
62955f2229 winegstreamer: Use GST_PTR_FORMAT to trace GStreamer objects. 2024-02-05 12:39:08 +01:00
Rémi Bernon
4f349d442a winegstreamer: Handle sink event caps in a separate helper. 2024-02-05 12:39:08 +01:00
Rémi Bernon
f39156ee6a winegstreamer: Handle sink caps query in a separate helper. 2024-02-05 12:39:08 +01:00
Rémi Bernon
ec759079a5 winegstreamer: Handle allocation query in a separate helper. 2024-02-05 12:39:08 +01:00
Rémi Bernon
6dae92cfb9 winegstreamer: Trace wg_transform input and output caps. 2024-02-05 12:39:08 +01:00
Esme Povirk
e891073c9e mscoree: Update Wine Mono to 9.0.0. 2024-02-05 12:39:02 +01:00
Zebediah Figura
0b4ad32c16 wined3d: Move sampler_texdim() and texture_activate_dimensions() to ffp_gl.c. 2024-02-05 12:38:46 +01:00
Zebediah Figura
4a30ab299a wined3d: Rename state.c to ffp_gl.c.
Better reflect its contents.

There is still a small amount of code in this file not directly related to the
FFP:

 - compile_state_table(), which should eventually go away;

 - states like state_so() and indexbuffer(), which should eventually be moved to
   context_gl.c with the rest of the resource loading/binding code.
2024-02-05 12:38:43 +01:00
Zebediah Figura
7181ef4052 wined3d: Move state objects from state.c to device.c.
The entire rest of state.c is concerned with the GL fixed-function pipeline.

device.c seems the most fitting place for these, since they're associated with
the device and stored in the device. device.c is also one of the few files that
contains client-side code, which these functions are.
2024-02-05 12:38:41 +01:00
Rémi Bernon
303717f45f dinput/tests: Test rawinput with the virtual HID touchscreen. 2024-02-02 13:02:13 +01:00
Rémi Bernon
e3c61ba74c dinput/tests: Use a polled HID touchscreen device.
Looks like touches are automatically released if the device doesn't send
updates regularly.
2024-02-02 13:02:11 +01:00
Rémi Bernon
e25d23d5dc dinput/tests: Test rawinput messages with non-input desktop. 2024-02-02 13:02:11 +01:00
Rémi Bernon
5d7bf639e8 dinput/tests: Add more tests for HID rawinput buffer. 2024-02-02 13:02:11 +01:00
Rémi Bernon
bd2b89806a dinput/tests: Add a helper to wait on HID input reads. 2024-02-02 13:02:11 +01:00
Rémi Bernon
a4d2e62a2f user32/tests: Rewrite the rawinput buffer test with keyboard input.
This should be more reliable than mouse moves and it exhibits more
issues with the rawinput buffer struct sizes on new WoW64.
2024-02-02 13:02:09 +01:00
Rémi Bernon
9e8a8b5246 user32/tests: Run rawinput device tests in the separate desktop. 2024-02-02 13:02:09 +01:00
Paul Gofman
da6e707850 server: Check if we have waiting asyncs in sock_dispatch_asyncs() before clearing POLLOUT. 2024-02-02 13:02:04 +01:00
Paul Gofman
aac0998262 server: Check if we have waiting asyncs in (send_socket) before enforcing blocking send. 2024-02-02 13:01:55 +01:00
Esme Povirk
294efcdf44 gdiplus: Prefer Tahoma for generic sans serif font.
Partial revert of 413fc34be7.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55421
2024-02-02 13:00:56 +01:00
Louis Lenders
c3918f2a82 shcore: Add stub for RegisterScaleChangeNotifications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56244
2024-02-01 22:52:20 +01:00
Nikolay Sivov
68ab4c4849 d3d10/effect: Clarify constant buffer flags field meaning.
It makes more sense to have it matching fx_5_0 format, which
uses the same flag for TBUFFER case, and also keeps 'single' modifier in there.
This modifier is ignored on fx_4_x, so it's only needed to be implemented
in the compiler.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-02-01 22:14:19 +01:00
Vibhav Pant
36fa4da337 configure: Correctly derive the target from CC if it's set to an absolute path.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56279
2024-02-01 22:13:25 +01:00
Eric Pouech
9bca18e796 dbghelp: Implement SymSrvGetFileIndexInfo() for PDB/JG files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-01 21:47:17 +01:00
Eric Pouech
767fc14ef7 dbghelp: Implement SymSrvGetFileIndexInfo() for .dbg files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-01 21:47:17 +01:00
Eric Pouech
34128f1ae7 dbghelp/tests: Test SymSrvGetFileIndexInfo() on .dbg files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-01 21:47:17 +01:00
Eric Pouech
27003f8329 dbghelp/tests: Use Unicode encoding for generated PDB filenames.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-01 21:47:17 +01:00
Paul Gofman
f8ee879002 ntdll/tests: Fix test_user_shared_data() for a more generic set of present features. 2024-02-01 21:47:17 +01:00
Daniel Lehman
50bfe00968 msvcrt/tests: Add sprintf tests. 2024-02-01 21:47:17 +01:00
Daniel Lehman
9c136a470c ucrtbase/tests: Add sprintf tests. 2024-02-01 21:47:17 +01:00
Piotr Caban
53faf7bda8 jsproxy: Don't ignore hostname and url length in InternetGetProxyInfo. 2024-02-01 21:47:17 +01:00
Felix Münchhalfen
1cbff7c8d6 kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER. 2024-02-01 21:47:17 +01:00
Felix Münchhalfen
2f88259a44 ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex). 2024-02-01 21:47:17 +01:00
Brendan Shanks
f5c00e3870 winebuild: As a last resort, search for tools un-prefixed using clang. 2024-02-01 21:47:17 +01:00
Brendan Shanks
d292c7ec74 winebuild: Refactor find_tool(). 2024-02-01 21:47:17 +01:00
Alexandre Julliard
b1ab51b508 winebuild: Default to plain "clang" in find_clang_tool(). 2024-02-01 21:47:17 +01:00
Alexandre Julliard
a97b3f640c winedump: Handle ARM64 exception unwind info with flag==3. 2024-02-01 21:47:17 +01:00
Alexandre Julliard
3825af6041 winedump: Make the ARM exception information more compact. 2024-02-01 21:47:17 +01:00
Rémi Bernon
d352b852a9 winevulkan: Remove now unnecessary vkGetDeviceGroupSurfacePresentModesKHR driver entry. 2024-02-01 11:02:40 +01:00
Rémi Bernon
4a16bcf9ab winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfacePresentModesKHR driver entry. 2024-02-01 11:02:37 +01:00
Rémi Bernon
70469abc05 winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceSupportKHR driver entry. 2024-02-01 11:02:33 +01:00
Rémi Bernon
19eba8d991 winewayland: Remove now unnecessary VK_ERROR_SURFACE_LOST_KHR checks. 2024-02-01 11:02:33 +01:00
Rémi Bernon
844d4cd206 winevulkan: Return VK_ERROR_SURFACE_LOST_KHR from surface functions. 2024-02-01 11:02:33 +01:00
Rémi Bernon
982c2ede7a winevulkan: Keep the create_info HWND on the surface wrappers. 2024-02-01 11:02:33 +01:00
Daniel Lehman
62536d1645 oleaut32/tests: Add tests for VarBstrFromR4. 2024-02-01 11:02:29 +01:00
Daniel Lehman
53f81aa1dd oleaut32/tests: Add tests for VarBstrFromR8. 2024-02-01 11:02:28 +01:00
Rémi Bernon
e607da943a win32u: Only queue a single IME update during ImeProcessKey. 2024-01-31 16:55:13 +01:00
Rémi Bernon
d8a075dc91 imm32/tests: Fix some spurious failures with Windows ko_KR IME.
Still fails spuriously from time to time as the IME sometimes doesn't
kick in, but hopefully less often.
2024-01-31 16:55:13 +01:00
Rémi Bernon
8b04d34583 imm32/tests: Also ignore NotifyIME calls when ignoring WM_IME_NOTIFY. 2024-01-31 16:55:13 +01:00
Alexandre Julliard
8fe95d29d3 ntdll: Only call TEB handlers for frames inside the current stack. 2024-01-31 12:13:55 +01:00
Alexandre Julliard
202e0b2953 ntdll: Share the is_valid_frame() helper function. 2024-01-31 12:12:51 +01:00
Alexandre Julliard
9b8409fce4 configure: Require a PE compiler for 32-bit ARM. 2024-01-31 12:09:02 +01:00
Jacek Caban
e3af07501a mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls. 2024-01-31 12:04:32 +01:00
Jacek Caban
2bbc4e17a5 mfmediaengine/tests: Use MF_MEDIA_ENGINE_CANPLAY type in IMFMediaEngine_CanPlayType call. 2024-01-31 12:04:32 +01:00
Jacek Caban
b8326ad4de mfplat: Introduce media_type_get_uint32 helper. 2024-01-31 12:04:32 +01:00
Jacek Caban
2e89cb4040 mfplat/tests: Use MF_ATTRIBUTE_TYPE type in IMFMediaType_GetItemType call. 2024-01-31 12:04:32 +01:00
Jacek Caban
e935c242c3 mfplat: Avoid implicit cast in IMFAttributes_GetUINT32 call. 2024-01-31 12:04:32 +01:00
Jacek Caban
b4fa0147e3 mf: Avoid implicit enum to int pointer casts. 2024-01-31 12:04:32 +01:00
Daniel Lehman
452b59bb4f advapi32/tests: Add some more EventLog tests. 2024-01-31 11:31:51 +01:00
Daniel Lehman
8c91e484cb advapi32/tests: Reduce reallocations. 2024-01-31 11:31:51 +01:00
Rémi Bernon
2de6cd5dc5 vulkan-1/tests: Test VK_KHR_win32_surface WSI with swapchain functions. 2024-01-31 11:04:47 +01:00
Rémi Bernon
85e2072243 vulkan-1/tests: Add more VK_KHR_win32_surface surface formats tests. 2024-01-31 11:04:47 +01:00
Rémi Bernon
7c0ddacd3e vulkan-1/tests: Test VK_KHR_win32_surface with windows in various states. 2024-01-31 11:04:47 +01:00
Rémi Bernon
beb75c50b0 vulkan-1/tests: Create surface and device before calling test_null_hwnd. 2024-01-31 11:04:47 +01:00
Rémi Bernon
69b6a92978 vulkan-1/tests: Enable VK_VERSION_1_1 as requested by validation layers. 2024-01-31 11:04:47 +01:00
Shaun Ren
2a56d4e6e9 sapi: Create a new engine only when needed in ISpVoice.
Instead of creating the TTS voice engine directly in SetVoice, we save
the specified voice token, and only create them in ISpVoice::Speak when
necessary.
2024-01-31 11:04:41 +01:00
Louis Lenders
a24039ad09 ntdll: Add stub for RtlGetDeviceFamilyInfoEnum.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56259
2024-01-31 11:04:29 +01:00
Arkadiusz Hiler
e3431a02e1 winebus.sys: Use 4 bits for hat switches.
Declaring them as 8 bits crashes game due to how Unity's native hid
support parses the data.
2024-01-30 23:03:38 +01:00
Arkadiusz Hiler
94a7b32a55 winebus.sys: Fix units used for hat switches.
The 0xe nibble value is reserved and makes hid-decode from hid-tools
crash while tryign to parse the descriptor.

0x0 is the correct way of expressing no special units are used.
2024-01-30 23:03:38 +01:00
Daniel Lehman
ee1e15ac9d glu32: Return GLU_INVALID_ENUM for illegal pixel types. 2024-01-30 23:03:38 +01:00
Daniel Lehman
3b61019b8c glu32: Return GL_OUT_OF_MEMORY from gluScaleImage if no context. 2024-01-30 23:03:38 +01:00
Daniel Lehman
ac36348179 glu32/tests: Add a few tests for gluScaleImage. 2024-01-30 23:03:38 +01:00
Rémi Bernon
02921e4900 winegstreamer: Ask GStreamer to stop messing with signal handlers. 2024-01-30 23:03:38 +01:00
Piotr Caban
268f3adce9 winedump: Sync demangling code with msvcrt. 2024-01-30 23:03:38 +01:00
Zhiyi Zhang
a128ad5c5b winex11.drv: Translate whole_rect to x11 root coordinates in set_size_hints().
whole_rect is in win32 virtual screen coordinates. It needs to be converted to x11 root
coordinates for XSetWMNormalHints().
2024-01-30 23:03:38 +01:00
Alexandre Julliard
5a26d87bab Revert "loader: Associate folder with explorer".
This reverts commit 7a941fd59a.
It doesn't work properly since explorer fails to launch, and it breaks
the tests.
2024-01-30 22:41:17 +01:00
Alexandre Julliard
87a21586a8 dbghelp/tests: Mark failing tests as todo. 2024-01-30 22:41:17 +01:00
Alexandre Julliard
08f4705e44 ntdll: Use a .seh handler for DbgUiRemoteBreakin(). 2024-01-30 22:41:17 +01:00
Alexandre Julliard
d0e02b67eb kernel32/tests: Fix some test failures on ARM platforms. 2024-01-30 22:41:17 +01:00
Alexandre Julliard
982e323070 ntdll: Report the correct address for breakpoint exception on ARM platforms. 2024-01-30 22:41:17 +01:00
Alexandre Julliard
008f64557d include: Include cfg.h from cfgmgr32.h. 2024-01-30 22:41:17 +01:00
Helix Graziani
91d60983ac cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub. 2024-01-30 22:41:17 +01:00
Nikolay Sivov
e450bf42ab mfplat/tests: Skip tests that require d3d9 support. 2024-01-30 17:40:44 +01:00
Gabriel Ivăncescu
9373ec4c3c jscript: Implement IActiveScriptSite service.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:16 +01:00
Gabriel Ivăncescu
384d5bfde9 vbscript: Implement IActiveScriptSite service.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:16 +01:00
Gabriel Ivăncescu
62000c28c9 mshtml: Implement Exec for CGID_ScriptSite's CMDID_SCRIPTSITE_SECURITY_WINDOW.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:16 +01:00
Gabriel Ivăncescu
a0624a7e18 mshtml: Implement IActiveScriptSite service.
With IOleCommandTarget stub, since it's the interface used.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:14 +01:00
Gabriel Ivăncescu
370a339055 mshtml: Forward SID_SInternetHostSecurityManager of the document obj to the doc node.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:10 +01:00
Gabriel Ivăncescu
24c3ce6f81 mshtml: Forward the script site's QueryService to the document's.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-30 11:06:10 +01:00
Rémi Bernon
6aca31f1a1 winegstreamer: Implement H264 decoder GetInputCurrentType. 2024-01-30 11:06:00 +01:00
Rémi Bernon
2d88c57716 mf/topology_loader: Try to connect transform nodes with their current types first.
And only if that fails try again by enumerating types.
2024-01-30 11:05:58 +01:00
Rémi Bernon
d95d113230 mf/topology_loader: Initialize transform output type before adding converter.
Otherwise the next topology_branch_connect call will fail when it will
try to lookup the upstream element media type.
2024-01-30 11:05:57 +01:00
Rémi Bernon
2a185126ca mf/topology_loader: Ignore SetOutputType errors when doing indirect connect.
It only succeeds with converters, or if a decoder can directly output
the downstream media type.

If it fails we may have to add a converter after the decoder, and we
will call topology_branch_connect on the downstream branch for that.
2024-01-30 11:05:56 +01:00
Rémi Bernon
0dab1ffdf9 mf/topology_loader: Use a local variable for the indirect connection method.
Instead of modifying the method_mask parameter, in case we need to retry
with another transform.
2024-01-30 11:05:54 +01:00
Rémi Bernon
56b1f80210 mf/tests: Check inserted topology loader transforms explicitly. 2024-01-30 11:05:54 +01:00
Jacek Caban
6e49ff99eb windowscodecs: Pass result as void pointer to ComponentInfo_GetUINTValue. 2024-01-30 11:05:45 +01:00
Piotr Caban
fdd9e257e2 msvcrt: Remove no longer used parameters reference arguments from _unDname helpers. 2024-01-29 21:19:13 +01:00
Piotr Caban
779ba03bcd msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53934
2024-01-29 21:19:13 +01:00
Rémi Bernon
852c4d0a8a explorer: Restore a per-desktop ShowSystray registry setting.
With a global fallback setting under HKCU\Software\Wine\Explorer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56243
2024-01-29 21:16:06 +01:00
Nikolay Sivov
75b9c221b2 mfplat/tests: Skip device manager test if d3d11 device can't be created.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-29 21:15:35 +01:00
Jacek Caban
0db8c0184e ncrypt/tests: Don't use uninitialized variable in test_get_property. 2024-01-29 21:15:20 +01:00
David Kahurani
1580c1133a msvcrt: Free previous environment variable when clearing.
Shifting the rest of the variables by one towards indices of lesser value
overwrites the variable being cleared and effectively leaks it.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-29 21:15:09 +01:00
David Kahurani
9164cf8fd9 gdiplus: Use path_list to path helper in GdipWidenPath.
The data is the path is invalid and therefore caution has to be
taken when adding data to this path to avoid lengthening it
unnecessarily. Also, don't assume there's a head node on the list
while counting number of nodes.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-29 21:15:04 +01:00
David Kahurani
ccc3568567 gdiplus: Use path_list to path helper in GdipFlattenPath.
This avoids a situation where the lengthening code, assuming the
data in the path is valid proceeds to lengthen the path further
while transforming data from a path_list into a path.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-29 21:15:03 +01:00
David Kahurani
a430702b41 gdiplus: Use GdipCreatePath2 when serializing paths.
This seems like a better interface and avoids duplicating code.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-29 21:15:02 +01:00
David Kahurani
90fb47489e gdiplus: Use GdipCreatePath2 in GdipClonePath.
This seems like a more effective interface and avoids
code duplication.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-29 21:15:00 +01:00
Alexandre Julliard
ba6a6d5781 ntdll: Move DbgUiRemoteBreakin() to the CPU backends. 2024-01-29 17:18:58 +01:00
Alexandre Julliard
d1836e226c ntdll: Avoid calling DbgBreakPoint() in process_breakpoint(). 2024-01-29 17:18:58 +01:00
Alexandre Julliard
f704b80a26 ntdll: Use a .seh handler for the unwind exception handler. 2024-01-29 17:18:58 +01:00
Alexandre Julliard
658a0665d4 ntdll: Use the system setjmp/longjmp for exceptions in Unix libs. 2024-01-29 17:18:58 +01:00
Alex Henrie
b87bd5e9b0 krnl386: Emulate the VGA status register.
Sega Bug uses it as a timer.
2024-01-29 17:08:10 +01:00
Alexandros Frantzis
fe1f3e277d winewayland.drv: Track and apply latest window cursor on pointer enter.
Keep track of the window cursor set for each surface and apply it when
the pointer enters the corresponding surface. This fixes a problem where
due to transient disagreements between win32 pointer focus and Wayland
pointer focus a cursor update may be lost. For example:

1. Assume existing cursor C1.
2. Window is created beneath cursor.
3. The SetCursor(hwnd, C2) driver callback is called, but because the
   wl_pointer hasn't entered the Wayland surface yet we don't update
   the wl_pointer cursor.
4. wl_pointer enters the surface, we apply the latest cursor we know
   about, which is C1.
5. Since no change in cursor window occurs, we don't get any
   further SetCursor(hwnd, C2) callbacks, so we get stuck with C1.

This commit fixes the problem by tracking the per-surface HCURSOR in
step 3, regardless of whether the cursor is actually applied. So, in
step 4 we can use that HCURSOR for the surface.

This change also fixes some cases of our mouselook heuristics not
kicking in properly due to missing a SetCursor(hwnd, NULL) in the
manner described above.
2024-01-29 17:08:10 +01:00
Eric Pouech
8169c4d040 dmime/tests: Add some tests about end-points.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-29 10:42:48 +01:00
Eric Pouech
7d1cfb9e01 dmime: Remove unused fields in segment.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-29 10:42:48 +01:00
Eric Pouech
1bdf94a409 dmime: Fix IDirectMusicAudioPath::GetObjectInPath() prototype.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-29 10:42:48 +01:00
Eric Pouech
b2441ad699 dmime/tests: Add some tests for loops on wave tracks.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-29 10:42:48 +01:00
Eric Pouech
7aef55a996 dmime/tests: Fix copy & paste errors.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-29 10:42:48 +01:00
Alexandre Julliard
2e9da0ba24 winsta: Start time is an input parameter in WinStationGetProcessSid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56256
2024-01-29 10:42:48 +01:00
Alexandre Julliard
e5becbf6a8 configure: Reset host flags in all cross-compiler error paths. 2024-01-29 10:42:48 +01:00
Alexandre Julliard
c963c4141a Release 9.1. 2024-01-26 23:56:23 +01:00
Zebediah Figura
34232874ad wined3d: Collapse some trivially nested ifs into a single condition. 2024-01-26 23:47:16 +01:00
Zebediah Figura
d219903c61 wined3d: Check for WINED3DUSAGE_LEGACY_CUBEMAP instead of checking the GL texture target.
This check was introduced in 4640be8dc8. At that point the only way for that
condition to be false was for a cube map texture.

It's not clear why cube maps are relevant here; we have no tests for this, but
it seems most expedient to just preserve the intent of the check.
2024-01-26 23:47:14 +01:00
Zebediah Figura
df70800b12 wined3d: Set the tex_type field of the FFP fragment settings from the resource's GL type. 2024-01-26 23:47:13 +01:00
Zebediah Figura
36597df656 wined3d: Check the wined3d resource type and usage in find_ps_compile_args(). 2024-01-26 23:47:13 +01:00
Zebediah Figura
dc15413585 d3d11/tests: Add a test for shader stencil export.
Ported from b8ab71e4dc in vkd3d by Conor McCarthy.
2024-01-26 23:47:05 +01:00
Zebediah Figura
775812ab11 d3d11: Report support for shader stencil export if available. 2024-01-26 23:47:04 +01:00
Zebediah Figura
5efd4b64f6 wined3d: Implement shader stencil export for GL. 2024-01-26 23:47:04 +01:00
Zebediah Figura
0ef730529a wined3d: Report VK_EXT_shader_stencil_export availability to vkd3d_shader_compile(). 2024-01-26 23:47:04 +01:00
Zebediah Figura
a586fd080d d3d11: Implement D3D11_FEATURE_D3D11_OPTIONS2. 2024-01-26 23:47:04 +01:00
Jacek Caban
4d2d6666db devenum: Use switch statements for moniker type handling.
Fixes -Wsometimes-uninitialized clang warnings by using DEFAULT_UNREACHABLE.
2024-01-26 18:30:07 +01:00
Rémi Bernon
68f8b53d69 winegstreamer: Use an array for the audio decoder input types. 2024-01-26 18:30:01 +01:00
Rémi Bernon
c65703eac7 winegstreamer: Use MFCreateAudioMediaType in the AAC decoder. 2024-01-26 18:30:01 +01:00
Rémi Bernon
42c96b9c8f winegstreamer: Fix reading MF_MT_USER_DATA into HEAACWAVEFORMAT.
Fixes 681d201462. The winegstreamer
private declaration of HEAACWAVEINFO previously didn't include the
WAVEFORMATEX member as it should.
2024-01-26 18:29:59 +01:00
Giovanni Mascellani
54217dab6d wined3d: Expose the image view usage for non-default views. 2024-01-26 18:11:51 +01:00
Giovanni Mascellani
7663be90ff wined3d: Expose the image view usage for null views. 2024-01-26 18:11:51 +01:00
Rémi Bernon
52a4d9e321 user32/tests: Tests clicking through window with SetWindowRgn. 2024-01-26 18:11:05 +01:00
Rémi Bernon
71201815bc user32/tests: Test clicking through attribute-layered windows. 2024-01-26 18:11:05 +01:00
Rémi Bernon
c5e16d2090 user32/tests: Filter the ll-hook messages with accept_message.
Wine sends spurious mouse move messages in some cases, let's ignore
them as it makes tests unreliable otherwise.
2024-01-26 18:11:02 +01:00
Nikolay Sivov
3724385c86 d3d10/effect: Use bitfields for numeric type descriptions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-26 17:54:33 +01:00
Martin Storsjö
11128e236f wineps.drv: Avoid invalid unaligned accesses.
While armv7 generally tolerates unaligned loads/stores in most
cases, the compiler is free to use the ldrd/strd instructions,
for loading/storing two consecutive 32 bit registers, and this
requires the destination to be aligned to a 4 byte boundary.

When packing a number of variable length structures, make sure
that each actual struct gets aligned at the right address
boundary.

This fixes crashes in DllMain of wineps.drv, when built for
armv7, since 351e58dc2d.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-26 17:54:33 +01:00
Alexandre Julliard
adf5f5fd30 ntdll/tests: Port the exception unwinding tests to ARM. 2024-01-26 17:54:33 +01:00
Alexandre Julliard
32f5efcdb2 ntdll/tests: Port the exception unwinding tests to ARM64. 2024-01-26 17:54:33 +01:00
Alexandre Julliard
35c1cc6c81 ntdll: Clear CONTEXT_UNWOUND_TO_CALL in signal frames. 2024-01-26 17:54:33 +01:00
Aida Jonikienė
81e9ae96f1 localspl: Fix a maybe-uninitialized warning in fill_builtin_form_info(). 2024-01-26 11:02:41 +01:00
Paul Gofman
bd2a2c25f5 winhttp: Always return result at once if available in WinHttpReadData(). 2024-01-26 11:01:50 +01:00
Paul Gofman
fd2534422b winhttp: Always return result at once if available in WinHttpQueryDataAvailable(). 2024-01-26 11:01:50 +01:00
Aida Jonikienė
5529b00a44 opengl32: Add a FIXME when doing a mapped buffer copy.
The copies of mapped buffers introduce significant performance overhead.
2024-01-26 11:00:56 +01:00
Aurimas Fišeras
ebb5bd64a0 po: Update Lithuanian translation. 2024-01-26 10:59:47 +01:00
Brendan McGrath
1e79217fb0 d2d1: Fix double free bug when d2d_geometry_sink_Close fails.
geometry->fill.bezier_vertices was being freed on the failed path in
d2d_geometry_sink_Close and then again when the path geometry was
released (in d2d_geometry_cleanup).

By setting it to NULL after freeing it initially, all other calls
to free it are a no-op.
2024-01-26 10:59:42 +01:00
Brendan McGrath
6d8489a0bb d2d1: Use 24-bit FP precision for triangulate.
This fixes a rendering issue (and ultimately a crash) in PowerPoint when
compiling with GCC 8.

GCC8 doesn't support the `excess-precision=standard` option under the
`#pragma GCC optimize` directive.

This results in unpredictable floating point rounding leading to errors
when inserting segments (with missing edges and/or triangles).

Using 24-bit precision ensures we don't have any excess precision.
2024-01-26 10:59:40 +01:00
Paul Gofman
eb5993a7c6 winex11.drv: Fix wglSwapBuffers() with NULL current context with child window rendering. 2024-01-25 21:59:42 +01:00
Dāvis Mosāns
e5aafd9eed ntdll/tests: Test NtContinue on x86-64.
Co-authored-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2024-01-25 21:06:51 +01:00
Gabriel Brand
12141ad6c5 kernel32: Add string for WSAEADDRNOTAVAIL error. 2024-01-25 21:00:06 +01:00
Gabriel Brand
6361a20c52 server: Return failure in bind if the address is not found. 2024-01-25 21:00:06 +01:00
Gabriel Brand
b7f06a4a19 ws2_32/tests: Test binding UDP socket to invalid address. 2024-01-25 20:55:58 +01:00
Russell Greene
c2d683488e powrprof: Add PowerWriteACValueIndex stub. 2024-01-25 20:48:33 +01:00
Daniel Hill
054678aad0 winex11.drv: Add Dvorak with phantom keys layout.
Signed-off-by: Daniel Hill <daniel@gluo.nz>
2024-01-25 20:30:56 +01:00
Daniel Hill
b5359b7da0 winex11.drv: Improve DetectLayout heuristics.
Dvorak detection would sometimes fallback to Phantom keys, because we
only use seq as a tie breaker greater emphasis on locality is required
for layouts using the same language.

Signed-off-by: Daniel Hill <daniel@gluo.nz>
2024-01-25 20:30:56 +01:00
Daniel Hill
4fb14b5656 winex11.drv: Dvorak should use QWERTY scancodes.
This make dvorak more consistent with X11/Wayland/Windows, qwertz and
azerty layouts having the same physical scancode layout as a qwerty
keyboard and only differing in the labels on the keycaps.

Signed-off-by: Daniel Hill <daniel@gluo.nz>
2024-01-25 20:30:56 +01:00
Bernhard Übelacker
26e383c8df server: Avoid unloading of HKU .Default registry branch.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55000
2024-01-25 20:30:53 +01:00
Alistair Leslie-Hughes
d6a6e1f186 include: Correct KMTQAITYPE values.
Windows SDK skips the value 14 and KMTQAITYPE_DISPLAY_UMDRIVERNAME was assigned
a value of 71 in the SDK but wasn't in the correct order.
2024-01-25 18:01:40 +01:00
Jacek Caban
91d7b084ba kernelbase: Silence -Warray-bounds clang warning. 2024-01-25 17:58:54 +01:00
Jacek Caban
2765825c9e kernelbase: Silence -Wsometimes-uninitialized clang warning. 2024-01-25 17:58:54 +01:00
Jacek Caban
df0726e359 winevdm: Use char type for max length assignment. 2024-01-25 17:58:54 +01:00
Martin Storsjö
6d0fcf64d2 ntdll: Remove dwarf unwinding support for aarch64.
Since recently, unwinding never should need to look at the
unix libs any longer, and as aarch64 requires PE builds, there
should be no need to unwind through any .dll.so files any
longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-25 17:46:10 +01:00
Alexandre Julliard
7a5e92124f ntdll: Use a .seh handler for nested exceptions. 2024-01-25 17:43:06 +01:00
Alexandre Julliard
014f020e34 ntdll: Share the nested exception handler across platforms. 2024-01-25 16:17:52 +01:00
Rémi Bernon
6ba584d1e0 user32/tests: Run the mouse hook tests in the separate desktop.
And run SetCursorPos / ClipCursor tests in a separate function, they
don't need hooks or windows.
2024-01-25 11:13:11 +01:00
Rémi Bernon
07d522426a user32/tests: Cleanup the mouse input WM_NCHITTEST / SetCapture tests.
And run them in the dedicated desktop.
2024-01-25 11:13:10 +01:00
Rémi Bernon
2b3b900490 user32/tests: Add an optional hwnd to input messages tests.
And rename keyboard tests to avoid conflicts with mouse tests.
2024-01-25 11:13:08 +01:00
Bernhard Übelacker
ab28825ace ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
This is to avoid crash in Process Explorer 17.05.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56235
2024-01-24 21:36:23 +01:00
Alexandre Julliard
976e715b86 configure: Only check for libunwind on x86-64. 2024-01-24 17:34:30 +01:00
Martin Storsjö
4e9838fbc2 ntdll: Remove libunwind support for ARM.
Building for ARM with libunwind available has been broken
since 89f3c59739, due to
references to raise_func_trampoline that were left behind.

In Linux builds, libunwind isn't practically needed since
a27b202a4d (which implemented an
internal EHABI unwinder). That unwinder currently only supports
Linux, due to relying on dl_iterate_phdr, but if necessary, we
could also try to detect support for dl_iterate_phdr in configure
for other OSes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-24 17:34:30 +01:00
Martin Storsjö
57b8d4c019 ntdll: Remove libunwind support for aarch64.
Libunwind hasn't been necessary for unwinding through the ELF
bits since 03d4ba67f4.

This reduces the number of potential build configurations to
keep track of.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-24 17:34:30 +01:00
Martin Storsjö
e772113071 ntdll: Reduce fixme logging for large numbers of cores.
Once we've reached the condition for skipping a core, we will
skip all other cores in the same range as well - don't print
a fixme message for each of them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-24 17:34:30 +01:00
Rémi Bernon
46c5c2d41a imm32: Complete the composition string when the IME is closed. 2024-01-24 12:19:51 +01:00
Rémi Bernon
0d9e6adada imm32/tests: Test the effect of CPS_CANCEL and CPS_COMPLETE. 2024-01-24 12:19:51 +01:00
Rémi Bernon
faa342a2f1 win32u: Also pass WM_KEYUP messages to ImmProcessKey.
And to ImmTranslateMessage if they have been processed.
2024-01-24 12:19:49 +01:00
Rémi Bernon
08bfeeeb0d imm32/tests: Test that WM_KEYUP are passed to ImeProcessKey. 2024-01-24 12:19:49 +01:00
Rémi Bernon
f522c58ce6 imm32: Mask the scancode before passing it to ImeToAsciiEx. 2024-01-24 12:19:49 +01:00
Rémi Bernon
961e01e517 imm32/tests: Adjust todo_wine for the new Wine CJK keyboard layouts.
We don't return 0xe001 high word anymore, so the tests are now failing.
2024-01-24 12:19:45 +01:00
Rémi Bernon
e2b637c8dc windows.gaming.input: Stub IRawGameController2 interface. 2024-01-24 12:17:35 +01:00
Rémi Bernon
3dce01a204 dinput/tests: Add some IRawGameController2 interface tests. 2024-01-24 12:17:35 +01:00
Rémi Bernon
dcfba0a2aa dinput/tests: Relax the mouse move count test.
It is prone to spurious failures and we don't really care about it
being precise yet.
2024-01-24 12:17:32 +01:00
Brendan Shanks
c98d0eaac8 ntdll: Only build the main module and ntdll once on Wow64.
Fixes +relay for applications that use multiple threads when running in
new Wow64.
2024-01-24 12:16:44 +01:00
Brendan Shanks
fe880597a1 ntdll: Remove unnecessary NtQueryVirtualMemory call. 2024-01-24 12:16:42 +01:00
Tim Clem
d81c4ce1ba winemac.drv: Detect active handwriting and panel IMEs.
Allows such IMEs that process keyboard input to do so. For instance,
fixes backspace and escape for handwriting methods.
2024-01-23 22:56:53 +01:00
Paul Gofman
7bd070ae86 ntdll: Return STATUS_DEBUGGER_INACTIVE from NtSystemDebugControl() stub. 2024-01-23 22:56:53 +01:00
Tyson Whitehead
9dc1ddf801 dinput: Implement DIPROP_AUTOCENTER.
Autocenter is a default effect playing on the device following power
up or reset. It is disabled by stopping all effects. On at least
some devices (all?) it is a spring effect playing in slot 1.
Capturing Windows USB packets reveals it dinput acquire does (1) a
reset (this enabled autocenter) and, if autocenter is disabled, (2)
a stop all effects (this disabled autocenter).

This logic works regardless of whether autocenter is a spring effect
playing in slot 1 or not. It does mean autocenter can only be set
when the device is not acquired. Testing on Windows reveals setting
autocenter properties while acquired returns DIERR_ACQUIRED even
if the device is exclusively acquired, so this is consistent.
2024-01-23 22:56:53 +01:00
Tyson Whitehead
63562c05f6 dinput/tests: Update tests for DIPROP_AUTOCENTER. 2024-01-23 22:56:53 +01:00
Rémi Bernon
96b823c2d4 dinput/tests: Differentiate missing from broken HID reports. 2024-01-23 22:56:53 +01:00
Rémi Bernon
6c44228c1f winex11: Sync with gdi_display before closing the threads display. 2024-01-23 22:56:53 +01:00
Gabriel Ivăncescu
1571c12129 mshtml: Implement document.lastModified.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-23 22:56:53 +01:00
Alexandre Julliard
5113e55139 ntdll/tests: Update todos in context tests for new wow64 mode. 2024-01-23 22:56:49 +01:00
Alexandre Julliard
6085ab8822 ntdll: Use a .seh handler for the process breakpoint. 2024-01-23 16:27:31 +01:00
Alexandre Julliard
1414adfa46 ntdll: Move the process breakpoint to the CPU backends. 2024-01-23 15:53:58 +01:00
Brendan McGrath
9b02ac6d42 gdi32: Ignore Datatype when StartDoc is called. 2024-01-23 15:31:51 +01:00
Martin Storsjö
f6b66e4f87 ntdll: Fix KiUserCallbackDispatcher on arm.
This was broken in 78c2b7dfe2.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-01-23 15:30:47 +01:00
Rémi Bernon
4f95ad1ad1 dinput/tests: Add a test with a virtual HID touch screen. 2024-01-23 12:20:46 +01:00
Rémi Bernon
aaf34e3f7e include: Add more HID digitizer usage definitions. 2024-01-23 12:20:45 +01:00
Rémi Bernon
abee0d4502 dinput/tests: Add a test with a virtual HID keyboard. 2024-01-23 12:20:45 +01:00
Rémi Bernon
e2f2f680d4 dinput/tests: Add a test with a virtual HID mouse. 2024-01-23 12:20:45 +01:00
Rémi Bernon
3e79b8d6eb dinput/tests: Enforce ordering of concurrent read IRPs. 2024-01-23 12:20:45 +01:00
Rémi Bernon
e2dffb8eb0 dinput/tests: Introduce a new helper to create a foreground window. 2024-01-23 12:20:45 +01:00
Hans Leidekker
1d0551ca49 dssenh: Finalize the hash if necessary in CPVerifySignature(). 2024-01-23 12:20:17 +01:00
Hans Leidekker
7231d4586d bcrypt: Fix private data size in wow64 thunks. 2024-01-23 12:20:10 +01:00
Zhiyi Zhang
28a829a1da win32u: Don't set the high word of keyboard layout to 0xe001 in CJK locales.
The high word of the keyboard layout in CJK locale on Vista+ is the same as the low word, even when
IME is on according to tests in user32 and manual tests on Windows 10.

Fix Super Robo Wars 30 (SteamID: 898750) crash on start when CJK locales are used.
2024-01-23 12:19:13 +01:00
Zhiyi Zhang
0b19f8b2ff user32/tests: Test keyboard layout in CJK locales.
Also tested manually on Windows 10 with Korean, Chinese, and Japanese IME activated.
2024-01-23 12:19:11 +01:00
Rémi Bernon
35ac0e7ac0 setupapi: Don't clobber the original filename if .inf is found. 2024-01-22 21:59:58 +01:00
Piotr Caban
dd44e2e6d6 winex11.drv: Fix xim_set_focus no IC condition check.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56236
2024-01-22 21:59:58 +01:00
Dmitry Timoshkov
a9cc6f0218 oleaut32: Implement OleLoadPictureFile.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-01-22 21:37:33 +01:00
Dmitry Timoshkov
176fa9ad27 oleaut32: Factor out stream creation from OleLoadPicturePath.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-01-22 21:37:33 +01:00
Dmitry Timoshkov
d451842d16 oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
punkCaller is ignored by StdPicture ClassFactory implementation anyway.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-01-22 21:37:33 +01:00
Rémi Bernon
d5cfbf5da4 user32/tests: Test that WH_KEYBOARD_LL are blocking SendInput. 2024-01-22 16:49:57 +01:00
Rémi Bernon
ee74d202cd user32/tests: Move KEYEVENTF_UNICODE to test_SendInput_keyboard_messages. 2024-01-22 16:49:57 +01:00
Rémi Bernon
a823177ccb win32u: Avoid truncating ToUnicodeEx result if there's room. 2024-01-22 16:49:57 +01:00
Vijay Kiran Kamuju
0d137ddb72 msvcr100: Add _ReaderWriterLock constructor implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46074
2024-01-22 16:49:37 +01:00
Gabriel Ivăncescu
64009b9c9f jscript: Allow garbage collection between different jscript contexts.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-22 14:25:54 +01:00
Gabriel Ivăncescu
bc45b43a49 jscript: Make the garbage collector thread-wide rather than per-ctx.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-22 14:25:54 +01:00
Gabriel Ivăncescu
39c7950aae jscript: Don't use atomic compare exchange when setting the script ctx.
It already bails out early if the thread_data was already populated, so
only one thread can reach here at one time.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-22 14:25:51 +01:00
Gabriel Ivăncescu
f55db65292 jscript: Move thread_id from JScript struct to TLS data.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-22 14:25:51 +01:00
Alex Henrie
cba29adf06 ntoskrnl: Reimplement ExAllocatePool* on top of ExAllocatePool2.
Microsoft deprecated all of these functions except ExAllocatePool2 and
ExAllocatePool3, so it's a safe bet that in Windows the old functions
are just wrappers around the new ones now.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54362
2024-01-22 14:22:21 +01:00
Alex Henrie
87761a8a92 include: Add POOL_FLAGS and POOL_FLAG_*. 2024-01-22 14:22:20 +01:00
Eric Pouech
46ab4f0ce7 include: Avoid redefining _InterlockedCompareExchange128 as inline.
Note the _InterlockedCompareExchange128 for a x86_64 machine is only
defined as intrinsic when -mcx16 option is enabled.
But we use always use the intrinsic definition on x86_64 so that
compilation done without the -mcx16 could be detected (on C++ only).
And the intrinsic has been added recently to aarch64 machine for clang.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-22 14:16:07 +01:00
Eric Pouech
72c4adc036 include: Avoid defining intrinsic functions as inline.
Now clang provides intrinsic variant of Interlocked*64 family on i386
machine.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-22 14:15:43 +01:00
Daniel Lehman
8536af685a msvcp140: Pad _Mtx_t struct to match Windows. 2024-01-22 14:15:13 +01:00
Daniel Lehman
c3ee5751d5 msvcp120/tests: Add some tests for _Mtx_t fields. 2024-01-22 14:15:13 +01:00
Fabian Maurer
d9c4b56e71 windows.ui: Add stubs for InputPane class. 2024-01-22 14:15:13 +01:00
Fabian Maurer
5de5ae4eb1 include: Add Windows.UI.ViewManagement.InputPane definitions. 2024-01-22 14:15:13 +01:00
Alexandre Julliard
78c2b7dfe2 ntdll: Use a .seh handler for KiUserCallbackDispatcher exceptions. 2024-01-22 14:01:24 +01:00
Alexandre Julliard
47aebf67a5 ntdll: Export KiUserCallbackDispatcherReturn. 2024-01-22 11:46:50 +01:00
Alexandre Julliard
7344a124d7 ntdll: Report failure in KiUserCallbackDispatcher when catching an exception. 2024-01-22 11:46:50 +01:00
Alexandre Julliard
d89037a826 ntdll: Share KiUserCallbackDispatcher implementation across platforms. 2024-01-22 11:46:25 +01:00
Alexandre Julliard
3031f15784 include: Add a typedef for user callback function pointers. 2024-01-22 11:26:56 +01:00
Alexandre Julliard
c7c8624250 msvcp: Consistently use __int64 types in number conversion functions.
This avoids unaligned access warnings with clang.
2024-01-22 11:26:56 +01:00
Nikolay Sivov
d46021bab9 d2d1/effect: Recreate transform graph when input count changes. 2024-01-22 10:14:54 +01:00
Nikolay Sivov
1671031143 d2d1/effect: Use XML description for builtin effects. 2024-01-22 10:14:53 +01:00
Nikolay Sivov
9b32b18b08 d2d1/effect: Handle variable input count attributes in the description. 2024-01-22 10:14:51 +01:00
Nikolay Sivov
69870ee88b d2d1/tests: Add some tests for minimum/maximum input count in effect description. 2024-01-22 10:14:51 +01:00
Rémi Bernon
a634c30f00 mfplat: Support compressed WAVEFORMATEX in MFCreateWaveFormatExFromMFMediaType. 2024-01-22 10:14:33 +01:00
Rémi Bernon
1939bfff9f mfplat: Support AAC format attributes in MFInitMediaTypeFromWaveFormatEx. 2024-01-22 10:14:33 +01:00
Rémi Bernon
96346d24c1 mfplat/tests: Test MFWaveFormatExConvertFlag_ForceExtensible with HEAACWAVEFORMAT. 2024-01-22 10:14:33 +01:00
Rémi Bernon
aa648beec8 mfplat/tests: Add MFInitMediaTypeFromWaveFormatEx tests with HEAACWAVEFORMAT. 2024-01-22 10:14:33 +01:00
Rémi Bernon
2155817a36 mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx wrt MF_MT_FIXED_SIZE_SAMPLES. 2024-01-22 10:14:33 +01:00
Rémi Bernon
681d201462 include: Add HEAACWAVEINFO and HEAACWAVEFORMAT definitions. 2024-01-22 10:14:32 +01:00
Vijay Kiran Kamuju
f24b20f01e include: Add Windows.Storage.Streams.InMemoryRandomAccessStream runtimeclass definition.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54963
2024-01-22 10:13:28 +01:00
Fabian Maurer
51b9d8ae65 winegstreamer: Don't check event for NULL, gstreamer already does that. 2024-01-22 10:13:12 +01:00
Yuxuan Shui
8daf207bf7 dmime: Semi-support creating an audio path from config. 2024-01-22 10:12:47 +01:00
Yuxuan Shui
e9a52308bb dmime: IDirectMusicPerformance::CreateAudioPath should fail when config is NULL. 2024-01-22 10:12:47 +01:00
Yuxuan Shui
289dfacfd4 dmime: Parse AudioPathConfig. 2024-01-22 10:12:46 +01:00
Yuxuan Shui
a300815c0f dmime: AudioPathConfig is not AudioPath.
AudioPaths are created from IDirectMusicPerformance::CreateAudioPath and CreateStandardAudioPath, and
don't have an IDirectMusicObject or an IPersistStream interface. On the other hand AudioPathConfigs
are loaded from files, and do have IDirectMusicObject and IPersistStream.

They were somehow confused with each other and implemented in the same struct, this commit fixes that.
2024-01-22 10:12:44 +01:00
Piotr Caban
12e8d3bd48 msvcp140: Recognize no error case in _Syserror_map. 2024-01-22 10:12:06 +01:00
Piotr Caban
c0598baa87 msvcp140/tests: Fix _Syserror_map(0) test failure in newest msvcp140. 2024-01-22 10:12:06 +01:00
Piotr Caban
1d917529f1 msvcp140: Add _XGetLastError implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46904
2024-01-22 10:12:06 +01:00
Vijay Kiran Kamuju
b6199254be msvcp140: Add stub for _XGetLastError. 2024-01-22 10:12:05 +01:00
Vijay Kiran Kamuju
f51b4d014e wine.inf: Create security directory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52399
2024-01-22 10:11:27 +01:00
Bernhard Übelacker
c3ef1a6c67 dbghelp: Return early if HeapAlloc failed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56223
2024-01-22 10:10:23 +01:00
Zhiyi Zhang
b89d9f3145 ncrypt/tests: Add NCryptExportKey() tests. 2024-01-19 21:18:04 +01:00
Zhiyi Zhang
663bce9de9 ncrypt: Add some missing RSA key properties. 2024-01-19 21:18:04 +01:00
Zhiyi Zhang
1144efbc47 ncrypt/tests: Test default RSA key properties. 2024-01-19 21:18:04 +01:00
Zhiyi Zhang
032834fd6c include: Add some bcrypt definitions. 2024-01-19 21:18:04 +01:00
Zhiyi Zhang
2021959538 include: Add some ncrypt definitions. 2024-01-19 21:18:04 +01:00
Zebediah Figura
504d1a45e0 wined3d/spirv: Hook up sm1 interface matching. 2024-01-19 21:18:04 +01:00
Fan Wenjie
1474f5cc47 wined3d: Compile sm1 bytecode to spirv. 2024-01-19 21:17:35 +01:00
Zebediah Figura
9e094def75 wined3d: Hook up push constants for Vulkan. 2024-01-19 21:17:35 +01:00
Brendan Shanks
f201a609a0 wined3d: Update reported AMD driver version.
Satisfies driver version check in Counter Strike 2.
2024-01-19 21:17:31 +01:00
Nikolay Sivov
21bbd34d35 mf/tests: Fully cleanup when skipping tests. 2024-01-19 18:01:34 +01:00
Alexandre Julliard
7aa982f88b ntdll: Add NtCompareTokens syscall for ARM64EC. 2024-01-19 16:24:23 +01:00
Alexandre Julliard
4b5b478de9 opengl32: Return a proper NTSTATUS in the debug callback. 2024-01-19 14:36:56 +01:00
Alexandre Julliard
b26d127897 user32: Return a proper NTSTATUS in all user callbacks. 2024-01-19 14:30:59 +01:00
Alexandre Julliard
621bcd0db2 user32: Return a proper NTSTATUS in the post DDE message callback. 2024-01-19 14:28:26 +01:00
Alexandre Julliard
d06192afe9 user32: Return a proper NTSTATUS in the load driver callback. 2024-01-19 14:23:24 +01:00
Alexandre Julliard
a5d73ae427 winemac.drv: Return result through NtCallbackReturn for the drag and drop callbacks. 2024-01-19 13:48:32 +01:00
Alexandre Julliard
5cd3861438 winex11.drv: Return result through NtCallbackReturn for the drag and drop callbacks. 2024-01-19 13:46:34 +01:00
Alexandre Julliard
be44253c94 wineandroid.drv: Return result through NtCallbackReturn for the start device callback. 2024-01-19 13:43:10 +01:00
Alexandre Julliard
643538a836 winevulkan: Return result through NtCallbackReturn for the debug callbacks. 2024-01-19 13:42:14 +01:00
Piotr Caban
bcda5979be concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation. 2024-01-19 12:47:44 +01:00
Vijay Kiran Kamuju
05a1062f95 concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56174
2024-01-19 12:47:41 +01:00
Hans Leidekker
54c7df15bb sxs: Skip file copy when assembly is already installed. 2024-01-19 12:42:18 +01:00
Hans Leidekker
499fa1d907 sxs/tests: Update QueryAssemblyInfo() test for Windows 10. 2024-01-19 12:42:18 +01:00
Hans Leidekker
b62d7e7a66 sxs/tests: Get rid of workarounds for old Windows versions. 2024-01-19 12:42:18 +01:00
Hans Leidekker
72dc82c033 sxs/tests: Use wide character string literals. 2024-01-19 12:42:18 +01:00
Hans Leidekker
755f6a0a2b sxs: Use wide character string literals. 2024-01-19 12:42:17 +01:00
Nicholas Tay
4f8939e1d9 win32u: Preserve rawinput device instance ID case in add_device().
In ntoskrnl.exe, when a PnP device interface is registered, the
interface path casing is retained, with only the hardware ID being upper
case. Thus, this patch looks to align the behaviour between PnP and
rawinput, particularly for games that seem to rely on these two strings
being consistent for hotplug.

This updated behaviour also seems consistent with Windows.
2024-01-19 12:41:51 +01:00
Etaash Mathamsetty
a1129ed23b xinput: Reimplement XInputGetCapabilities. 2024-01-19 12:41:02 +01:00
Etaash Mathamsetty
aea7918433 xinput: Implement XInputGetCapabilitiesEx. 2024-01-19 12:41:02 +01:00
Paul Gofman
39304daf4d ntdll: Fix exception list offset in call_user_mode_callback / user_mode_callback_return. 2024-01-18 22:53:56 +01:00
Gabriel Ivăncescu
c086a7eb31 msvcirt: Use proper operator_new and operator_delete types.
msvcirt's PARENTSRC imports exception.c from msvcp90, but it uses a function
pointer for these functions, resulting in a type mismatch.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-18 22:50:55 +01:00
Piotr Caban
816c35e0ee msvcp140_t/tests: Add __std_smf_hypot3 tests. 2024-01-18 22:50:54 +01:00
Piotr Caban
ff88ec624c msvcp140_2: Implement __std_smf_hypot3f. 2024-01-18 22:49:04 +01:00
Alex Henrie
fca71b6ef8 msvcp140_2: Implement __std_smf_hypot3.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56078
2024-01-18 22:49:03 +01:00
Piotr Caban
4240c8180e msvcp140_2: Fix i386 export names. 2024-01-18 22:49:03 +01:00
Hans Leidekker
0ceb41a5fd crypt32: Pad R/S values with zeroes if smaller than their counterpart.
Fixes certificate verification in Brawlhalla.
2024-01-18 18:09:09 +01:00
Hans Leidekker
47349f3422 bcrypt/tests: Add DH tests.
Mostly written by Paul Gofman.
2024-01-18 18:08:54 +01:00
Hans Leidekker
c6974c6b46 bcrypt: Set dh_params in key_import_dh/_public(). 2024-01-18 18:08:54 +01:00
Hans Leidekker
f067283f9b bcrypt: Assume we have a public key in key_export_dh_public(). 2024-01-18 18:08:54 +01:00
Hans Leidekker
dfbbfd6f24 bcrypt: Make sure key_asymmetric_derive_key() returns correct size. 2024-01-18 18:08:54 +01:00
Hans Leidekker
7f41d5059e bcrypt: Add support for generating DH keys from known parameters. 2024-01-18 18:08:54 +01:00
Hans Leidekker
0d95ae4252 bcrypt: Reject DH keys smaller than 512 bits. 2024-01-18 18:08:54 +01:00
Hans Leidekker
3ef933c08f bcrypt: Make DH blob size validation more strict in key_import_pair(). 2024-01-18 18:08:54 +01:00
Hans Leidekker
4becbefe5d bcrypt: Add helpers to create a public/private key pair. 2024-01-18 18:08:54 +01:00
Hans Leidekker
b82faa2697 bcrypt: Allow or disallow some operations based on whether keys are finalized. 2024-01-18 18:08:54 +01:00
Hans Leidekker
3bfccbc7e4 bcrypt: Add support for retrieving DH parameters. 2024-01-18 18:08:53 +01:00
Hans Leidekker
a9193a200f bcrypt: Add support for setting DH parameters. 2024-01-18 18:08:53 +01:00
Alexandre Julliard
2c8b60af43 user32: Return result through NtCallbackReturn for the window hook callback. 2024-01-18 18:08:49 +01:00
Alexandre Julliard
3f9de12980 user32: Return result through NtCallbackReturn for the enum monitors callback. 2024-01-18 18:08:49 +01:00
Alexandre Julliard
a9e42169ca user32: Return result through NtCallbackReturn for the draw text callback. 2024-01-18 18:08:49 +01:00
Alexandre Julliard
ee106102c5 user32: Return result through NtCallbackReturn for the load sys menu callback. 2024-01-18 18:08:49 +01:00
Alexandre Julliard
33793446c4 user32: Return result through NtCallbackReturn for the load image callback. 2024-01-18 18:08:48 +01:00
Alexandre Julliard
a60747c755 user32: Return result through NtCallbackReturn for the copy image callback. 2024-01-18 18:08:48 +01:00
Alexandre Julliard
cdf7b1bb77 user32: Return result through NtCallbackReturn for the thunk lock callback. 2024-01-18 18:08:48 +01:00
Alexandre Julliard
85e351abaf user32: Return result through NtCallbackReturn for the DDE message callback. 2024-01-18 18:08:48 +01:00
Zhiyi Zhang
386e9fef2b user32/tests: Add recursive WM_SETCURSOR message tests.
This test show that WM_SETCURSOR gets handled recursively, so in process_mouse_message(),
accept_hardware_message() can be called after sending WM_SETCURSOR and no changes are needed there.
2024-01-18 18:08:48 +01:00
Zhiyi Zhang
f110dc58ba win32u: Avoid calling WH_CBT HCBT_CLICKSKIPPED hooks recursively.
Previously, accept_hardware_message() is called after WH_CBT HCBT_CLICKSKIPPED hooks. So when
these hooks call PeekMessage(), they will be called recursively. Note that WH_MOUSE hooks do
get called recursively according to tests.
2024-01-18 18:08:48 +01:00
Zhiyi Zhang
a676f094f6 win32u: Avoid calling WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks recursively.
Previously, accept_hardware_message() is called after WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks.
So when PeekMessage() gets called in WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks, the hooks will be
called recursively because the message is still in the server message queue.

Fix Toad for Oracle F3 find next function not working properly because its WH_KEYBOARD hook gets
called too many times.
2024-01-18 18:08:48 +01:00
Zhiyi Zhang
3c9e57d57f user32/tests: Add recursive keyboard and mouse hook tests. 2024-01-18 18:08:48 +01:00
Alex Henrie
98e14329dd mgmtapi: AddSnmpMgrOpen stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56062
2024-01-18 18:08:48 +01:00
Alex Henrie
3fbdd41297 include: Add mgmtapi.h and LPSNMP_MGR_SESSION. 2024-01-18 18:08:48 +01:00
Jinoh Kang
015434d24c ntdll/tests: Restore x86-64 #AC exception test in test_exceptions(). 2024-01-18 18:08:48 +01:00
Jinoh Kang
b07ce09982 ntdll/tests: Avoid misaligned load in exception handler code in run_exception_test_flags().
This is required for testing EH behavior on alignment check (#AC)
exceptions.
2024-01-18 18:08:48 +01:00
Bernhard Übelacker
702aeb3acb server: Allow VirtualQueryEx on "limited" handle.
A handle created with just PROCESS_QUERY_LIMITED_INFORMATION
should allow VirtualQueryEx / APC_VIRTUAL_QUERY.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56093
2024-01-18 18:08:48 +01:00
Zhiyi Zhang
6164432aa7 compstui: Fix a possible out-of-bounds write (Coverity).
When len is 256, (ARRAY_SIZE(title) - len) is 0. When LoadStringW() is called with the last parameter
being zero, a WCHAR string pointer is stored at 'title + 256', writing title out of bounds.
2024-01-18 18:08:48 +01:00
Alex Henrie
2b323dbad7 advapi32: Add TreeSetNamedSecurityInfoW stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56055
2024-01-18 18:08:48 +01:00
Alex Henrie
2586ddc5dc tbs: Add GetDeviceIDString stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56054
2024-01-18 18:08:48 +01:00
Haidong Yu
7a941fd59a loader: Associate folder with explorer.
Signed-off-by: Haidong Yu <yuhaidong@uniontech.com>
2024-01-18 18:08:48 +01:00
Alex Henrie
53724c2eb6 uiautomationcore/tests: Use CRT allocation functions. 2024-01-18 18:08:48 +01:00
Bartosz Kosiorek
b12078d928 gdiplus: Partially implement GdipDrawImageFX.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55945
2024-01-18 18:08:48 +01:00
Bartosz Kosiorek
bc56fc1b87 gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes. 2024-01-18 18:08:48 +01:00
Rémi Bernon
aa92cabd67 windows.gaming.input: Add a description to the monitor thread. 2024-01-18 18:08:48 +01:00
Rémi Bernon
4885bdda95 dinput: Add a description to the dinput worker thread. 2024-01-18 18:08:48 +01:00
Rémi Bernon
c43d3964e3 winebus: Demote BusContainerId FIXME message to WARN. 2024-01-18 18:08:48 +01:00
Rémi Bernon
08a422bf17 winexinput: Demote BusContainerId FIXME message to WARN. 2024-01-18 18:08:48 +01:00
Rémi Bernon
173ed7e61b winebus: Prefer hidraw backends for DS4 and DS5 gamepads. 2024-01-18 18:08:48 +01:00
Rémi Bernon
13d8571b08 winebus: Move device identification helpers to unixlib.h. 2024-01-18 18:08:48 +01:00
Rémi Bernon
814d2c176d winebus: Allow specific devices to prefer hidraw backend.
And use SDL otherwise in priority over evdev for abstracted HID device
implementation.
2024-01-18 18:08:48 +01:00
Rémi Bernon
ef31616393 winebus: Append is_gamepad to the device instance id. 2024-01-18 18:08:48 +01:00
Brendan Shanks
1932c3a251 combase: Make RoGetActivationFactory hookable. 2024-01-17 21:55:07 +01:00
Rémi Bernon
746de31897 win32u: Remove now unnecessary ImeToAsciiEx driver entry. 2024-01-17 21:54:59 +01:00
Rémi Bernon
f341b8003c winemac: Use the default ImeToAsciiEx implementation.
And support updates pushed from the host IME directly.
2024-01-17 21:54:58 +01:00
Rémi Bernon
2d6fa95217 win32u: Support posting IME updates while processing keys. 2024-01-17 21:54:57 +01:00
Rémi Bernon
5f313c0fdb win32u: Move ImeToAsciiEx implementation from winex11.
Using a new WINE_IME_POST_UPDATE NtUserMessageCall call for the drivers.
2024-01-17 21:54:55 +01:00
Rémi Bernon
59820f0efb winex11: Return STATUS_NOT_FOUND when IME update isn't found. 2024-01-17 21:54:55 +01:00
Bernhard Übelacker
0f6a66e919 wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56135
2024-01-17 12:26:28 +01:00
Bernhard Übelacker
edf0635ed4 wing32: Add tests. 2024-01-17 12:26:28 +01:00
Alexandre Julliard
fad3e416f8 ntdll/tests: Add exception test for int 2d on x86-64. 2024-01-17 12:16:37 +01:00
Brendan Shanks
1f8bba0f74 opengl32: Make wglSwapLayerBuffers hookable. 2024-01-17 11:33:01 +01:00
Dmitry Timoshkov
16d2f3c8a7 ntdll: Add NtCompareTokens() stub.
SQL Native Client ODBC driver fails to load if GetProcAddress("NtCompareTokens")
returns NULL, however it never calls it.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-01-17 11:30:55 +01:00
Nikolay Sivov
ba664e108e evr/dshow: Handle YUY2 sample copy.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53810
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-17 11:07:00 +01:00
Sven Baars
a1adaaca27 advapi32/tests: Skip WoW64 tests on 32-bit in test_reg_create_key.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54613
2024-01-17 11:07:00 +01:00
Sven Baars
7565d61403 advapi32/tests: Introduce a new has_wow64 helper. 2024-01-17 11:07:00 +01:00
David Kahurani
760bcdcb4e gdiplus: Avoid use of temporary variable.
A temporary variable is used here to assist with assignment
but this does not conform to the coding style in the rest of
gdiplus and introduces an unnecessary variable.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-01-17 11:07:00 +01:00
Zhiyi Zhang
d91eab24d2 win32u: Fix a possible out-of-bounds write (Coverity). 2024-01-17 11:07:00 +01:00
Eric Pouech
20b4cdde55 user32: Load dynamically wine_get_version().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-17 11:07:00 +01:00
Eric Pouech
d40a0d8a1d appwiz.cpl: Load dynamically wine_get_version().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-17 11:07:00 +01:00
Nikolay Sivov
564b796e36 scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys. 2024-01-17 11:07:00 +01:00
Nikolay Sivov
e89bedb70b scrrun/dictionary: Add support for hashing VT_NULL keys. 2024-01-17 11:07:00 +01:00
Nikolay Sivov
92e2626e9d scrrun/dictionary: Add support for hashing VT_EMPTY keys. 2024-01-17 11:07:00 +01:00
Alistair Leslie-Hughes
7ea0a3609c include: Add more D3D_FEATURE_LEVEL_ defines. 2024-01-17 11:07:00 +01:00
Zhiyi Zhang
fe7e7c62ee bcrypt: Fix an possible out-of-bounds read (Coverity). 2024-01-17 11:07:00 +01:00
Zhiyi Zhang
4afca1787f msi: Fix a memory leak (Coverity). 2024-01-17 11:07:00 +01:00
Zhiyi Zhang
b0de71f214 wldap32: Fix a possible memory leak (Coverity). 2024-01-17 11:07:00 +01:00
Biswapriyo Nath
e031a0d0da include: Add missing macros in devenum.idl. 2024-01-17 11:07:00 +01:00
Biswapriyo Nath
407bfcf985 include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT in d3d12video.idl. 2024-01-17 11:01:34 +01:00
Biswapriyo Nath
51e1f5e43d include: Add D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS in d3d12video.idl. 2024-01-17 11:01:34 +01:00
Biswapriyo Nath
e63a998420 include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS in d3d12video.idl. 2024-01-17 11:01:34 +01:00
Biswapriyo Nath
0c2cdfffd9 include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS in d3d12video.idl. 2024-01-17 11:01:34 +01:00
Fabian Maurer
31f340edfd wow64win: Add missing break inside packed_result_32to64 (Coverity). 2024-01-17 11:01:18 +01:00
Fabian Maurer
1fc50847e0 winedbg: Add missing break inside fetch_value (Coverity). 2024-01-17 11:01:16 +01:00
Fabian Maurer
ed18b66ceb wmiutils: Always zero path->namespaces in parse_text (Coverity).
When the malloc for len_namespaces should fail namespaces
would be uninitialized and passed to free.
2024-01-17 11:00:56 +01:00
Fabian Maurer
83bcb752a2 localspl: In fpScheduleJob leave critical section in error case (Coverity). 2024-01-17 11:00:37 +01:00
Fabian Maurer
0459802ac1 dmsynth: Leave critical section when out of memory (Coverity). 2024-01-17 11:00:27 +01:00
Eric Pouech
1d53204ebf winedbg: Print all pid and tid with 4 hex characters.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-17 10:59:15 +01:00
Eric Pouech
edb38d15c5 winedbg: Make some internal data 'static const'.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-17 10:59:10 +01:00
Nikolay Sivov
a8f5b292c3 ntdll/tests: Add some tests for creating custom heaps. 2024-01-17 10:58:39 +01:00
Nikolay Sivov
73647adaef ntdll: Update RTL_HEAP_PARAMETERS definition. 2024-01-17 10:58:39 +01:00
Rémi Bernon
416fc8067b vulkan/tests: Add gitlab Win10 VM results. 2024-01-17 10:57:59 +01:00
Rémi Bernon
ee51d536f0 dinput/tests: Make some failing keyboard test flaky_wine. 2024-01-17 10:57:55 +01:00
Rémi Bernon
5f7094ffd4 imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55491
2024-01-17 10:57:48 +01:00
Rémi Bernon
28b75e9f1d user32/tests: Test SendInput messages with other keyboard layouts. 2024-01-17 10:57:41 +01:00
Rémi Bernon
0601b4eef2 user32/tests: Test SendInput messages with KEYEVENTF_SCANCODE flag. 2024-01-17 10:57:41 +01:00
Rémi Bernon
998003bda1 user32/tests: Cleanup SendInput keyboard message sequence tests. 2024-01-17 10:57:41 +01:00
Rémi Bernon
a02acadc44 user32/tests: Run SendInput tests in a separate desktop. 2024-01-17 10:57:41 +01:00
Rémi Bernon
85dac24e64 user32/tests: Add flaky_wine to some SetActiveWindow tests.
They are constantly failing on Gitlab, and may be caused various race
conditions around window focus, both in Wine and in Fvwm. It would be
nice to fix them but it's been going for many years now and unlikely to
be the case soon.
2024-01-17 10:57:39 +01:00
Zebediah Figura
d6204ccd54 ddraw: Use the sysmem wined3d texture for sysmem surfaces if possible. 2024-01-17 10:57:32 +01:00
Zebediah Figura
b712d6c846 ddraw: Sync to sysmem after performing a color fill.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56119
2024-01-17 10:57:32 +01:00
Zebediah Figura
48ecde18e0 ddraw/tests: Add tests for map pointer coherency. 2024-01-17 10:57:32 +01:00
Eric Pouech
585e9d4985 dbghelp: Support redefinition of a range statement.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56168
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-17 10:57:12 +01:00
Rémi Bernon
0ab411a047 user32/tests: Fix cursoricon tests on recent Windows versions.
This will now fail on older, unsupported versions, but the
test_monochrome_icon test would be pointless otherwise.
2024-01-17 10:57:01 +01:00
Rémi Bernon
edc41d6db5 user32/tests: Remove old Windows versions broken cursoricon results.
They most of the time let any result pass and defeat the purpose of
the test.
2024-01-17 10:57:00 +01:00
Nikolay Sivov
8e82b56a7e mf/tests: Skip tests if video renderer can't be created. 2024-01-17 10:56:47 +01:00
Alexandre Julliard
fd1153552d Release 9.0. 2024-01-16 21:55:47 +01:00
Rémi Bernon
3d4ee138ec gitlab: Add key to the jobs ccache cache config.
To avoid jobs with different compilers overwriting each other.
2024-01-15 20:03:01 +01:00
Rémi Bernon
2d9f5bea79 gitlab: Use a common configure cache key prefix.
Partially reverts commit 67f2da2a8d which
broke ccache cache as the job configurations were overriding the default
cache configuration from .wine-build instead of extending it.
2024-01-15 20:02:59 +01:00
Rémi Bernon
a6b58a2c1f gitlab: Force WINETEST_ARGS to always be a string array.
Fixes the test name passed to winetest.exe which is otherwise split
into a character array when there's a single line in the winetest.args
file, and then causes it to miss the test and always return success.
2024-01-15 20:02:54 +01:00
Alexandre Julliard
ff1642f32c Release 9.0-rc5. 2024-01-12 21:59:55 +01:00
Bernhard Übelacker
3481d165d1 msvcrt: Protect setlocale against concurrent accesses.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55467
2024-01-12 20:44:55 +01:00
Elizabeth Figura
bed2495e50 wined3d: Only suballocate dynamic buffers.
I don't know for sure that this is why iris (or nvidia) performs badly, but it
seems perfectly plausible, and I don't think we lose anything by letting the
driver allocate here.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54223
2024-01-12 18:59:15 +01:00
Elizabeth Figura
52a0e36aee wined3d: Avoid WARN() when failing to allocate a GL BO without a context.
This is normal and expected, and only a concern for performance. Avoid polluting
warn+d3d logs.
2024-01-12 18:59:12 +01:00
Gabriel Ivăncescu
44aa651dc5 winex11: Move the update_desktop_fullscreen callsite to update_net_wm_states.
It's simpler to just use the same sequence as normal fullscreen windows
and avoid headaches with virtual desktops.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56149
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-11 23:01:46 +01:00
Rémi Bernon
d0a317e98a winewayland: Add missing breaks in keyboard layout switch. 2024-01-11 20:30:52 +01:00
Hans Leidekker
60843dbb3e wininet/tests: Update expected winehq.org certificate. 2024-01-11 14:00:37 +01:00
Rémi Bernon
866f17c147 ntoskrnl.exe/tests: Use SUOI_FORCEDELETE when uninstalling the driver.
Avoids conflicts with the dinput tests somehow.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52962
2024-01-10 21:07:27 +01:00
Hans Leidekker
928d73d4ef wldap32/tests: Skip tests when the server can't be reached.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55784
2024-01-10 15:39:23 +01:00
Akihiro Sagawa
98b053a5b8 d3d9: Update presentation parameters when creating a swap chain.
Fixes regression introduced by 215a32d643.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56070
2024-01-10 10:35:00 +01:00
Akihiro Sagawa
059b3ac77f d3d9/tests: Test the presentation parameters after creating an additional swap chain. 2024-01-10 10:35:00 +01:00
Akihiro Sagawa
8eefd729ec d3d8/tests: Test the presentation parameters after creating an additional swap chain. 2024-01-10 10:35:00 +01:00
Akihiro Sagawa
45ea10c71f d3d9/tests: Test the presentation parameters after creating a device. 2024-01-10 10:35:00 +01:00
Akihiro Sagawa
beefff0002 d3d8/tests: Test the presentation parameters after creating a device. 2024-01-10 10:35:00 +01:00
Enol Puente
7a9fba29d6 po: Update Asturian translation. 2024-01-10 10:25:21 +01:00
Gabriel Ivăncescu
4054795ff1 winex11: Update Virtual Desktop fullscreen WM state after setting window pos.
To make sure the hints are set up properly first.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56149
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-09 23:59:59 +01:00
Gabriel Ivăncescu
75a774f90a winex11: Set MWM_FUNC_RESIZE for fullscreen desktop windows.
Same workaround as used in is_window_resizable, except it's on a different
code path. This also affects other WMs (e.g. Kwin, compiz).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56149
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-09 23:59:59 +01:00
Gabriel Ivăncescu
d9b5bf9a71 Revert "winex11: Use the correct root window for virtual desktops.".
This reverts commit 790133e950.

It was incorrect, sorry about that. The issue was weirder in a different place (MWM_FUNC_RESIZE not set before setting fullscreen).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56149
2024-01-09 23:59:59 +01:00
Rémi Bernon
1b75341346 dmusic: Clone streams instead of allocating wave data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56117
2024-01-09 23:59:59 +01:00
Jacek Caban
67f2da2a8d gitlab: Cache config.cache in Clang builds. 2024-01-09 23:59:59 +01:00
Alex Henrie
20e3b7b859 winspool: Keep driver_9x in scope while it is in use.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54387
2024-01-08 20:52:27 +01:00
Nikolay Sivov
7e30b44367 mf/tests: Skip tests if D3D9 is unusable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-08 20:52:27 +01:00
Nikolay Sivov
dcd8551142 mfreadwrite/tests: Skip tests if D3D9 is unusable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-08 20:52:27 +01:00
Alexandre Julliard
7748c76e35 krnl386: Align the stack before calling the entry point.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56152
2024-01-08 20:52:27 +01:00
Alexandre Julliard
de3bc7d511 krnl386: Use NtContinue to restore the full context.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56152
2024-01-08 20:52:27 +01:00
Jinoh Kang
9fa27defd7 ntdll/tests: Fix xstate tests failing on Windows 11 and CPU with more XSAVE features. 2024-01-08 20:52:27 +01:00
Jinoh Kang
835f99bdce ntdll/tests: Don't hard code the maximum XState length in test_extended_context().
This is required to support systems with a larger XSAVE area.
2024-01-08 20:52:27 +01:00
Jinoh Kang
7ba9dea999 ntdll/tests: Fix incorrect calculation of context length in test_copy_context().
`(BYTE *)dst_ex - (BYTE *)dst` is the size of the legacy context, but
`dst_ex->All` already contains the legacy context.  Therefore,
`context_length` has the legacy context size added *twice*.

This becomes a problem when `context_length` exceeds
`sizeof(src_context_buffer)`.  This confuses `check_changes_in_range()`,
causing out-of-bounds read and unpredictable test results.
2024-01-08 10:18:26 +01:00
Jinoh Kang
3995ff240a ntdll/tests: Fix x86-32 extended context end offset in test_copy_context().
The penultimate element of `ranges_x86` array has an incorrect value: it
should be *at least* 0x2f0, which is the minimum size of an extended
context.

Fix this by setting it to 0x440, which is the minimum size of an
extended context *with* CONTEXT_I386_XSTATE.  This is consistent with
`ranges_amd64`, the penultimate element of which has the minimum size of
an extended context *with* CONTEXT_AMD64_XSTATE.

Note that the incorrect value does not always lead to a test failure,
since check_changes_in_range_() effectively ignores range `start`s that
are not in order.  Reproducing the failure requires a system with a
sufficiently large XSAVE area; specifically, the following condition is
necessary for check_changes_in_range_() to pick up the wrong value:

    0x2cc < 0x294 + src_ex->XState.Length - sizeof(XSTATE).
2024-01-08 10:18:26 +01:00
Alexandre Julliard
d56fc6d318 Release 9.0-rc4. 2024-01-05 22:20:29 +01:00
André Zwing
532418b091 ntoskrnl/tests: Use RtlNtStatusToDosErrorNoTeb() for stateless conversion. 2024-01-05 18:46:07 +01:00
André Zwing
2ce7cee4fc mscoree/tests: Don't test function directly when reporting GetLastError(). 2024-01-05 18:46:07 +01:00
Zsolt Vadasz
56a666d563 msvcrt/tests: Test case insensitivity of getenv() and _wgetenv(). 2024-01-05 18:46:07 +01:00
Zsolt Vadasz
1f01dd1230 msvcrt: Compare environment variable names case insensitively.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56134
2024-01-05 18:46:07 +01:00
Zebediah Figura
a79db19fdc wined3d: Set fixed_function_usage_map to 0 for an sm4 draw without a PS.
Fixes: 5b60f4649b
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56113
2024-01-05 18:46:07 +01:00
Alexandre Julliard
0900d919e2 ntdll: Determine the available address space dynamically on ARM64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56130
2024-01-05 18:46:02 +01:00
Bernhard Kölbl
def5e1a61d windows.media.speech/tests: Remove obsolete workarounds.
These got obsolete with eaca0f44be.

Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2024-01-04 23:04:46 +01:00
Zebediah Figura
f377723773 wined3d: Do not remove invalid BO users from the list when destroying views.
Fixes: b2f13103d7
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55540
2024-01-04 20:45:01 +01:00
Rémi Bernon
68325b3858 dmloader: Avoid caching DMUS_OBJ_STREAM objects we can't load from cache.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56117
2024-01-04 20:44:46 +01:00
Rémi Bernon
e7ded5ddc1 dmime: Avoid leaking track references in segment Clone and Load.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56117
2024-01-04 20:44:46 +01:00
Zebediah Figura
a0669a2761 wined3d: Reference FFP resources in reference_shader_resources().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56110
2024-01-04 20:44:26 +01:00
Eric Pouech
b12c1eaea6 winedbg: Wait for gdb to terminate before exiting (proxy mode).
This mainly allows Wine to reset the tty settings upon
termination and not let gdb do it (cf bug report).

Change: user is now required to explicitely terminate gdb
('quit' command) upon debuggee termination.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56032
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-04 12:19:01 +01:00
Eric Pouech
eed778467a quartz: Delay import ddraw.
So that ddraw isn't always loaded, esp. for app not requesting vmr7.
Could lower memory pressure on 32bit.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-03 21:00:09 +01:00
Gabriel Ivăncescu
790133e950 winex11: Use the correct root window for virtual desktops.
Fixes a regression introduced by 7255f63a65,
which effectively made the taskbar always visible even when virtual desktop
was supposed to be fullscreen.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-01-03 18:46:30 +01:00
Alexandre Julliard
62cb2bcdc3 announce: Convert to Markdown. 2024-01-03 16:35:29 +01:00
Alexandre Julliard
158e9e7636 readme: Convert to Markdown. 2024-01-03 13:56:21 +01:00
Eric Pouech
a2f98478c3 winedump: Better align fields in EXPORT table.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-02 22:17:54 +01:00
Esme Povirk
24bc422c7d mscoree/tests: Add debug code for RemoveDirectory failure. 2024-01-02 21:54:41 +01:00
Byeongsik Jeon
c6d45b3143 po: Update Korean translation. 2024-01-02 21:54:41 +01:00
Alexandre Julliard
8d628b1254 loader: Remove absolute paths references from the man page.
All paths are relative to the installation directory by default.
2024-01-02 21:54:41 +01:00
Alexandre Julliard
1d81a5cb4c server: Remove WINESERVER documentation from the man page.
That variable is not used by the server.
2024-01-02 14:04:29 +01:00
Alexandre Julliard
06bfde3bff Update copyright info for 2024. 2024-01-01 20:15:23 +01:00
Yuxuan Shui
91a29134ff dmime: Fix handling of curve PMSG.
DMUS_PMSG::dwType is the type of the message, but we are comparing it to
curve types. We should be using DMUS_CURVE_PMSG::bType instead.
2023-12-27 14:59:49 +01:00
Lauri Kenttä
46030d41fd readme: Update Finnish translation. 2023-12-27 12:14:19 +01:00
Lauri Kenttä
eca7de021b po: Update Finnish translation. 2023-12-27 12:14:19 +01:00
Brendan Shanks
6b4eae4088 server: Fix compile error on FreeBSD/NetBSD.
F_GETPATH is currently only implemented on macOS.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56047
2023-12-27 12:14:14 +01:00
Brendan Shanks
2c14e0777a include: Assert that the debug channel name will be null-terminated and is not too long. 2023-12-27 12:12:14 +01:00
Fan WenJie
857ce7eeb5 wineandroid: Fix incorrect checking reason.
Signed-off-by: Fan WenJie <fanwj@mail.ustc.edu.cn>
2023-12-27 12:11:55 +01:00
Alexandre Julliard
bba97115d1 Release 9.0-rc3. 2023-12-22 21:55:14 +01:00
Paul Gofman
d5a5800b53 dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK. 2023-12-22 21:51:28 +01:00
Eric Pouech
8cbf27659b winedbg: Fix main module detection in 'info share' command.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-22 21:50:55 +01:00
Rémi Bernon
930776022d dmime/tests: Remove some unnecessary and spuriously failing waits.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55637
2023-12-22 18:14:53 +01:00
Rémi Bernon
3ad341b603 dmime/tests: Add optional notification sequence on segment stop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55637
2023-12-22 18:14:53 +01:00
Rémi Bernon
cbf48daecf dmime/tests: Allow small time variation in test_segment_state.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55637
2023-12-22 18:14:53 +01:00
Rémi Bernon
2f86a5d6cb dmime/tests: Allow small time variation in test_performance_time.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55637
2023-12-22 18:14:53 +01:00
Rémi Bernon
6447b11b17 dmime/tests: Check reference time and allow 0.5 tick difference.
Renaming check_music_time to check_reference_time, as it's truly
reference time values that are passed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55637
2023-12-22 18:14:50 +01:00
Paul Gofman
eaca0f44be include: Fix boolean return value definition in IIterator<T> methods. 2023-12-22 18:14:40 +01:00
Eric Pouech
371827c3ef dbghelp/tests: Wait for child window to be up before testing.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-21 21:15:47 +01:00
Rémi Bernon
d1789fbb40 server: Change desktop cursor only when inside the thread's windows.
Getting rid of the desktop cursor handle at the same time.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55961
2023-12-21 18:39:04 +01:00
Rémi Bernon
9dc80b13be server: Introduce a new get_desktop_cursor_thread_input helper.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55961
2023-12-21 18:39:04 +01:00
Brendan McGrath
fa873804fb server: Always release internal hardware messages. 2023-12-21 18:38:59 +01:00
Huw Davies
5b0430a178 dnsapi: Free the buffer in the early return paths. 2023-12-21 16:58:26 +01:00
Huw Davies
55b3e6095b dnsapi: Update the array ptr in the insufficient buffer case.
Fixes a regression caused by da65aa5b74.
2023-12-21 16:58:24 +01:00
Eric Pouech
6e9668450a winmm: Fill in pIOProc field in MMIOINFO.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55942
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-21 16:58:09 +01:00
Zebediah Figura
73072be1e6 qcap/audiorecord: Do not leak the sample when pausing or stopping. 2023-12-20 22:20:49 +01:00
Rémi Bernon
a6e969560b wined3d: Store the resource heap memory pointer separately.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55773
2023-12-20 22:20:49 +01:00
Rémi Bernon
e7d7ac7708 wined3d: Add more padding to resource memory allocations.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55773
2023-12-20 22:20:49 +01:00
Alex Henrie
4e95553a2d comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Based on simliar patch for comctl32/treeview: 231199bc46

WM_PRINTCLIENT paints the items of a listview, including the item
backgrounds, but never the listview background.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54878
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55005
Co-authored-by: Bernhard Übelacker <bernhardu@mailbox.org>
2023-12-20 22:20:49 +01:00
Alistair Leslie-Hughes
af45d28625 msdasql/tests: Add missing carriage returns. 2023-12-20 22:20:49 +01:00
Alexandre Julliard
b724a79e36 comctl32: Fix string comparison for listbox inexact matches.
Same as 343398d23e.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55446
2023-12-20 22:20:38 +01:00
Bernhard Übelacker
b0db6cfd4d winedbg: Retrieve module architecture before sorting.
This should avoid getting i386 when the process really is x86_64,
with just a single i386 module loaded.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56048
2023-12-19 21:41:02 +01:00
Rémi Bernon
54b8049de2 imm32/tests: Fix HKL comparison when cleaning up preload list. 2023-12-19 14:14:05 +01:00
Zhiyi Zhang
1922902041 win32u: Create a real bitmap object for display DCs.
TightVNC viewer passes the bitmap object from display DCs to GetDIBits() and expect it to succeed.
So merely a bitmap handle no longer suffices. Thus create a real bitmap instead.

Fix a regression from 546cbdc.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54381
2023-12-19 14:14:05 +01:00
Zhiyi Zhang
a47e2a5e1f user32/tests: Add more display DC tests.
Test that passing the bitmap object from display DCs to GetDIBits() should succeed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54381
2023-12-19 14:14:05 +01:00
Fabian Maurer
69b335b56b wineps: Don't leak memory in error case (Coverity). 2023-12-19 14:14:05 +01:00
Alex Henrie
1d412eaca8 po: Update Catalan translation. 2023-12-19 14:14:05 +01:00
Alexandre Julliard
3fb882167f winecfg: Support all Windows versions also in 64-bit mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56039
2023-12-19 14:14:04 +01:00
Alexandre Julliard
443e49084e ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56039
2023-12-19 14:05:28 +01:00
Alexandre Julliard
343398d23e user32: Fix string comparison for listbox inexact matches.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55446
2023-12-19 12:52:15 +01:00
Alexandre Julliard
3e0c21bed1 wow64: Initialize the syscall dispatcher in the 32-bit TEB. 2023-12-19 11:58:13 +01:00
Eric Pouech
7b0d974439 dbghelp: Fix some tests for SymLoadModule*().
On top of being closer to native behavior, this helps some
games where:
- they use dbghelp to gather information of where they generate exceptions,
- they generate exception in the game play,
- and refresh their list of loaded modules in dbghelp.

This can generate some delays (~2ms per module), which affects
game play (freeze, slugginess...).

Credit to Paul Gofman for triaging this.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-18 22:26:11 +01:00
Eric Pouech
f5e86cbea6 dbghelp/tests: Extend tests for module loading.
Basically, showing specific behavior when calling SymLoadModule()
with a non-null base address, and that address is already
the exact base address of a loaded module.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-18 22:26:09 +01:00
Rémi Bernon
2e90c01696 server: Ignore the capture window wrt desktop cursor changes.
This partially reverts commit c3dcf1e269.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56046
2023-12-18 22:14:57 +01:00
Rémi Bernon
bb496ea847 server: Always queue mouse messages delivered to another window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-18 22:14:57 +01:00
Jacek Caban
46df584cc5 win32u: Use 32-bit window extra size on wow64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55582
2023-12-18 21:50:35 +01:00
Eric Pouech
5cbe3a6cb1 riched20: Don't write past end of buffer.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-18 21:50:19 +01:00
Eric Pouech
015aae30cf riched20: Don't crash when no OLE obj is present.
This was generating a lot of crashes in riched20 tests.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-18 21:50:16 +01:00
Rémi Bernon
7b947654b2 user32/tests: Avoid calling UnloadKeyboardLayout.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51478
2023-12-18 20:57:01 +01:00
Rémi Bernon
e98388b6a0 dinput/tests: Avoid calling UnloadKeyboardLayout.
This seems to later mess up with the preload keyboard list and
GetKeyboardLayoutNameW.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51478
2023-12-18 20:57:01 +01:00
Rémi Bernon
c29d7330bc user32/tests: Skip some keyboard layout tests on broken VMs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55327
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55328
2023-12-18 20:57:01 +01:00
Rémi Bernon
6e815d773d user32/tests: Dynamically resize the keyboard layout preload list. 2023-12-18 20:57:01 +01:00
Akihiro Sagawa
1cef923e20 po: Update Japanese translation. 2023-12-18 20:57:01 +01:00
Nikolay Sivov
28d95c0c91 oleaut32/typelib: Add a missing break (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-18 16:38:29 +01:00
Georg Lehmann
fe41590dfe vulkan-1/tests: Enable feature in private data test.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51314
2023-12-18 10:03:27 +01:00
Paul Gofman
cbcfaab519 ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
Fixes a regression introduced by commit
efd03f40e6.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55967
2023-12-17 17:42:14 +01:00
Alexandre Julliard
7a8c039a5c Release 9.0-rc2. 2023-12-15 22:09:59 +01:00
Alexandros Frantzis
516bfa1241 winewayland.drv: Support mouse buttons 4 and 5.
Map linux mouse buttons to win32 XBUTTON1 and XBUTTON2. Although
BTN_SIDE and BTN_EXTRA are the typical event codes for these buttons,
some drivers use BTN_BACK and BTN_FORWARD, so map both pairs.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56026
2023-12-15 21:10:17 +01:00
Alexandros Frantzis
b853a670cf winewayland.drv: Release all keys on keyboard focus loss.
The Wayland specification states about the keyboard leave event:

  After this event client must assume that all keys, including
  modifiers, are lifted and also it must stop key repeating if
  there's some going on.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56001
2023-12-15 21:10:17 +01:00
Rémi Bernon
c3dcf1e269 server: Use the capture window as cursor window if it is set.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-15 21:10:17 +01:00
Rémi Bernon
82642e34e1 server: Update the desktop cursor position / window on click.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-15 21:10:17 +01:00
Hans Leidekker
77b3662517 kernel32/tests: Fix ProcessMachineTypeInfo tests. 2023-12-15 15:47:48 +01:00
Alexandre Julliard
206a7495ab oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms. 2023-12-15 15:47:48 +01:00
Alexandre Julliard
613270d49f oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55962
2023-12-15 15:47:48 +01:00
Alexandre Julliard
4ffc313d9d Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
This reverts commit 43e5f9e4bf.
The proper fix is more complicated.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55962
2023-12-15 15:47:48 +01:00
Alexandre Julliard
7760c1dbb3 oleaut32/tests: Use winetest contexts instead of traces in the typelib test. 2023-12-15 15:47:48 +01:00
Alexandre Julliard
4a929eaf97 user32: Support utf-8 in WM_CHAR W->A conversion.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55655
2023-12-15 13:16:38 +01:00
Alexandre Julliard
bd693d6755 kernel32/tests: Don't bother checking for errors in cleanup path.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55578
2023-12-15 11:03:48 +01:00
Alexandre Julliard
24f7869e93 server: Enforce a mapping size limit instead of relying on the Unix file system.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55667
2023-12-15 10:11:22 +01:00
Jactry Zeng
3504f138ec po: Update Simplified Chinese translation. 2023-12-15 10:10:07 +01:00
Alexandros Frantzis
bd61e91859 winewayland.drv: Consider implicit fullscreen clip for pointer locking.
If the foreground window is fullscreen on the whole virtual screen,
allow the pointer to be locked (if the cursor is hidden), even if we
don't have an explicit fullscreen clip.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56022
2023-12-14 23:40:04 +01:00
Biswapriyo Nath
6fed2f967b include: Add SampleGrabber coclass definition in qedit.idl. 2023-12-14 23:40:04 +01:00
Sven Baars
5def0d2e78 sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55288
2023-12-14 23:40:04 +01:00
Alexandre Julliard
aa7a0f5198 krnl386: Don't release the Win16 lock when exiting a task.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54402
2023-12-14 23:40:04 +01:00
Alexandre Julliard
7a7b82880a ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
To avoid triggering more pointer-truncation bugs in applications.
2023-12-14 23:40:04 +01:00
Alexandre Julliard
0a5f7a7103 ntdll: Switch to the user stack before restoring the %fs register.
Based on a patch by Rémi Bernon.
2023-12-14 23:40:04 +01:00
Alexandre Julliard
b5564cc130 ntdll: Switch to the kernel stack before restoring the pthread TEB.
Based on a patch by Rémi Bernon.
2023-12-14 11:56:21 +01:00
Bernhard Übelacker
715b9d86f4 uxtheme: Add stub for IsDarkModeAllowedForWindow.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56006
2023-12-14 11:16:34 +01:00
Rémi Bernon
19ad5bd598 server: Peek wine internal driver messages regardless of filter.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55774
2023-12-13 19:13:01 +01:00
Sven Baars
8fa8ebaa47 sapi/tests: Remove registry keys created by SetId().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55288
2023-12-13 19:13:01 +01:00
Rémi Bernon
23ee9b2969 explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56015
2023-12-13 19:13:01 +01:00
Hans Leidekker
f9542adb38 dnsapi/tests: Don't test extra records returned for CNAME query.
It depends on DNS configuration.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54847
2023-12-13 19:13:01 +01:00
Rémi Bernon
d748440ea2 mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55638
2023-12-12 23:15:03 +01:00
Akihiro Sagawa
fad15dae93 comctl32/tests: Store old DPI awareness context. 2023-12-12 23:15:03 +01:00
Alexandros Frantzis
902884e6db winewayland.drv: Avoid transient deactivation of foreground thread.
When updating the foreground window, even if both the old and new active
window belong to the same non-current thread, the win32u code currently
explicitly deactivates the old window. This will cause the transient
deactivation of the foreground thread which can lead to undesirable
side-effects (e.g., some apps may minimize when they become inactive).

Until this is fixed in Wine core, use an internal driver message to
ensure that we call NtUserSetForegroundWindow from the context of
the new foreground window thread, to avoid the problematic behavior.
2023-12-12 23:15:03 +01:00
Hans Lehnert
a03cbbdbe2 gdiplus: Fix invalid pointer returned when failing to create font. 2023-12-12 23:15:03 +01:00
Rémi Bernon
31c61075be winebus: Return backend init status from bus_main_thread_start.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54361
2023-12-12 23:15:03 +01:00
Alexandre Julliard
7cd2821d67 kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53845
2023-12-12 11:01:14 +01:00
Eric Pouech
f2d98ea7cf dbghelp: Skip deleted vector in hash inside PDB header.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Eric Pouech
135b132dc2 winedump: Skip deleted vector in hash inside PDB header.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Eric Pouech
6d7839418e dbghelp: Allow an extra stream index entry in PDB files.
Latest MSVC version use this.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Eric Pouech
525f990e70 winedump: Don't fail on extra stream entry in PDB.
Latest versions of MSVC use this.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Alexandre Julliard
d96864eb4f server: Leave some free space between modules in ASLR mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55993
2023-12-11 23:11:19 +01:00
Fabian Maurer
00692f5bf5 gdiplus: Prevent uninitializd memory access (Coverity).
This fixes a regression by 69d815407d
Originally this used GdipAlloc (calloc)
2023-12-11 23:11:19 +01:00
Akihiro Sagawa
c03c17277f winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
Fixes a regression from 1d337249f1.

Prior to the commit, we were solving this case in a different way.
If IDropTarget::DragOver() returned DROPEFFECT_NONE,
X11DRV_XDND_DROPEFFECTToXdndAction() would convert it to XdndActionCopy.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55179
2023-12-11 23:11:19 +01:00
Jacek Caban
6ea417d339 ntdll: Declare seh debug channel in signal_arm64ec.c. 2023-12-11 23:11:19 +01:00
Jacek Caban
c84812c86a configure: Enable -Wenum-conversion warnings. 2023-12-11 23:11:19 +01:00
Jacek Caban
e4ee1ffeb9 dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec. 2023-12-11 23:11:19 +01:00
Alexandros Frantzis
a71ec54df8 winewayland.drv: Avoid deadlock when determining whether a window is managed.
The is_window_managed function may acquire the (non-recursive) win_data lock
internally (is_window_managed->has_owned_popups->is_managed), so do not call
it with the win_data lock held.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55995
2023-12-11 23:11:19 +01:00
Floris Renaud
f43246a389 po: Update Dutch translation. 2023-12-11 23:11:19 +01:00
Bartosz Kosiorek
a56954faf4 po: Update Polish translation. 2023-12-11 20:39:46 +01:00
Aurimas Fišeras
740519bd75 po: Update Lithuanian translation. 2023-12-09 16:41:07 +01:00
Alexandre Julliard
93f7ef8670 Release 9.0-rc1. 2023-12-08 22:35:51 +01:00
Alex Henrie
807d684157 explorer: Add an "Exit desktop" button to the Start menu.
When running `wine explorer.exe /desktop=shell` as a full-screen app,
there is no obvious way to close it and return to the Linux desktop.
Remedy that problem by adding an "Exit desktop" button to the Start menu
in the same place as the "Shut Down" button on Windows.
2023-12-08 22:31:38 +01:00
Nikolay Sivov
f27b62206c kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-08 22:31:38 +01:00
Alexandros Frantzis
157d54021b winewayland.drv: Apply surface configuration during Vulkan presentation.
When we have a Vulkan client subsurface, and depending on timings and
window state (e.g., fullscreen), we may not get the chance to apply new
surface configurations when presenting content to the main window
surface. To ensure new configurations are applied, also check for and
apply/ack configurations during Vulkan presentation.

This fixes some games which resize when they become fullscreen, but are
not properly placed by the compositor, because they never ack the
fullscreen state.
2023-12-08 22:31:38 +01:00
Brendan McGrath
6a4fb894fe comctl32/tests: Modify test_width to try different fonts. 2023-12-08 22:31:38 +01:00
Brendan McGrath
8934a53e61 comctl32/tests: Check size initially and after changing padding only. 2023-12-08 22:31:38 +01:00
Brendan McGrath
027bbb30a1 comctl32/tests: Fix tabcontrol tests to work with different fonts.
The WM_SETFONT was previously passing the hFont as the LPARAM (when it
should be the WPARAM).
2023-12-08 22:31:38 +01:00
Brendan McGrath
39ae8778ca comctl32: Use selected font to determine default min tab width.
This fixes the layout of the tabcontrol when a font other than the
system font is used.
2023-12-08 22:31:38 +01:00
Brendan McGrath
1970556b6d comctl32: Fix TAB_SetItemSize.
Windows sets the default width to LOGPIXELSX regardless of the style.

It will also always return the previous cx value provided.
2023-12-08 22:31:38 +01:00
Brendan McGrath
7296bcd84a comctl32/tests: Add test for setitemsize return value. 2023-12-08 22:31:38 +01:00
Alexandre Julliard
f03c3a167c ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
To avoid triggering pointer-truncation bugs in applications.
2023-12-08 22:31:38 +01:00
Alexandre Julliard
6e9728bee5 winepulse.drv: Don't free memory at process exit. 2023-12-08 22:31:38 +01:00
Alexandre Julliard
505455de69 windowscodecs: Don't free memory at process exit. 2023-12-08 22:31:38 +01:00
Alexandre Julliard
72409c32be configure: Disable building programs for ARM64EC.
Explicitly enable the few programs that need it.
2023-12-08 15:07:17 +01:00
Brendan McGrath
8e1197c92e user32: Wrap at whitespace rather than soft break. 2023-12-08 12:24:16 +01:00
Brendan McGrath
90d934b5ae user32/tests: Add tests for word breaks before punctuation.
Whilst uniscribe won't break on the space here (see LB13 of the Unicode
line breaking algorith), DrawText does
2023-12-08 12:24:15 +01:00
Matteo Bruni
12066a2140 wined3d: Add a bunch of d3d_perf traces. 2023-12-08 12:23:15 +01:00
Matteo Bruni
295c577f1e wined3d: Add a frametime debug channel. 2023-12-08 12:23:13 +01:00
Matteo Bruni
3fc716c907 wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100. 2023-12-08 12:23:08 +01:00
Zebediah Figura
ea48ac41e6 wined3d: Sleep when waiting for the CS thread. 2023-12-08 12:23:05 +01:00
Matteo Bruni
7d247ca676 wined3d: Do a blocking wait for CS commands even when there are active queries.
Make sure we poll queries before we go to sleep, to e.g. avoid hangs
in Rocket League.

With significant contributions by Zebediah Figura.
2023-12-08 12:23:00 +01:00
Zebediah Figura
c73359902c wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets. 2023-12-08 12:23:00 +01:00
Aurimas Fišeras
93ff7aaabf po: Update Lithuanian translation. 2023-12-08 09:27:01 +01:00
Alfred Agrell
b7db871088 winegstreamer: Delete duplicate WMT_ON check. 2023-12-07 22:08:57 +01:00
Alfred Agrell
7f8260817e winegstreamer: Fix a memory leak in stream_props_GetMediaType. 2023-12-07 22:08:57 +01:00
Alfred Agrell
0ae5edc8ed winegstreamer: Don't use VIDEOINFO for non-RGB data. 2023-12-07 22:08:57 +01:00
Ziqing Hui
95b8d7fa60 winegstreamer: Set streamheader field for h264 caps.
For h264 byte-stream format, we should set "streamheader".
"codec_data" is for avc.

We also set timestamp of the buffer to 0 because
mp4mux will be error if the PTS is none.
2023-12-07 22:08:50 +01:00
Zebediah Figura
9be491e80f quartz: Implement sample allocation in the VMR7 presenter. 2023-12-07 21:58:24 +01:00
Zebediah Figura
830801d534 quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
Rewrite needs this.
2023-12-07 21:58:23 +01:00
Zebediah Figura
7b751a9f7c quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter. 2023-12-07 21:58:23 +01:00
Zebediah Figura
cf44bec598 quartz: Stub CLSID_AllocPresenter. 2023-12-07 21:58:22 +01:00
Billy Laws
bc7083716b kernel32: Export RtlIsEcCode(). 2023-12-07 21:58:17 +01:00
Georg Lehmann
7a2cee7a63 winevulkan: Update to VK spec version 1.3.272. 2023-12-07 21:57:59 +01:00
Yuxuan Shui
1941a91536 dsound: Set position past the end of the buffer is invalid. 2023-12-07 21:57:59 +01:00
Piotr Caban
9a42affc34 winedump: Sync demangling code with msvcrt. 2023-12-07 20:47:03 +01:00
Robert Wilhelm
e0d027830e vbscript: For for loop bounds coerce string to real.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55052
2023-12-07 20:46:56 +01:00
Brendan Shanks
8e338fbba7 winecoreaudio: Use UID as device string. 2023-12-07 20:46:47 +01:00
Piotr Caban
38e06bfbe3 wineps: Fix color handling in PSDRV_WriteDIBPatternDict. 2023-12-07 20:46:28 +01:00
Piotr Caban
8be8d18831 wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict. 2023-12-07 20:46:28 +01:00
Piotr Caban
5cf45f28fe wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
Image rotation is done in PSDRV_WriteImageDict.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55210
2023-12-07 20:46:26 +01:00
Alexandros Frantzis
140f0c03d0 winewayland.drv: Lock the pointer if confined without cursor.
Pointer confinement may only be enabled by the compositor if the pointer
enters the confine region. If the region is small (as in many
mouselook cases) it's very likely that this will never happen and the
pointer will remained unconfined.

To allow mouselook to work more reliably, prefer to lock the pointer if
a window is confined and the cursor is not visible.
2023-12-07 20:46:18 +01:00
Alexandros Frantzis
4ab524ee4c winewayland.drv: Implement relative mouse motion.
When the cursor is hidden and a pointer constraint is active, transition
to relative mouse motion to enable mouselook in 3D games.
2023-12-07 20:46:16 +01:00
Alexandros Frantzis
bf1cabd18f winewayland.drv: Implement ClipCursor.
Use the zwp_pointer_constraints_v1 protocol to implement cursor
clipping. Note that Wayland only allows us to constrain the cursor
within the extents of a particular target surface.
2023-12-07 20:46:05 +01:00
Alexandros Frantzis
cf267c6056 winewayland.drv: Remove duplicate handling of wp_viewporter global. 2023-12-07 20:46:01 +01:00
Alexandros Frantzis
7841182172 winewayland.drv: Handle window foreground state on keyboard focus.
Borrow the concept of "managed" windows from WineX11 and use it
to decide whether a window should become the foreground window
when receiving the Wayland keyboard focus.
2023-12-07 20:45:58 +01:00
Daniel Lehman
57a391b85b msxml3: Handle default namespace in get_namespaceURI.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53531
2023-12-07 20:21:43 +01:00
Alex Henrie
c6f121df19 user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
Although 16-bit function names are not case sensitive, it's best to
match the 32-bit version.
2023-12-07 20:21:43 +01:00
Alex Henrie
adfaef5a86 user32: Correct capitalization of SetDeskWallpaper.
Spotted by Vijay Kiran Kamuju.
2023-12-07 20:21:43 +01:00
Fabian Maurer
ba4bc623ef net: Accept yes/no switches.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55859
2023-12-07 20:21:43 +01:00
Akihiro Sagawa
3681a68e78 dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55968
2023-12-07 20:21:42 +01:00
Zebediah Figura
4b458775bb configure: Use -mpreferred-stack-boundary=2 on i386.
gcc currently assumes the stack alignment for i686-w64-mingw32 is 16, which is
essentially wrong. It works around this in most cases by applying -mstackrealign
when SSE is in use. However, this doesn't address the case of manually aligned
types (i.e. DECLSPEC_ALIGN), and it also for some reason doesn't seem to apply
when -mavx512f is in use, which seems to be an independent gcc bug.

The correct solution on the gcc end is not to assume that the stack is 4-byte
aligned. -mpreferred-stack-boundary=2 achieves exactly this, and there is motion
upstream to address this by effectively making this setting the default. Since
this will take time to propagate downstream, though, it seems prudent to address
this bug locally by essentially applying the same fix downstream.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55007
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55899
2023-12-07 20:21:42 +01:00
Gabriel Ivăncescu
3545c35d29 mshtml/tests: Fix VariantClear on uninitialized variable.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-07 20:21:42 +01:00
Gabriel Ivăncescu
79a2fb719f mshtml: Implement url prop for StorageEvent objs.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-07 20:21:42 +01:00
Gabriel Ivăncescu
cfefbb8f45 mshtml: Send proper legacy storage event with actual url.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-07 20:21:42 +01:00
Gabriel Ivăncescu
7ca9e4ac9f mshtml: Don't expose "restricted" members.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-07 20:21:42 +01:00
Gabriel Ivăncescu
39f86db516 mshtml: Expose the other IHTMLEventObj* interfaces.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-07 20:21:42 +01:00
Alexandre Julliard
457a6fd4b4 msvcrt: Add a stub ARM64EC CPU backend. 2023-12-07 20:21:42 +01:00
Alexandre Julliard
158a2bada7 kernelbase: Implement SwitchToFiber on ARM64EC. 2023-12-07 20:21:42 +01:00
Alexandre Julliard
8fef79cb41 kernelbase: Implement DebugBreak() for ARM64EC. 2023-12-07 20:21:42 +01:00
Alexandre Julliard
6a5bb5d7aa ntdll: Implement KiUserApcDispatcher for ARM64EC. 2023-12-07 20:21:42 +01:00
Alexandre Julliard
9e0f2e3b92 ntdll: Implement KiUserCallbackDispatcher for ARM64EC. 2023-12-07 14:44:32 +01:00
Alexandre Julliard
3c94236186 winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables. 2023-12-07 08:37:30 +01:00
Jacek Caban
04b3f6ee51 ntdll: Remove unused valgrind_make_readable function. 2023-12-07 08:36:56 +01:00
Daniel Lehman
f0c08bd01e msxml3: Handle default namespace in get_prefix. 2023-12-06 23:11:25 +01:00
Jacek Caban
814807a1d9 user32: Remove unused argument for unpack_message. 2023-12-06 23:10:23 +01:00
Jacek Caban
10424f0dbd win32u: Provide extra space in buffers used to dispatch string getter messages. 2023-12-06 23:10:23 +01:00
Zebediah Figura
2c1dcf4b28 quartz: Specify the mode as a VMRMode. 2023-12-06 23:10:00 +01:00
Zebediah Figura
dea65774ce quartz: Split the VMR into two separate filters.
Rewrite requires renderless mode in the VMR7, which means that it needs to
actually use ddraw instead of d3d9. At that point the two will share almost no
common code. Split them into separate objects which live in separate files.

This commit essentially copies vmr9.c into vmr7.c, then removes the
VMR7-specific interfaces from the VMR9 and vice versa. The default presenter is
retained for now (but will be replaced eventually).

Since the VMR7 no longer exposes IVMRSurfaceAllocatorNotify9, the relevant calls
to AdviseNotify(), SetD3DDevice(), and AllocateSurfaceHelper() are changed from
COM methods to direct function calls. No other change should be made.
2023-12-06 23:09:58 +01:00
Zebediah Figura
edc843d36f quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9. 2023-12-06 23:09:58 +01:00
Zebediah Figura
ecc04319e6 quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
Bring it up to parity with IVMRFilterConfig9::SetNumberOfStreams().
2023-12-06 23:09:57 +01:00
Zebediah Figura
096172f27f quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9. 2023-12-06 23:09:57 +01:00
Zebediah Figura
20b1ef6ed0 quartz: Return the rect from get_default_rect() through a pointer.
Notably, this avoids the incorrect use of a static variable.
2023-12-06 23:09:55 +01:00
Matteo Bruni
bc1ba43942 d3dx9: Check for successful sprite draw in DrawTextW(). 2023-12-06 23:09:44 +01:00
Fabian Maurer
8e48d7fdbd coml2: Move StgCreatePropSetStg from ole32. 2023-12-06 17:54:53 +01:00
Fabian Maurer
e5df1b2e51 coml2: Move PropStgNameToFmtId from ole32. 2023-12-06 17:54:53 +01:00
Fabian Maurer
ce60cfeb81 coml2: Move FmtIdToPropStgName from ole32. 2023-12-06 17:54:53 +01:00
Fabian Maurer
7478f15f98 coml2: Move StgIsStorageFile from ole32. 2023-12-06 17:54:53 +01:00
Fabian Maurer
eab7899eb5 coml2: Move StgIsStorageILockBytes from ole32. 2023-12-06 17:54:53 +01:00
Bernhard Übelacker
5a0321ac8c mlang: Allow encoding name "ISO8859-1".
This fixes eFilmLt.exe when running with native msxml6.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=13340
2023-12-06 17:54:53 +01:00
Alexandre Julliard
23111d625b vkd3d: Import upstream release 1.10. 2023-12-06 17:54:53 +01:00
Alexandre Julliard
0fea0db866 ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable. 2023-12-06 13:14:47 +01:00
Alexandre Julliard
48182726e9 ntdll: Use posix_spawn() to start the server.
Based on a patch by Brendan Shanks.
2023-12-06 11:56:33 +01:00
Alexandre Julliard
7c777af498 ntdll: Add a helper to build a path and exec it. 2023-12-06 11:56:02 +01:00
Nikolay Sivov
26f11bdfe5 ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-06 10:20:50 +01:00
Nikolay Sivov
dbeaaf2b0f include: Add missing enum to wdm.h. 2023-12-06 10:20:49 +01:00
Brendan Shanks
e4ec6f87e0 winemac: Use RTL_CONSTANT_STRING. 2023-12-06 10:20:37 +01:00
Gabriel Ivăncescu
e5c4acc459 mshtml: Get rid of outer_window member in HTMLDocumentNode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:28 +01:00
Gabriel Ivăncescu
ff617c838f mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
We can't rely on dom_interactive_time either because setup_edit_mode can
reload the page (and sets it uninitialized).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:25 +01:00
Gabriel Ivăncescu
db12c470c8 mshtml: Skip navigation handling on anchor/area elements for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:22 +01:00
Gabriel Ivăncescu
dffb5e0538 mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:18 +01:00
Gabriel Ivăncescu
cb14ca2a29 mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:13 +01:00
Gabriel Ivăncescu
1f0517689d mshtml: Return failure in IHTMLDocument2::open() for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:13 +01:00
Gabriel Ivăncescu
5e873c48be mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:13 +01:00
Gabriel Ivăncescu
d4aee460e7 mshtml: Return failure in IHTMLDocument2::domain for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:13 +01:00
Gabriel Ivăncescu
2e77a62f1d mshtml: Return failure in IHTMLDocument2::frames for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:13 +01:00
Gabriel Ivăncescu
ffb7ace4df mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-06 10:20:08 +01:00
Alfred Agrell
30c074963a wmvcore/tests: Add tests for compressed output. 2023-12-05 22:01:35 +01:00
Alfred Agrell
efe8bc0151 winegstreamer: Implement compressed output support in WMSyncReader. 2023-12-05 22:01:34 +01:00
Alfred Agrell
2cdb8cdae1 winegstreamer: Leave pts/duration unchanged if they're not set. 2023-12-05 22:01:34 +01:00
Alfred Agrell
84660d52f7 winegstreamer: Introduce mutex for wm_reader read_thread_shutdown. 2023-12-05 22:01:34 +01:00
Alfred Agrell
1cc29f966a winegstreamer: Move file size to struct wm_reader. 2023-12-05 22:01:34 +01:00
Alfred Agrell
7dbc8d5921 winegstreamer: Fill in a few more pieces of WMV format handling. 2023-12-05 22:01:34 +01:00
Alfred Agrell
703a82a79b winegstreamer: Add codec_data to WMVs. 2023-12-05 22:01:34 +01:00
Alfred Agrell
31788cdc8c quartz/tests: Improve VMR9 ChangeD3DDevice test.
- Checks that it presents using the new device, instead of counting TerminateDevice.
- Works on Windows now.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55649
2023-12-05 22:01:08 +01:00
Vijay Kiran Kamuju
63ccb5826d msvcm80: Add stub for ThrowNestedLoadModuleException function. 2023-12-05 22:00:22 +01:00
Vijay Kiran Kamuju
9bec22a2e2 msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34537
2023-12-05 22:00:21 +01:00
Vijay Kiran Kamuju
f97ad2340d msvcm80: Add stub for ThrowModuleLoadException(String) function. 2023-12-05 22:00:19 +01:00
Eric Pouech
4b63e88894 ntdll: Don't create Unix console for GUI apps.
Note: GUI apps using std I/O (this is not common) will
no longer print on unix console.
If such a behavior is needed, for an app started from
Unix shell, one can either redirect output to a file, or pipe output:
./wine app | cat

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech
1f478ea370 ntdll: Don't inherit std console handles for non CUI child process.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech
a7c5e2413e kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech
3f814c42c0 kernelbase: No longer cache GetStartupInfoW() results.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech
76018fbbee kernel32/tests: Add tests for GetStartupInfo(A|W).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech
5545aef74e kernel32/tests: Identify untouched fields returned from GetStartupInfo.
GetStartupInfoW() doesn't set all the fields.
So in CreateProcess() tests, always use a marker for STARTUP_INFO
initialization; make use of that marker to properly identify
the std handles gotten from GetStartupInfo.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Piotr Caban
bdd04f5f71 msvcrt: Add partial support for managed handle demangling. 2023-12-05 21:24:37 +01:00
Piotr Caban
5af51ce0af msvcrt: Accept <> characters in string literals in demangler. 2023-12-05 21:24:37 +01:00
Fabian Maurer
c24bbd13c8 apisetschema: Add api-ms-win-core-com-l2-1-1.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55075
2023-12-05 21:24:37 +01:00
Rémi Bernon
85026ab2b3 winevulkan: Unwrap to driver or host depending on the function. 2023-12-05 21:24:37 +01:00
Rémi Bernon
f6febfda51 winevulkan: Use an enumeration for make_vulkan unwrapping kinds. 2023-12-05 21:24:37 +01:00
Rémi Bernon
fc2ea1beba winevulkan: Introduce a new convert_suffix make_vulkan helper. 2023-12-05 21:24:37 +01:00
Rémi Bernon
28cbd5bf20 winevulkan: Remove redundant make_vulkan needs_unwrapping method. 2023-12-05 21:24:37 +01:00
Rémi Bernon
b01883f02f winevulkan: Use a dictionary for user driver entry points. 2023-12-05 21:24:37 +01:00
Rémi Bernon
7c26c45858 winevulkan: Use a dictionary in make_vulkan for manual unix thunks. 2023-12-05 21:24:37 +01:00
Rémi Bernon
7fee352576 winevulkan: Replace "loader_thunk" with dedicated dictionaries. 2023-12-05 21:24:37 +01:00
Aurimas Fišeras
4cc7f8089c po: Update Lithuanian translation. 2023-12-05 21:24:37 +01:00
Rémi Bernon
bae3769ef9 ntdll: Set main_(argc|argv|envp) as early as possible.
Fixes: 62a979347a
2023-12-05 21:24:37 +01:00
Zebediah Figura
d9342e85db d3d11core/tests: Mark a test as no longer todo.
This was fixed by ef2908462d.
I misremembered when writing that commit's message; we don't actually invalidate
STATE_SAMPLER when binding an SRV. Hence the code was not just "fragile" but in
fact already broken.
2023-12-05 21:24:37 +01:00
Zebediah Figura
5b97dbdb58 d3d10core/tests: Mark a test as no longer todo.
This was fixed by ef2908462d.
I misremembered when writing that commit's message; we don't actually invalidate
STATE_SAMPLER when binding an SRV. Hence the code was not just "fragile" but in
fact already broken.
2023-12-05 21:24:37 +01:00
Henri Verbeet
dcee5182c6 dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present(). 2023-12-05 21:24:37 +01:00
Henri Verbeet
3eebc3ea92 dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
In order to prevent resize_target_wndproc() from potentially accessing the
swapchain after it has been destroyed.
2023-12-05 21:24:37 +01:00
Daniel Lehman
4e1a3cc81e msxml3: Handle default namespace in get_nodeName. 2023-12-05 21:24:37 +01:00
Anton Baskanov
b9e8a742b7 winegstreamer: Handle quality control messages in CMpegVideoCodec.
Based on the code from quartz_parser and wg_parser.
2023-12-05 21:24:36 +01:00
Anton Baskanov
1fd2958fbe quartz/tests: Add quality control tests for CMpegVideoCodec. 2023-12-05 21:24:36 +01:00
Anton Baskanov
71293a018f amstream: Send quality control messages from AMDirectDrawStream::Receive. 2023-12-05 21:24:36 +01:00
Anton Baskanov
cf931159d1 amstream/tests: Add quality control tests. 2023-12-05 21:24:36 +01:00
Alex Henrie
3adad15f40 mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC). 2023-12-05 21:24:36 +01:00
Alex Henrie
b49831773d mscoree: Use CRT allocation functions. 2023-12-05 21:24:36 +01:00
Alexandre Julliard
ef07f6bb72 winedump: Also dump ARM64 exception information for ARM64EC binaries. 2023-12-05 21:24:36 +01:00
Alexandre Julliard
a2e97854bf ntdll: Use .seh handler in RtlUserThreadStart on ARM. 2023-12-05 13:28:05 +01:00
Alexandre Julliard
8a1420653c ntdll: Fix breakpoint exceptions on ARM. 2023-12-05 09:48:46 +01:00
Alexandre Julliard
4a138da761 configure: Require SEH support for PE builds. 2023-12-05 09:48:46 +01:00
Vijay Kiran Kamuju
d37f0892be dsdmo: Add Gargle effect stub. 2023-12-04 22:14:09 +01:00
Vijay Kiran Kamuju
cf6046afb6 dsdmo: Add Distortion effect stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55978
2023-12-04 22:14:09 +01:00
Jon Doron
28ca56257e win32u: Add registry data for GPU memory size.
Starcraft Remastered is looking up for the GPU physical memory size to
check for minimum requirements to enable RealTime Lighting.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46624
Signed-off-by: Jon Doron <arilou@gmail.com>
2023-12-04 22:10:23 +01:00
Haoyang Chen
6b6aff8322 rpcrt4/tests: Test explicit_handle. 2023-12-04 22:10:23 +01:00
Haoyang Chen
9a4de1b727 rpcrt4: Support for explicit handle passing.
If explicit_handle is defined in the idl file, c/s use explicit handles,
then an explicit handle must be passed in to the server-side  interface
2023-12-04 22:10:23 +01:00
Zhiyi Zhang
c2d56a7e99 winegstreamer: Fix wg_transform_get_status() result check (Coverity).
wg_transform_get_status() returns bool, not HRESULT.
2023-12-04 22:10:22 +01:00
Zhiyi Zhang
c1fa6be453 winegstreamer: Fix a memory leak (Coverity).
video_format can be leaked when encountering an invalid WMV format.
2023-12-04 22:10:22 +01:00
Alex Henrie
93db373c28 ole32/tests: Use CRT allocation functions. 2023-12-04 22:10:22 +01:00
Alex Henrie
3bda065374 ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData. 2023-12-04 22:10:22 +01:00
Zhiyi Zhang
41d923a49f gdiplus: Fix a memory leak (Coverity). 2023-12-04 22:10:22 +01:00
Gabriel Ivăncescu
47eec813a3 mshtml/tests: Fix XHR leak in test_window_refs.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-04 22:10:22 +01:00
Gabriel Ivăncescu
9bdfe8ee25 mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
These methods are not called from any of our objects that hold ref to the
inner window only, and since we return outer windows to external callers
now, they *must* have a ref to the outer window, which effectively means
these cannot be NULL. And some other places didn't check for NULL either
(e.g. get_parent).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-04 22:10:22 +01:00
Gabriel Ivăncescu
0dc3784b68 mshtml: Don't attempt to send storage events after outer window is detached.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-04 22:10:22 +01:00
Gabriel Ivăncescu
a5028f1e26 mshtml: Don't rely on the outer_window in document.mimeType.
This would have crashed on detached windows, and checking the navigation_start
time has the same effect except it's decoupled from the outer window.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-12-04 22:10:22 +01:00
Rémi Bernon
ecc54b84ad winevulkan: Remove unnecessary dispatch from make_vulkan. 2023-12-04 22:10:22 +01:00
Rémi Bernon
60cb635e7b winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES. 2023-12-04 22:10:22 +01:00
Rémi Bernon
87e8b8a164 winewayland: Use "host" intead of "native" in vulkan wrappers. 2023-12-04 22:10:22 +01:00
Rémi Bernon
ec1910da6a winemac: Use "host" instead of "native" in vulkan wrappers. 2023-12-04 22:10:22 +01:00
Rémi Bernon
c0042af5cc winex11: Use "host" instead of "native" in vulkan wrappers. 2023-12-04 22:10:22 +01:00
Rémi Bernon
288d2c2ef6 winevulkan: Use "host" more consistently instead of "native".
We often use "native" to talk about Windows "native" code, which is
confusing here.
2023-12-04 22:10:22 +01:00
Paul Gofman
0080205dbd winhttp: Handle chunked requests. 2023-12-04 22:10:22 +01:00
Zhiyi Zhang
2eeb5feca7 ntdll: Fix a memory leak (Coverity). 2023-12-04 22:10:22 +01:00
Zhiyi Zhang
2169dd9a55 shell32: Fix a memory leak (Coverity). 2023-12-04 22:10:22 +01:00
Zhiyi Zhang
d36f50c438 wininet: Fix a use-after-free (Coverity).
pEntry could be freed after cache_container_unlock_index(pContainer, pHeader).
2023-12-04 22:10:22 +01:00
Zhiyi Zhang
1a6deb1cc3 tasklist: Fix a possible buffer overrun (Coverity).
process_entry->szExeFile has length of MAX_PATH but info->image_name only has 32.
2023-12-04 22:10:22 +01:00
Zhiyi Zhang
eeb1826c3f mciwave: Use matching memory allocator (Coverity).
*pszTmpFileName will be freed with free() but it's allocated with HeapAlloc().
2023-12-04 22:10:22 +01:00
Zebediah Figura
c93440b700 d3d9: Upload mapped dynamic vertex and index buffers before every draw.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55591
2023-12-04 22:10:22 +01:00
Zebediah Figura
346f783ccc d3d9/tests: Add another test for drawing from a mapped buffer. 2023-12-04 22:10:22 +01:00
Zebediah Figura
e2c373d7f3 wined3d: Fix masking out the texcoord index in get_texture_matrix().
Fixes: 370b8299ab
2023-12-04 22:10:22 +01:00
Zebediah Figura
084e6e21da wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix(). 2023-12-04 22:10:22 +01:00
Zebediah Figura
9a45a637d5 wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
As with the previous commit, this is clearer and avoids a state ordering assumption.
2023-12-04 22:10:22 +01:00
Zebediah Figura
936b950112 wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
Use of last_was_rhw in these state handlers is, firstly, confusing to read.
The variable is actually supposed to be set for *this* draw, not the last one,
and state handlers indeed expect that, but that fact isn't obvious. Reading from
context->stream_info instead is clearer.

Secondly, since last_was_rhw is set by the STATE_VDECL handler, any other state
depending on it (including some, though not all, of the sites changed here) thus
has an implicit state handler ordering assumption. This is, needless to say,
fragile. context->stream_info is computed before state handlers, so that
dependency is a bit less fragile.
2023-12-04 22:10:22 +01:00
Zebediah Figura
5d5adce343 wined3d: Remove an outdated comment.
The comment was originally added in 4b831a5d3e.
At that point, it referred only to non-FFP shader constants. Subsequently
38934fe70d moved bumpenv constant loading to the
misc pipeline, apparently out of concerns that bumpenv constants might interact
badly with shader constants.

It's not clear whether those concerns were ever justified, and normal shader
constants are now sufficiently untangled from each other anyway. However,
bumpenv constants, like e.g. color keys, affect both FFP and non-FFP pipelines,
so it makes the most sense for them to remain in the misc state table anyway.
2023-12-04 22:10:22 +01:00
Etaash Mathamsetty
73a1c134ad cfgmgr32: Add CM_Register_Notification stub. 2023-12-04 22:10:21 +01:00
Alex Henrie
17da2665e2 d3dx9: Use CRT allocation functions. 2023-12-04 22:10:21 +01:00
Daniel Lehman
3b3a65ad37 msxml3: Handle default namespace in get_baseName. 2023-12-04 22:10:21 +01:00
Nikolay Sivov
bed12d8499 oleaut32/tests: Do not use VarCmp() to check results of other functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-04 22:10:21 +01:00
Nikolay Sivov
406750714b oleaut32/tests: Use existing helpers to trace variant values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-04 22:10:21 +01:00
Nikolay Sivov
f83b41eed6 oleaut32/tests: Use wide string literals in some tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-04 22:10:21 +01:00
Nikolay Sivov
14a04ecd1b oleaut32/tests: Remove some of the function availability checks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-04 22:10:21 +01:00
Piotr Caban
d26e160db6 wineps.drv: Add paper source selection support in printer properties. 2023-12-04 22:10:21 +01:00
Piotr Caban
a294a6cbbf wineps.drv: Fix printing images from iexplore. 2023-12-04 22:10:20 +01:00
Zhiyi Zhang
36366f129b win32u: Find the correct DIB driver in windrv_CreateDC().
push_dc_driver() places drivers based on their priorities, so the newly created driver is not
necessarily on top. Thus in windrv_CreateDC(), find_dc_driver() should be used to find the DIB
driver instead of assuming the DIB driver is the top driver, which could be the path driver because
it has a higher priority.

The exact wrong code path was:
1. A path driver with priority 400 is created for a DC.
2. windrv_CreateDC() is called to create a window driver for the DC.
3. Then in dibdrv_CreateDC(), push_dc_driver() is called with 'dev' pointing to the top driver, which is the path driver.
4. push_dc_driver() updates 'dev' to point to the address of the next driver because DIB driver has a lower 300 priority.
5. The DIB driver is assigned to 'dev', which is not the original parameter passed into push_dc_driver().
6. In windrv_CreateDC(), get_dibdrv_pdev(*dev) is called, assuming the top driver is the DIB driver. But actually the top
   driver that '*dev' points to is still the path driver.

The added tests can demonstrate the memory corruption before this fix is applied.
2023-12-04 22:10:20 +01:00
Alexandre Julliard
9aefdbb9d9 faudio: Import upstream release 23.12. 2023-12-04 22:10:20 +01:00
Alexandre Julliard
c0f500ba00 winedump: Add a couple of ARM unwind codes. 2023-12-04 22:10:20 +01:00
Alexandre Julliard
17de5daa77 winedump: Add dumping of UWOP_EPILOG entries. 2023-12-04 22:10:20 +01:00
Alexandre Julliard
8c41a215b9 ntdll: Skip NtRaiseException() call on ARM when debugger is not present. 2023-12-04 22:10:20 +01:00
Alexandre Julliard
5b06847214 ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM. 2023-12-03 14:21:20 +01:00
Alexandre Julliard
75d0d466ec ntdll: Fix stack layout for KiUserApcDispatcher on ARM. 2023-12-03 14:16:42 +01:00
Alexandre Julliard
89f3c59739 ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM. 2023-12-03 14:15:52 +01:00
Alexandre Julliard
42046a24d4 ntdll: Implement context and machine frame unwind operations on ARM. 2023-12-03 14:15:52 +01:00
Alexandre Julliard
de3fd9e265 ntdll/tests: Fix some compiler warnings on ARM. 2023-12-03 13:46:52 +01:00
Robert Wilhelm
369b540abf vbscript: Handle numdecimalplaces argument in Round().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55185
2023-12-01 22:35:35 +01:00
Nikolay Sivov
0a7f5646e4 vbscript: Coerce to VT_BOOL when evaluating jump conditions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-01 22:35:24 +01:00
Brendan Shanks
295d521b11 ntdll: Fix macOS build error with LLVM 17.
LLVM no longer allows non-private labels to appear between
.cfi_startproc/endproc when targeting Mach-O.

Based on a patch by Jacek Caban.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55863
2023-12-01 19:10:21 +01:00
Rémi Bernon
b088d311a0 explorer: Remove now unnecessary wine_notify_icon support. 2023-12-01 19:09:15 +01:00
Rémi Bernon
48e6bf3cf1 winex11: Use the new SystrayDock driver interface. 2023-12-01 19:09:14 +01:00
Rémi Bernon
229b4561d9 explorer: Use layered windows for the docked systray icons. 2023-12-01 19:09:14 +01:00
Rémi Bernon
62c6646d8f win32u: Introduce new SystrayDock driver entry points. 2023-12-01 19:08:55 +01:00
Rémi Bernon
550cac9686 winemac: Use the new NotifyIcon user driver interface. 2023-12-01 19:08:55 +01:00
Rémi Bernon
22bfdbeb48 win32u: Introduce a new NtUserSystemTrayCall message call. 2023-12-01 19:08:54 +01:00
Rémi Bernon
600206be39 explorer: Hide the standalone systray window on close. 2023-12-01 19:08:54 +01:00
Rémi Bernon
27c3cf93e3 explorer: Always set the systray icon tooltip text. 2023-12-01 19:08:54 +01:00
Myah Caron
79d0c050a9 user32: Add SetDisplayAutoRotationPreferences stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55920
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
2023-12-01 19:07:49 +01:00
Fabian Maurer
13928e0855 server: Check socket flags after all sockets got processed.
In rare cases we get an event during the second iteration of the loop,
changing the first element. This would lead to an assertion later.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55054
2023-12-01 18:51:49 +01:00
Fabian Maurer
c241468f16 coml2: Move WriteClassStg from ole32. 2023-12-01 18:51:25 +01:00
Fabian Maurer
754631becb coml2: Move WriteClassStm from ole32. 2023-12-01 18:51:25 +01:00
Fabian Maurer
fae825276a coml2: Move ReadClassStg from ole32. 2023-12-01 18:51:25 +01:00
Fabian Maurer
a72b534dc9 coml2: Move ReadClassStm from ole32. 2023-12-01 18:51:25 +01:00
Fabian Maurer
c6f049fc33 coml2: Move GetConvertStg from ole32. 2023-12-01 18:51:25 +01:00
Fabian Maurer
53c0a31b28 coml2: Add dll and move code from ole32/memlockbytes.c. 2023-12-01 18:51:25 +01:00
Alex Henrie
69d815407d gdiplus: Use CRT allocation functions. 2023-12-01 18:48:35 +01:00
Jacek Caban
a3f4878f52 mshtml: Return failure in IHTMLDocument2::put_URL for detached documents. 2023-12-01 18:48:10 +01:00
Jacek Caban
4aad315a3f mshtml: Return failure in IHTMLDocument2::get_URL for detached documents. 2023-12-01 18:48:10 +01:00
Jacek Caban
58d4f541c0 mshtml/tests: Add detached documents handling tests. 2023-12-01 18:48:10 +01:00
Gabriel Ivăncescu
068f244063 mshtml: Remove the inner window ref from the doc only when it is actually unlinked. 2023-12-01 18:48:10 +01:00
Gabriel Ivăncescu
1593f2f508 mshtml/tests: Improve the iframe navigation test.
It was confusing before since it made it seem like it might use the outer
window, while in fact the document is unchanged on native. Now the "new"
doc is used for navigating, since it's already checked to be the same as
the iframes_doc (but that test fails in wine and is todo_wine).
2023-12-01 18:48:08 +01:00
Zebediah Figura
5b60f4649b wined3d: Set d3d 1-9 textures in the state as SRVs.
The idea is to reuse the existing code to handle SRVs, which simplifies the GL
code and essentially allows the Vulkan code to work "for free" (which is to say,
by writing this patch, rather than by adding support for flat textures to the
Vulkan renderer.)

This is a large patch; it consists the following parts:

* Create identity SRVs for d3d 1-9 textures. Store those in
  state->shader_resource_view instead of in state->texture.

* (Re)use wined3d_context_gl_bind_shader_resources() instead of state_sampler()
  to bind them.

  - Introduce code to that function to handle FFP textures.

  - Bind the sRGB texture if necessary in wined3d_shader_resource_view_gl_bind.

* (Re)use context_gl_load_shader_resources() instead of
  context_preload_textures() to load them.

  - Introduce code to that function to handle FFP textures.

  - Load the sRGB texture if necessary.

  - Port the SRV/RTV feedback loop check from context_preload_textures().

* Invalidate STATE_GRAPHICS_SHADER_RESOURCE_BINDING in places that now need to
  account for texture binding being guarded by that state instead of
  STATE_SAMPLER.

  Transitioning the remaining users of STATE_SAMPLER to
  STATE_GRAPHICS_SHADER_RESOURCE_BINDING, and removing STATE_SAMPLER, is left
  for future patches.
2023-12-01 18:46:23 +01:00
Zebediah Figura
ff30b54791 d3d9: Use wined3d_texture_acquire_identity_srv(). 2023-12-01 18:45:46 +01:00
Zebediah Figura
1698fd40cd wined3d: Introduce an API for creating an identity SRV on a texture. 2023-12-01 18:45:44 +01:00
Zebediah Figura
d8782a9b8e wined3d: Release the view's resource after destroying the view.
Allow us to avoid grabbing a temporary reference. This becomes a problem with
the next patch, where we would otherwise grab a reference while a texture is
being destroyed, and hence destroy it twice.
2023-12-01 18:45:20 +01:00
Zebediah Figura
ef2908462d wined3d: Explicitly bind 0 for a NULL SRV.
Currently we invalidate STATE_SAMPLER whenever an SRV is bound, and hence rely
on sampler() to do this for us, which is a bit obscure and won't work with the
next patch.
2023-12-01 18:45:18 +01:00
Vijay Kiran Kamuju
d95a04b4eb gdiplus: Add GdipDrawImageFX stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55945
2023-12-01 18:45:04 +01:00
Fabian Maurer
c55cce6fcb server: Initialize pe image struct padding to avoid Valgrind warning. 2023-12-01 17:21:39 +01:00
Zebediah Figura
49a157b1f2 winegstreamer: Allow videoconvert to parallelize in the parser.
We already do this for the transform.
2023-12-01 17:21:39 +01:00
Daniel Lehman
0b31c53ebc msxml3: Handle null prefix in get_item. 2023-12-01 17:21:39 +01:00
Aida Jonikienė
d81df26f7c dsdmo: Only print effect_inplace_Process() FIXME once.
GTA San Andreas really spams this message in certain situations.
2023-12-01 17:21:39 +01:00
Aida Jonikienė
602f68f23c comctl32: Only print TREEVIEW_HandleTimer() ERR once.
Older versions of Roblox trigger this quite a bit and it's annoying
to me so let's only print it once.
2023-12-01 17:21:39 +01:00
Alex Henrie
b9714336ea uxtheme/tests: Add some tests for OpenThemeFile.
The tests show that the first argument must not be null, that the handle
returned via the fourth argument is not an HTHEME, and that that handle
can be passed to CloseThemeFile without error.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
effdb707b0 ntdll/tests: Remove some noisy traces. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
e60a97c1b4 ntdll: Fix stack layout for KiUserCallbackDispatcher on i386. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
3774b00f31 ntdll: Fix stack layout for KiUserApcDispatcher on i386. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
58a00854c3 ntdll: Fix stack layout for KiUserExceptionDispatcher on i386. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
b5cd47f541 ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
d6bd264460 ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
060a8b4af2 ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64. 2023-12-01 17:21:39 +01:00
Alexandre Julliard
9bbdf6c7b5 ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64. 2023-12-01 17:21:39 +01:00
Paul Gofman
1e4db62e0b setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}(). 2023-11-30 23:12:54 +01:00
Robert Wilhelm
b13e7ba7a4 vbscript: Sub argument has precedence over global const and local dim.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55502
2023-11-30 23:12:54 +01:00
Jacek Caban
6efee4baf1 gitlab: Add clang build. 2023-11-30 23:12:54 +01:00
Jacek Caban
d815623bf6 configure: Don't use empty expression in clang check.
Avoids m4_default default action.
2023-11-30 23:12:54 +01:00
Eric Pouech
0c61713bc3 kernelbase: Reset std handles gotten from GetStartupInfo().
The std handles gotten from GetStartupInfo are only set when
process was created with STARTF_USESTDHANDLES flag.
And yes, Ansi and Unicode versions reset the std
handles to a different value.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Eric Pouech
bf97f9490a ntdll: Restrict cases for std handle inheritance in CreateProcess().
Only allow std handle inheritance when:
- either bInherit flag of CreateProcess is TRUE,
- or child process is in CUI subsystem and STARTF_USESTDHANDLES is no
  used.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Eric Pouech
000f7faaa2 kernel32/tests: Add more tests about CreateProcess.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Eric Pouech
84079a62db kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Eric Pouech
a55598b142 kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
Move a couple of existing tests to this infrastructure.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Nikolay Sivov
00057128a3 vbscript: Implement TypeName(Nothing).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-30 23:12:54 +01:00
Alex Henrie
abbf0524a4 d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC). 2023-11-30 23:12:54 +01:00
Louis Lenders
9a80befba3 shcore: Add stub for CreateRandomAccessStreamOverStream.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55867
2023-11-30 23:12:54 +01:00
Rémi Bernon
de01c2cfb6 winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES. 2023-11-30 23:12:54 +01:00
Rémi Bernon
968fc33356 win32u: Support SGCAPS attributes in KBDTABLES. 2023-11-30 23:12:54 +01:00
Rémi Bernon
b2d16b9204 winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak. 2023-11-30 23:12:54 +01:00
Rémi Bernon
df4cae2e30 winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES. 2023-11-30 23:12:54 +01:00
Rémi Bernon
ed9f1d0715 win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR. 2023-11-30 23:12:54 +01:00
Rémi Bernon
027f73fcd5 win32u: Force US layout in ToUnicode when CTRL is pressed.
The host layout behave very differently in that case and we have tests
that check the exact results.
2023-11-30 23:12:54 +01:00
Rémi Bernon
ca02df5c3f win32u: Avoid accessing NULL key name string pointer. 2023-11-30 23:12:54 +01:00
Rémi Bernon
7c2ea1632f win32u: Introduce KbdLayerDescriptor user driver entry. 2023-11-30 23:12:54 +01:00
Rémi Bernon
d64ea8e4a6 winewayland.drv: Enumerate Xkb layouts and create matching HKL. 2023-11-30 23:12:54 +01:00
Rémi Bernon
e8c96e2e55 winewayland.drv: Handle and parse Xkb keymap events. 2023-11-30 23:12:54 +01:00
Hans Leidekker
8f087c4dff bcrypt/tests: Add DH tests. 2023-11-30 23:12:54 +01:00
Hans Leidekker
be9f66c62b bcrypt: Add support for duplicating DH keys. 2023-11-30 23:12:54 +01:00
Hans Leidekker
36e1c9380c bcrypt: Add support for importing DH keys. 2023-11-30 23:12:54 +01:00
Hans Leidekker
94d90ceec4 bcrypt: Add support for exporting DH keys. 2023-11-30 23:12:54 +01:00
Hans Leidekker
df83abb241 bcrypt: Add support for generating DH keys. 2023-11-30 23:12:54 +01:00
Hans Leidekker
81d71ee0bb bcrypt: Implement BCryptDeriveKey(). 2023-11-30 23:12:54 +01:00
Hans Leidekker
cfa655c4a3 bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
This series depends on secret agreement APIs added in GnuTLS 3.8.2.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49543
2023-11-30 23:12:54 +01:00
Rémi Bernon
6602093404 winevulkan: Fix python linter warnings. 2023-11-30 23:12:54 +01:00
Rémi Bernon
ac84b8f0b4 winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
It's not set anywhere.
2023-11-30 23:12:54 +01:00
Rémi Bernon
bfb5064f50 winevulkan: Search for debug report callback from the start of the chain. 2023-11-30 23:12:54 +01:00
Rémi Bernon
29e5b682c8 winevulkan: Use a local instance variable instead of phys_dev->instance. 2023-11-30 23:12:54 +01:00
Piotr Caban
4446db72eb gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
0690851c9b ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
8b24139fa7 ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
061c612b5e ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
8164c7087f ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
93a3a6c03f ntdll: Allow unwind rules to override the default stack pointer assignment. 2023-11-30 23:12:54 +01:00
Alexandre Julliard
334f54c255 ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
This requires moving the stack switch to Wow64PrepareForException.

Based on a patch by Paul Gofman.
2023-11-30 23:12:43 +01:00
Piotr Caban
ae32b2f452 msvcrt: Initialize writable environment block in env_set. 2023-11-30 17:53:01 +01:00
Piotr Caban
4843daaee1 wineps.drv: Fix EMR_SAVEDC record playback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55927
2023-11-30 11:08:47 +01:00
Piotr Caban
ccbf1d25b6 wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55950
2023-11-30 11:08:47 +01:00
Nikolay Sivov
95c87562f8 gdi32/emf: Pad EMREXTESCAPE record data. 2023-11-30 10:23:26 +01:00
Nikolay Sivov
8de0e3914d wineps: Use public definition for EMREXTESCAPE record. 2023-11-30 10:23:25 +01:00
Nikolay Sivov
ba454b239f gdi32/emf: Use public definition for EMREXTESCAPE record. 2023-11-30 10:23:24 +01:00
Nikolay Sivov
7c479e797f gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records. 2023-11-30 10:23:23 +01:00
Nikolay Sivov
e63b00b1ad gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records. 2023-11-30 10:23:22 +01:00
Nikolay Sivov
169a23a140 gdi32/emf: Add description field padding. 2023-11-30 10:23:20 +01:00
Nikolay Sivov
4fac4588bb gdi32/emf: Check for allocation failure in GdiComment(). 2023-11-30 10:23:19 +01:00
Nikolay Sivov
47a939e2ad gdi32/emf: Use padding helper in GdiComment(). 2023-11-30 10:23:18 +01:00
Nikolay Sivov
30be905972 gdi32/emf: Add a helper to pad variable length record data. 2023-11-30 10:23:16 +01:00
Aida Jonikienė
9cfb95964b wined3d: Add extra debug info to shader_set_limits().
This should help understand some virgl/ChromeOS-specific WineD3D
behavior better.
2023-11-30 10:22:33 +01:00
Zebediah Figura
62a979347a ntdll: Allow specifying per-process channels.
Based on a patch by Michael Müller.
2023-11-30 10:12:10 +01:00
Zebediah Figura
8c985449c3 winmm: Reimplement joystick axis mapping.
This should more closely match the algorithm used by native, discovered through
extensive manual testing.

This does not include any automated tests, both because I could not get winmm to
recognize a second plugged joystick, and (as I eventually discovered while
testing) the number of tests that would be necessary to conclusively prove this
algorithm turned out to be impractical.
2023-11-30 10:08:09 +01:00
Rémi Bernon
9d9d335716 dinput/tests: Use exotic axes ordering for winmm tests. 2023-11-30 10:08:08 +01:00
Alex Henrie
4c4eb1129c uxtheme: Use CRT allocation functions. 2023-11-30 10:02:42 +01:00
Alex Henrie
9947637469 uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC. 2023-11-30 10:02:41 +01:00
Alex Henrie
fcddf19498 cabarc: Use CRT allocation functions. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
240e4387e8 include: Make strict prototypes the default. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
c14de4c85e include: Remove DECLSPEC_HIDDEN definition. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
bfeba8d2d1 winex11.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
d18e32c869 winewayland.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
fcd587a80e winemac.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
35b3ff8ad6 wineandroid.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-29 23:16:39 +01:00
Alexandre Julliard
ef9debff60 wineboot: Remove a noisy FIXME. 2023-11-29 23:16:39 +01:00
Paul Gofman
4c9b39964c ntdll: Implement NtQueryInformationThread(ThreadIsTerminated). 2023-11-29 20:46:55 +01:00
Brendan McGrath
72590048b2 d2d1: Acquire lock before attempt to draw to device context.
Ensures the Direct 2D lock is held before attempting to access Direct 2D
exclusive resources.

This fixes periodic crashes in PowerPoint 365
2023-11-29 20:45:23 +01:00
Brendan McGrath
e6954d793b d2d1: Add test for singlethreaded draw.
Tests that Direct2D can access D2D exclusive resources whilst the
Direct 2D lock is held if the factory type is single threaded
2023-11-29 20:45:21 +01:00
Brendan McGrath
de9eeba7bd d2d1: Add test for multithreaded draw.
Tests that Direct2D can not access D2D exclusive resources whilst the
Direct 2D lock is held
2023-11-29 20:45:20 +01:00
Alexandros Frantzis
7fd9c158d0 winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
This is a simple passthrough implementation to the native Vulkan driver.
2023-11-29 20:45:00 +01:00
Alexandros Frantzis
ef35ddeeb8 winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
This is a simple passthrough implementation to the native Vulkan driver,
with the addition of a VkSurfaceKHR invalidation check.
2023-11-29 20:44:58 +01:00
Alexandros Frantzis
34f392bcfe winewayland.drv: Apply client subsurface position on creation.
We cannot depend on the main surface being committed to after
the client subsurface is created, so perform a commit to ensure
the subsurface position takes effect on creation.
2023-11-29 20:44:57 +01:00
Alexandros Frantzis
dc35c8a7b9 winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
The client area subsurface (the target of Vulkan rendering) is not going
to be presented properly (or at all) by the compositor if its parent
surface is not mapped or doesn't have the right size, even though the
window may be visible from Wine's perspective. To avoid this issue,
ensure that the parent surface has up-to-date contents in terms of size,
in case these haven't been provided yet, or will never be provided
(e.g., when the Vulkan rendering is fullscreen).
2023-11-29 20:44:56 +01:00
Alexandros Frantzis
d0fb8f637c winewayland.drv: Detect and report vkQueuePresentKHR errors.
If the VkSwapchainKHR extent does not match the target window client
area, report VK_ERROR_OUT_OF_DATE_KHR, to notify the app that it should
recreate the swapchain.

We also report VK_ERROR_OUT_OF_DATE_KHR if the HWND is no longer valid,
to match win32 behavior (e.g., nvidia). The application will eventually
get VK_ERROR_SURFACE_LOST_KHR during the swapchain recreation process.
2023-11-29 20:44:54 +01:00
Alexandros Frantzis
8a4e2546f5 winewayland.drv: Implement vkQueuePresentKHR. 2023-11-29 20:44:52 +01:00
Fabian Maurer
dbf303b00b widl: In type_has_full_pointer recurse for pointer types as well. 2023-11-29 20:44:44 +01:00
Fabian Maurer
f59807c587 widl: Prevent infinite loop when structure contains array of itself.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55115
2023-11-29 20:44:42 +01:00
Louis Lenders
e83ca9b772 shell32: Add stub for SHSetTemporaryPropertyForItem.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55536
2023-11-29 20:41:38 +01:00
Piotr Caban
6a78f71f3c msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55959
2023-11-29 20:41:23 +01:00
Piotr Caban
244b63566a winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified. 2023-11-29 20:40:31 +01:00
Robert Wilhelm
0d6c905add oleaut32: Fix VarR8Round for negative numbers.
Floats with fractional part 0.5000 should be rounded to next even number.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55185
2023-11-29 20:40:04 +01:00
Biswapriyo Nath
56e19e2c5e include: Update d3d12sdklayers.idl from vkd3d.
This corresponds to vkd3d as of a52604da8cae8ce5639eeb20ef263c12bf70e1df commit.
2023-11-29 20:39:03 +01:00
Zebediah Figura
c80f806e86 ntdll: Print a warning when LdrGetProcedureAddress() fails. 2023-11-29 20:38:25 +01:00
Alex Henrie
bc13bda5ee d3dx9_36/tests: Use CRT allocation functions. 2023-11-28 22:58:42 +01:00
Alex Henrie
14158bb57f comdlg32/tests: Use CRT allocation functions. 2023-11-28 22:58:42 +01:00
Jactry Zeng
1967d7cd4d ntdll: Try harder to fallback to neutral locales. 2023-11-28 22:58:42 +01:00
Jactry Zeng
730bdf6c5c ntdll: Initialize locale from Mac language identifiers with script name. 2023-11-28 22:58:42 +01:00
Jactry Zeng
c2f4619db9 ntdll: Use different variable names for Mac locales. 2023-11-28 22:58:42 +01:00
Alexandre Julliard
29a2a7effd winegstreamer: Remove DECLSPEC_HIDDEN usage. 2023-11-28 22:58:42 +01:00
Alexandre Julliard
8f5aa334da wined3d: Remove DECLSPEC_HIDDEN usage. 2023-11-28 22:58:42 +01:00
Alexandre Julliard
9b2353c3b3 opencl: Remove DECLSPEC_HIDDEN usage. 2023-11-28 22:58:42 +01:00
Alexandre Julliard
9a14c4a65b mscoree: Remove DECLSPEC_HIDDEN usage. 2023-11-28 22:58:42 +01:00
Alexandre Julliard
b70154a549 dwrite: Remove DECLSPEC_HIDDEN usage. 2023-11-28 22:58:42 +01:00
Marc-Aurel Zent
7b1fe26bb0 server: Add cross-platform get_path_from_fd function. 2023-11-28 22:58:42 +01:00
Rémi Bernon
f2371a8b47 wineboot: Compute and write the TSC frequency to registry ~Mhz.
In HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor

Some games such as Horizon Zero Dawn use this registry value to
correlate values from rtdsc to real time.

Returning the nominal/maximum cpu frequency here causes the game to run
in slow motion as it may not match the tsc frequency of the processor.

Based on patches from Arkadiusz Hiler and Joshua Ashton.
2023-11-28 22:58:42 +01:00
Louis Lenders
44cbc8ef84 shell32: Add stub for SHCreateItemWithParent.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55851
2023-11-28 22:58:42 +01:00
Eric Pouech
6a4dca0e5b ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-28 22:58:42 +01:00
Eric Pouech
8e00767fb4 uninstall: No longer use console/file output APIs.
Regular GUI apps don't.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-28 22:58:42 +01:00
Eric Pouech
1ba6a13528 winecfg: Output with MESSAGE.
Regular GUI programs don't use console nor std I/O.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-28 22:58:42 +01:00
Eric Pouech
e048f71ecb msiexec: No longer use console/file output APIs.
Regular GUI apps don't.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-28 22:58:42 +01:00
Rémi Bernon
6e85177aa7 explorer: Cache the balloon window position. 2023-11-28 08:54:52 +01:00
Rémi Bernon
118810ad3b explorer: Support standalone systray window mode. 2023-11-28 08:54:52 +01:00
Rémi Bernon
b8518d320f explorer: Use an explicit display constant for hidden icons. 2023-11-28 08:54:52 +01:00
Rémi Bernon
b135fa4cd0 explorer: Handle balloon timer in the icons window proc. 2023-11-28 08:54:51 +01:00
Rémi Bernon
5312f6242d explorer: Position the balloons relative to the icon windows. 2023-11-28 08:54:51 +01:00
Rémi Bernon
a60050abc8 explorer: Use the icon windows for their tooltips. 2023-11-28 08:54:51 +01:00
Rémi Bernon
76d144477c explorer: Display the individual systray icon windows. 2023-11-28 08:54:51 +01:00
Rémi Bernon
d2ee32bfe6 explorer: Create individual windows for the systray icons. 2023-11-28 08:54:51 +01:00
Rémi Bernon
243433623a explorer: Split systray add/remove from show/hide_icon. 2023-11-28 08:54:51 +01:00
Rémi Bernon
2e82d57d75 explorer: Remove unnecessary displayed icon array. 2023-11-28 08:54:49 +01:00
Eric Pouech
6343dc6c95 dmime: Add Release() on some codepaths.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-28 00:08:41 +01:00
Torge Matthies
b138be092e wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53500
2023-11-27 23:25:08 +01:00
Torge Matthies
7eb0c463fa winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53500
2023-11-27 23:25:08 +01:00
Torge Matthies
208a40cd61 winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53500
2023-11-27 23:25:08 +01:00
Fabian Maurer
a5754a4f2f user32: Fix spec entry for SetThreadDpiHostingBehavior. 2023-11-27 23:25:08 +01:00
Fabian Maurer
85e355ddf3 user32: Add stub for GetThreadDpiHostingBehavior.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55892
2023-11-27 23:25:08 +01:00
Ziqing Hui
b496a354fa winegstreamer: Implement wg_muxer_finalize. 2023-11-27 22:39:52 +01:00
Ziqing Hui
e36547d26d winestreamer: Implement {Begin,End}Finalize for media sink. 2023-11-27 22:39:52 +01:00
Ziqing Hui
7e575d681d winegstreamer: Avoid media sink command leaking. 2023-11-27 22:39:52 +01:00
Anton Baskanov
a69c7a8aa0 amstream: Use correct index in MediaStreamFilter's IEnumPins::Next(). 2023-11-27 22:39:52 +01:00
Anton Baskanov
150463b39b amstream/tests: Test IEnumPins with two streams. 2023-11-27 22:39:52 +01:00
Anton Baskanov
54aef59931 winegstreamer: Wake all streaming threads after seeking. 2023-11-27 22:39:52 +01:00
Matteo Bruni
5d19955007 tools: Print the correct option in error messages. 2023-11-27 22:39:52 +01:00
Nikolay Sivov
c944db5fc0 d3dx9/tests: Fix a crash when d3d9 object can't be created. 2023-11-27 22:39:52 +01:00
Rémi Bernon
8e4c196c14 win32u: Remove unnecessary config_key lazy initializations. 2023-11-27 22:39:52 +01:00
Rémi Bernon
7175d8855a win32u: Initialize sysparams before winstation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55843
2023-11-27 22:39:52 +01:00
Zhiyi Zhang
a2fdae65a1 wbemprox: Fix a memory leak (Coverity).
When LsaLookupSids() fails with STATUS_NONE_MAPPED or STATUS_SOME_NOT_MAPPED, the memory returned by
the domain parameter should be freed.
2023-11-27 22:39:52 +01:00
Zhiyi Zhang
1ab1c97087 ntdll: Fix an out-of-bounds read (Coverity).
class FileRenameInformationEx to FileKnownFolderInformation could cause an out-of-bounds read of info_sizes.
2023-11-27 22:39:52 +01:00
Nikolay Sivov
5e9663c064 oleaut32: Always reset return type for VarMod(). 2023-11-27 22:39:52 +01:00
Nikolay Sivov
bda6decd47 oleaut32: Fully initialize VarMod() return value for Empty % x case. 2023-11-27 22:39:52 +01:00
Zhiyi Zhang
7391352a39 wined3d: Fix a use after free (Coverity).
s is freed in set_window_state_thread().
2023-11-27 22:39:51 +01:00
Zhiyi Zhang
2146a44289 ntdll: Fix a memory leak (Coverity). 2023-11-27 22:39:51 +01:00
Zhiyi Zhang
aeda480e2a ntdll: Fix an out-of-bounds write (Coverity). 2023-11-27 22:39:51 +01:00
Zhiyi Zhang
6aef5f8916 oledb32: Fix a memory leak (Coverity). 2023-11-27 22:39:51 +01:00
Zhiyi Zhang
40305ee11e dplayx: Fix a memory leak (Coverity). 2023-11-27 22:39:51 +01:00
Bartosz Kosiorek
1848fd3375 gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45122
2023-11-27 22:39:51 +01:00
Bartosz Kosiorek
08653cf368 gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45123

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 to cause overflow.

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
2023-11-27 22:39:51 +01:00
Rémi Bernon
1a3a026d24 gitlab: Only run the modifieds tests on Windows for an MR. 2023-11-27 22:39:51 +01:00
Rémi Bernon
61faaf7ec0 gitlab: Add windows tests to MR pipeline. 2023-11-27 22:39:51 +01:00
Esme Povirk
886b778aaa user32/tests: Remove test_SendMessage_other_thread(2).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54037
2023-11-27 22:39:51 +01:00
Esme Povirk
9587214b20 user32/tests: Add a simpler test for SetParent's internal message.
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.
2023-11-27 22:39:51 +01:00
Jacek Caban
0c7a1be11b winegcc: Support --no-default-config argument. 2023-11-27 22:39:51 +01:00
Jacek Caban
471d7178ae configure: Use --no-default-config option on clang when available.
Some distros arbitrary flags into clang config files without guarding it for applicable targets, which breaks cross compilation.
2023-11-27 22:39:51 +01:00
Jacek Caban
cf29f40ce4 configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro. 2023-11-27 22:39:51 +01:00
Zebediah Figura
09f7b203bb ws2_32: Check for AI_ALL at compile time.
NetBSD does not provide it.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51843
2023-11-27 22:39:51 +01:00
Zebediah Figura
77a21c6eef ntdll: Check for some more IP socket options at compile time.
NetBSD doesn't provide these.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51843
2023-11-27 22:39:51 +01:00
Alexandre Julliard
ca7684f3eb sane.ds: Remove DECLSPEC_HIDDEN usage. 2023-11-27 22:39:51 +01:00
Alexandre Julliard
048f2f346d gphoto2.ds: Remove DECLSPEC_HIDDEN usage. 2023-11-27 22:39:51 +01:00
Alexandre Julliard
e9bf73872c wineoss.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-27 22:39:51 +01:00
Alexandre Julliard
21c5affdb5 winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-27 22:39:51 +01:00
Alexandre Julliard
feb9b9c7d5 winealsa.drv: Remove DECLSPEC_HIDDEN usage. 2023-11-27 22:39:51 +01:00
Alexandre Julliard
a60d6f3ec9 ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
Fixes d57c41990a.
2023-11-27 13:57:44 +01:00
Alexandre Julliard
5b01bf79e6 ntdll: Store the syscall table in the TEB on ARM64. 2023-11-27 13:57:44 +01:00
Alexandre Julliard
f2fa8ca29b ntdll: Store the syscall table in the TEB on x86-64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55935
2023-11-27 13:57:44 +01:00
Alexandre Julliard
13c43cf3d0 Release 8.21. 2023-11-24 22:48:09 +01:00
Nikolay Sivov
bb96e26440 oleaut32: Remove some deadcode from VarMod().
Always true/false conditions appear to exist since initial implementation
was introduced in 2d1bccd0c4.
2023-11-24 22:27:40 +01:00
Paul Gofman
557a4e061b d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:40 +01:00
Paul Gofman
8da63cf548 d3dx9: Factor out mesh_get_parse_func(). 2023-11-24 22:27:39 +01:00
Paul Gofman
6348888a41 d3dx9: Unify calling parse_mesh helper functions. 2023-11-24 22:27:39 +01:00
Paul Gofman
6787e3c365 d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:39 +01:00
Paul Gofman
8be03417fd d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:39 +01:00
Paul Gofman
0761c363f4 include: Fix ID3DXLoadUserData definition. 2023-11-24 22:27:39 +01:00
Daniel Lehman
969c8afa14 msxml6/tests: Copy create namespace tests.
With changes for msxml6 and TODOs for wine.
2023-11-24 22:24:30 +01:00
Daniel Lehman
bd7213ec38 msxml4/tests: Copy create namespace tests.
With changes for msxml4.
2023-11-24 22:24:26 +01:00
Louis Lenders
5f0537046d shcore: Add stub for RegisterScaleChangeEvent.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55671
2023-11-24 16:47:50 +01:00
Eric Pouech
8a94049770 winedbg: Use dbghelp extended module info.
To pickup module's data model.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-24 16:47:19 +01:00
Eric Pouech
6b2a3dcdba regedit: Use message boxes by default for output.
regedit is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode (forcing English locale for
Unix integration).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-24 16:46:57 +01:00
Eric Pouech
ac8da35b87 regsvr32: Use message boxes by default for output.
regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-24 16:46:44 +01:00
Santino Mazza
d9fcbf451a mlang: Implement codepages priority. 2023-11-24 14:06:02 +01:00
Santino Mazza
1ccd67cc32 mlang/tests: Test for codepages priority. 2023-11-24 14:06:02 +01:00
Alexandre Julliard
2d338e22f2 winedump: Display PE section offsets using their virtual address. 2023-11-24 14:06:02 +01:00
Alexandre Julliard
2328a1d9df ntdll: Convert the ARM64EC context to ARM64 for syscalls. 2023-11-24 14:04:53 +01:00
Alexandre Julliard
d57c41990a ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization. 2023-11-24 14:04:53 +01:00
Alexandre Julliard
741985693d ws2_32: Remove DECLSPEC_HIDDEN usage. 2023-11-24 14:04:53 +01:00
Alexandre Julliard
d1d15757a4 winebus.sys: Remove DECLSPEC_HIDDEN usage. 2023-11-24 14:04:53 +01:00
Alexandre Julliard
0c102b1a0b nsiproxy.sys: Remove DECLSPEC_HIDDEN usage. 2023-11-24 14:04:53 +01:00
Alexandre Julliard
2c19fc3a3e mountmgr: Remove DECLSPEC_HIDDEN usage. 2023-11-24 14:04:53 +01:00
Rémi Bernon
e04c976fa9 twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub. 2023-11-23 22:53:20 +01:00
Rémi Bernon
abc0c3c129 twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory. 2023-11-23 22:53:08 +01:00
Rémi Bernon
81fb29bfb6 include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass. 2023-11-23 22:52:19 +01:00
Rémi Bernon
2b22cf580e twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion. 2023-11-23 22:52:19 +01:00
Rémi Bernon
377aac9c6a twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily. 2023-11-23 22:52:19 +01:00
Rémi Bernon
f082ff9e5c twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass. 2023-11-23 22:52:19 +01:00
Rémi Bernon
ced55e1dd4 twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory. 2023-11-23 22:52:19 +01:00
Rémi Bernon
0cd904e1e1 include: Add Windows.System.Profile.AnalyticsInfo runtimeclass. 2023-11-23 22:52:19 +01:00
Rémi Bernon
a26fb1947e windows.globalization: Implement GeographicRegion_get_CodeTwoLetter. 2023-11-23 22:52:19 +01:00
Rémi Bernon
fe467cf452 windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass. 2023-11-23 22:52:19 +01:00
Rémi Bernon
452f0381c3 windows.globalization: Stub Windows.Globalization.GeographicRegion factory. 2023-11-23 22:52:19 +01:00
Rémi Bernon
57873adfcf include: Add Windows.Globalization.GeographicRegion runtimeclass. 2023-11-23 22:52:19 +01:00
Rémi Bernon
8ff59986d5 include: Use nested namespaces in windows.system.userprofile.idl. 2023-11-23 22:52:19 +01:00
Rémi Bernon
76ac3850c7 twinapi.appcore: Succeed some EasClientDeviceInformation stub calls. 2023-11-23 22:52:19 +01:00
Rémi Bernon
977da40ae5 twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass. 2023-11-23 22:52:19 +01:00
Paul Gofman
8797c08c5a include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass. 2023-11-23 22:51:26 +01:00
Anton Baskanov
88c7e93575 dmsynth: Use time instead of position to order events.
Different time values can map to the same position.
2023-11-23 22:51:07 +01:00
Anton Baskanov
2c08013b8c dmsynth: Preserve event order when positions are equal.
Fixes hanging notes that occur when noteon gets reordered with noteoff.
2023-11-23 22:51:07 +01:00
Anton Baskanov
bb7b49647b dmime: Requeue the note message instead of directly queueing MIDI note-off. 2023-11-23 22:51:07 +01:00
Anton Baskanov
433e0fc026 dmime/tests: Test output tool note requeueing. 2023-11-23 22:51:07 +01:00
Anton Baskanov
fd3607ed57 dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up. 2023-11-23 22:51:07 +01:00
Anton Baskanov
00a77f0137 dmime: Correctly requeue messages with changed time. 2023-11-23 22:51:07 +01:00
Anton Baskanov
fcf82e3352 dmime: Always queue messages with non-immediate delivery type. 2023-11-23 22:51:07 +01:00
Anton Baskanov
be77443b7c dmime: Don't queue messages with immediate delivery type. 2023-11-23 22:51:07 +01:00
Anton Baskanov
a6929a54ba dmime: Factor out timeout computation. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
a93e4cf644 secur32: Remove DECLSPEC_HIDDEN usage. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
015c947c81 netapi32: Remove DECLSPEC_HIDDEN usage. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
d305d8676d mmdevapi: Remove DECLSPEC_HIDDEN usage. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
e7d3c4294f crypt32: Remove DECLSPEC_HIDDEN usage. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
f2451be041 bcrypt: Remove DECLSPEC_HIDDEN usage. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
2863311d7c vkd3d: Disable printf format checks.
clang warns by default, and the existing printf formats assume Unix
type definitions.
2023-11-23 22:51:07 +01:00
Alexandre Julliard
f76c3c6ce8 jxr: Fix some clang compiler warnings. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
13d2bb57fe fluidsynth: Make glib replacement functions inline to avoid unused function warnings. 2023-11-23 22:51:07 +01:00
Alexandre Julliard
6d046dd988 nls: Update locale data to CLDR version 44. 2023-11-23 22:51:07 +01:00
Zebediah Figura
3b5dca348e ddraw: Read the current RTV before flipping any surfaces.
Since we rename one at a time, we will swap the RTV twice otherwise.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54839
Fixes: f103da7c69
2023-11-23 22:51:07 +01:00
Zebediah Figura
192c488a56 ddraw/tests: Add a test for drawing to a flippable surface. 2023-11-23 22:51:07 +01:00
Zebediah Figura
02b3a8cb7b wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
This fixes a crash when loading a world in Spore.

Fixes: 831a41ee34
2023-11-23 22:51:07 +01:00
Alex Henrie
bdc6132658 d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Fixes: a70e3059c6
Fixes: 6db89702a3
2023-11-23 22:51:07 +01:00
Zhiyi Zhang
ef34d8139c oledb32: Remove unnecessary properties in datainit_GetInitializationString().
The following properties are removed:
1. Duplicate properties.
2. Properties without value.
3. Properties that should be ignored according to MSDN.
4. DBPROP_AUTH_PASSWORD when include_pass is FALSE.
2023-11-23 16:18:21 +01:00
Zhiyi Zhang
19957240e1 oledb32: Quote values containing semicolons. 2023-11-23 16:18:21 +01:00
Zhiyi Zhang
9c05824fd3 oledb32: Fix property count in datainit_GetInitializationString().
count was assigned to the property set count, not the count of properties in each property set.

Fix a Power Pivot for Excel 2010 connection error when opening a Power Pivot window.
2023-11-23 16:18:20 +01:00
Zhiyi Zhang
c2571f23a9 oledb32: Remove the trailing semicolon.
Also, this fixes an out-of-bounds write because the space for the terminating '\0' wasn't included previously.
2023-11-23 16:18:17 +01:00
Zhiyi Zhang
23b556c55a oledb32/tests: Add more IDataInitialize::GetInitializationString() tests. 2023-11-23 16:18:17 +01:00
Alfred Agrell
9c78628f14 mf/tests: Test IMediaObject_GetOutputSizeInfo. 2023-11-23 16:17:27 +01:00
Alfred Agrell
33d9310a9f winegstreamer: Implement DMO interface for WMA decoder. 2023-11-23 16:17:27 +01:00
Alfred Agrell
f04aeeef9f winegstreamer: Switch WMA decoder to use wg_format internally. 2023-11-23 16:17:27 +01:00
Alfred Agrell
41dfd7d7c1 winegstreamer: Implement WMA <-> AMT conversion. 2023-11-23 16:17:27 +01:00
Alfred Agrell
30ab13fa9c winegstreamer: Add wg_format_from_caps_audio_wma function. 2023-11-23 16:17:27 +01:00
Alex Henrie
0e99baed43 comctl32/tests: Use CRT allocation functions. 2023-11-23 16:16:59 +01:00
Zebediah Figura
9b9f7a0077 msvcrt: Perform a base-10 logarithm using integer math.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55918
2023-11-22 22:51:08 +01:00
Esme Povirk
8a25798e32 user32/tests: Accept another variation in send_message_5. 2023-11-22 22:35:00 +01:00
Davide Beatrici
0296975983 wineoss: Fix sound not working.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55886
2023-11-22 22:34:13 +01:00
Francois Gouget
70f15b93f2 user32/tests: Add a trailing linefeed to ok() and skip() calls. 2023-11-22 20:03:23 +01:00
Piotr Caban
70e240949c msvcp140: Add codecvt<char16> class stub. 2023-11-22 20:03:23 +01:00
Rémi Bernon
2e1fe519e7 mfplat: Implement IMFMediaType_(Get|Free)Representation. 2023-11-22 20:03:23 +01:00
Rémi Bernon
77a71bc43b mfplat: Implement MFCreateAMMediaTypeFromMFMediaType. 2023-11-22 20:03:23 +01:00
Rémi Bernon
7f1eef65bf mfplat: Implement MFInitAMMediaTypeFromMFMediaType. 2023-11-22 20:03:23 +01:00
Rémi Bernon
f9723bc274 mfplat: Use bits per pixel in uncompressed formats metadata. 2023-11-22 20:03:23 +01:00
Rémi Bernon
13cdc8af5f mfplat: Only convert MEDIASUBTYPE for the formats which need it. 2023-11-22 20:03:23 +01:00
Rémi Bernon
947d7af00c mfplat/tests: Add IMFMediaType_GetRepresentation tests. 2023-11-22 20:03:23 +01:00
Rémi Bernon
486e6967b3 mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType. 2023-11-22 20:03:23 +01:00
Rémi Bernon
c763d1b183 mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType. 2023-11-22 20:03:23 +01:00
Rémi Bernon
aa9ca347c3 mfplat: Add MFInitAMMediaTypeFromMFMediaType stub. 2023-11-22 20:03:23 +01:00
Rémi Bernon
d30a1c377c mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub. 2023-11-22 20:03:23 +01:00
Rémi Bernon
59bbc61a6d mfplat: Add support for internal MFVideoFormat_A2B10G10R10. 2023-11-22 20:03:23 +01:00
Piotr Caban
141aa0a283 msvcrt: Hold _ENV_LOCK when accessing environment variables. 2023-11-22 20:03:22 +01:00
Hans Leidekker
75b41873e6 winhttp: Use an unsigned integer for number values in query_headers(). 2023-11-22 20:03:22 +01:00
Hans Leidekker
860a6d762f ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister(). 2023-11-22 20:03:05 +01:00
Hans Leidekker
b313c4095f wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE. 2023-11-22 20:03:05 +01:00
Alexandros Frantzis
ca5f7fe4c7 winewayland.drv: Implement vkGetSwapchainImagesKHR.
This is a simple passthrough implementation to the native Vulkan driver.
2023-11-22 20:03:05 +01:00
Alexandros Frantzis
03f5fcd9ef winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
This is a simple passthrough implementation to the corresponding Vulkan
Wayland extension.
2023-11-22 20:03:05 +01:00
Alexandros Frantzis
c35be65dda winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
This is a simple passthrough implementation to the native Vulkan driver,
with the addition of a VkSurfaceKHR invalidation check.
2023-11-22 20:03:05 +01:00
Alexandros Frantzis
ec9a111f3e winewayland.drv: Implement vkDestroySwapchainKHR. 2023-11-22 20:03:04 +01:00
Alexandros Frantzis
249c21cfdd winewayland.drv: Implement vkCreateSwapchainKHR. 2023-11-22 20:03:04 +01:00
Alexandros Frantzis
d97b55c3d4 winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
Passthrough implementations with three additions:

1. Try to emulate vkGetPhysicalDeviceSurfaceCapabilities2KHR with
   vkGetPhysicalDeviceSurfaceCapabilitiesKHR if needed.
3. Set the capabilities' image extent values to match what the Vulkan Win32 WSI
   typically provides.
2023-11-22 20:03:04 +01:00
Alexandros Frantzis
00e8f8fb75 winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
Passthrough implementations with two additions:

1. Checking for invalidated VkSurfaceKHR.
2. Try to emulate vkGetPhysicalDeviceSurfaceFormats2KHR with
   vkGetPhysicalDeviceSurfaceFormatsKHR if needed.
2023-11-22 20:03:04 +01:00
Alexandros Frantzis
5c5873a9fe winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
This is a simple passthrough implementation to the native Vulkan driver,
with the addition of a VkSurfaceKHR invalidation check.
2023-11-22 20:03:04 +01:00
Rémi Bernon
7b03cbda5d win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages. 2023-11-22 20:03:04 +01:00
Rémi Bernon
c36b419344 winewayland.drv: Configure win32u keyboard repeat delay and speed. 2023-11-22 20:03:04 +01:00
Zebediah Figura
1975398bd1 ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents(). 2023-11-22 20:03:04 +01:00
Zebediah Figura
2f0153df7c server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages. 2023-11-22 20:03:04 +01:00
Zebediah Figura
a866d16ff8 server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket. 2023-11-22 20:03:04 +01:00
Zebediah Figura
68cfc95ab6 ws2_32/tests: Work around a Linux bug.
This was reported upstream: https://bugzilla.kernel.org/show_bug.cgi?id=216259
2023-11-22 20:03:04 +01:00
Zebediah Figura
a83c3736a9 ws2_32/tests: Test send() after TCP reset. 2023-11-22 20:03:04 +01:00
Zebediah Figura
2bad8d9f63 http.sys: Keep connection sockets open after sending a 400 response.
Tests show that the socket is shut down, but sending further data doesn't result
in a TCP reset, so we need to keep the socket itself open until the TCP
connection is closed.
2023-11-22 20:03:04 +01:00
Zebediah Figura
25bcb9d363 ws2_32/tests: Test sending data to a peer which is closed. 2023-11-22 20:03:04 +01:00
Alistair Leslie-Hughes
311cf13a1c msdasql: Check rowset pointer before assignment in ICommandText::Execute. 2023-11-22 20:02:59 +01:00
Zhiyi Zhang
6b966a888a oledb32/tests: Fix memory leaks. 2023-11-22 10:10:45 +01:00
Zhiyi Zhang
3170775803 oledb32/tests: Remove test_odbc_provider().
All these tests are already covered by test_Properties() in msdasql/tests/provider.c.
2023-11-22 10:10:43 +01:00
Zhiyi Zhang
5823d98692 oledb32/tests: Use wide-char string literals.
And make these strings const.
2023-11-22 10:10:41 +01:00
Zhiyi Zhang
18c057ee4c oledb32: Add missing const modifiers. 2023-11-22 10:10:41 +01:00
Zhiyi Zhang
f0bad1ec37 msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties(). 2023-11-22 10:08:44 +01:00
Zhiyi Zhang
fd2a2d3842 msdasql/tests: Add more IDBProperties::GetProperties() tests. 2023-11-22 10:08:44 +01:00
Zhiyi Zhang
b54e1ec604 msdasql/tests: Fix memory leaks. 2023-11-22 10:08:44 +01:00
Alex Henrie
9ba4c10035 d3dcompiler_43: Use CRT allocation functions. 2023-11-22 10:06:33 +01:00
Alexandre Julliard
101bb94a69 ntdll: Remove the signal_exit_thread wrapper. 2023-11-22 09:46:49 +01:00
Alexandre Julliard
5ee1bf0aa1 ntdll: Get rid of the thread exit frame on ARM. 2023-11-22 09:46:49 +01:00
Alexandre Julliard
e5af98dc17 ntdll: Get rid of the thread exit frame on ARM64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
f6b4567407 ntdll: Get rid of the thread exit frame on x86-64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
a50df817af ntdll: Get rid of the thread exit frame on i386. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
3e421c6675 ntdll: Switch to the kernel stack to abort a thread on ARM. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
ca79629b3e ntdll: Switch to the kernel stack to abort a thread on ARM64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
3c53d89e6c ntdll: Switch to the kernel stack to abort a thread on x86-64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
e7d8b40115 ntdll: Switch to the kernel stack to abort a thread on i386. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
d80a662bc1 ntdll: Connect syscall frames across user callbacks on ARM. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
c74f41e46d ntdll: Connect syscall frames across user callbacks on ARM64. 2023-11-22 09:46:48 +01:00
Rémi Bernon
a5745ba91a ntdll: Connect syscall frames across user callbacks on x86-64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54346
2023-11-22 09:46:48 +01:00
Rémi Bernon
578a730a2a ntdll: Connect syscall frames across user callbacks on i386.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54346
2023-11-22 09:46:48 +01:00
Alexandre Julliard
0d329384d8 ntdll: Add a syscall_cfa member to the ARM syscall frame. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
e07d536d83 ntdll: Add a syscall_cfa member to the ARM64 syscall frame. 2023-11-22 09:46:48 +01:00
Rémi Bernon
df181df8ee ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54346
2023-11-22 09:46:48 +01:00
Rémi Bernon
3faa6dde11 ntdll: Add a syscall_cfa member to the i386 syscall frame.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54346
2023-11-22 09:46:48 +01:00
Rémi Bernon
e1f5424737 ntdll: Remove unnecessary stack pointer CFI rules. 2023-11-22 09:46:48 +01:00
Rémi Bernon
fcdccb252f ntdll: Add comments to stack switches in dispatchers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54346
2023-11-22 09:46:48 +01:00
Alexandre Julliard
ae291b1204 ntdll: Directly access the syscall table variable on ARM64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
ab08ba1ba0 ntdll: Directly access the syscall table variable on x86-64. 2023-11-22 09:46:48 +01:00
Alexandre Julliard
f7fa433d82 ntdll: Store the syscall table in the TEB on ARM. 2023-11-22 09:46:47 +01:00
Alexandre Julliard
d4439fd92b ntdll: Store the syscall table in the TEB on i386. 2023-11-22 09:46:43 +01:00
Alfred Agrell
9196fecb63 winegstreamer: Store duration in the duration field. 2023-11-21 22:46:57 +01:00
Ziqing Hui
1617bd3f87 winegstreamer: Implement wg_muxer_read_data. 2023-11-21 22:46:57 +01:00
Ziqing Hui
98310d2182 winestreamer: Introduce media_sink_write_stream. 2023-11-21 22:46:57 +01:00
Francois Gouget
96da5a8a35 advapi32/tests: Fix a service stop race condition.
If some Windows services stop while testing EnumServicesStatusW()'s
resume handle support, one possibility is that the still running
services all fit in the specified buffer, invalidating the test so
there is a retry in place.
But in some cases the second call just returns fewer tests than
expected. So retry in that case too.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53460
2023-11-21 22:46:57 +01:00
Eric Pouech
58155d3eb9 msvcrt: Fix ucrtbase environment initialization.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-21 19:23:27 +01:00
Eric Pouech
bdb624fffb msvcrt: Allocate environment variables in separate allocation chunks. 2023-11-21 19:23:27 +01:00
Eric Pouech
a45ca342fc msvcrt: Lazily initialize ___winitenv. 2023-11-21 19:23:27 +01:00
Piotr Caban
55b18b143f msvcrt: Factor out wenv_get_index helper. 2023-11-21 19:23:27 +01:00
Piotr Caban
ca7a1139a8 msvcrt: Factor out env_get_index helper. 2023-11-21 19:23:27 +01:00
Eric Pouech
52b88199af ucrtbase/tests: Introduce environment tests.
Mostly adapting msvcrt tests/environ.c.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-21 19:23:25 +01:00
Eric Pouech
1c4897ec8a msvcrt/tests: Test passing environment in child process.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-21 19:23:25 +01:00
Paul Gofman
a2d3b27b6c msvcp110: Implement std::_Xbad_function_call(). 2023-11-21 19:22:16 +01:00
Alexandre Julliard
30f3a61af2 faudio: Fix a few printf formats. 2023-11-21 11:17:41 +01:00
Alexandre Julliard
54ae26409e fluidsynth: Use a signed atomic type to avoid warnings. 2023-11-21 11:15:40 +01:00
Alexandre Julliard
9011462be8 tiff: Fix size_t type size detection on 64-bit. 2023-11-21 11:15:05 +01:00
Alexandre Julliard
97ebd9f1ac win32u: Add syscall entries for ARM64EC. 2023-11-21 11:14:21 +01:00
Alexandre Julliard
9c85c8591c ntdll: Add syscall entries for ARM64EC. 2023-11-21 11:13:54 +01:00
Alistair Leslie-Hughes
78ba84e3c5 msado15: Correct logic when setting field value. 2023-11-21 11:10:55 +01:00
Tim Clem
8e9c6e29d0 winemac.drv: Return success from query_ime_char_rect.
Fixes misplaced IME windows.
2023-11-21 11:10:49 +01:00
Fabian Maurer
18522a0594 winex11: Free correct pointer when using xf86vm.
After allocation the pointer gets shifted by sizeof(xf86vm_modes),
so we have to undo that before calling free.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55909
2023-11-21 11:10:38 +01:00
Nikolay Sivov
f341a693f4 d3dcompiler/tests: Do not crash on device creation.
Fixes crashes running with a null driver.
2023-11-21 11:10:27 +01:00
Louis Lenders
1e1d18a444 wbemprox: Add StandardCimv2 namespace. 2023-11-21 11:10:04 +01:00
Jacek Caban
2be5d40830 mshtml: Use Gecko inner window in get_clipboard_commands. 2023-11-20 22:46:48 +01:00
Jacek Caban
5289cc8525 mshtml: Use Gecko inner window in get_ns_selection. 2023-11-20 22:46:48 +01:00
Jacek Caban
8a0cba8263 mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create. 2023-11-20 22:46:48 +01:00
Jacek Caban
e68cc48215 mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select. 2023-11-20 22:46:48 +01:00
Bernhard Übelacker
feda122578 notepad: Use GetDesktopWindow() when main window is not yet created.
Commit 100504d2f5 introduced using GetDpiForWindow().
Unfortunately NOTEPAD_LoadSettingFromRegistry is executed when
the main window is not yet created, resulting in
having Globals.lfFont.lfHeight=0.
This is later stored in the registry in iPointSize=0.

In a fresh wine prefix there are not yet registry values created,
therefore the first run of notepad does not show this problem,
and iPointSize is saved with a sane value to the registry.

Having Globals.lfFont.lfHeight=0 manifests for example
in cups PDF prints being a single empty page.

The check of point_size for having a non-zero value should also fix
wine prefixes which have already a stored registry value of iPointSize=0.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55852
2023-11-20 22:46:44 +01:00
Alexandre Julliard
a255dd1f3c winebuild: Stop generating syscall entry points. 2023-11-20 18:27:48 +01:00
Alexandre Julliard
2dda6a2894 win32u: Generate syscall entry points from the C code with asm macros. 2023-11-20 18:09:13 +01:00
Alexandre Julliard
48a5459827 ntdll: Generate syscall entry points from the C code with asm macros. 2023-11-20 18:08:27 +01:00
Alexandre Julliard
5148911b81 wusa: Remove DECLSPEC_HIDDEN usage. 2023-11-20 17:55:39 +01:00
Alexandre Julliard
e040777841 explorer: Remove DECLSPEC_HIDDEN usage. 2023-11-20 17:55:23 +01:00
Alexandre Julliard
3aca599458 tools: Upgrade the config.guess/config.sub scripts. 2023-11-20 17:49:46 +01:00
Santino Mazza
4ad1474678 mlang: Fix GetStrCodePages for characters with different codepages. 2023-11-20 17:49:19 +01:00
Santino Mazza
b413d4974a mlang/tests: Test GetStrCodePages with different codepages character. 2023-11-20 17:48:55 +01:00
Dmitry Timoshkov
03d616b4eb shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-20 17:48:22 +01:00
Dmitry Timoshkov
3ee56808e4 shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-20 17:48:22 +01:00
Dmitry Timoshkov
a8e1ab6422 shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-20 17:48:22 +01:00
Nell Hardcastle
12f50afe9a hidclass.sys: Add DualSense Edge to device_strings. 2023-11-20 17:47:46 +01:00
Nell Hardcastle
92dcc916fd mmdevapi: Override product strings for DualSense Edge.
Enables audio device features for the DualSense Edge.
2023-11-20 17:47:44 +01:00
Nell Hardcastle
33a3726a05 winebus.sys: Identify DualSense Edge as a DualSense controller.
The DualSense Edge implements extra features (haptics and adaptive triggers)
in the same way as the DualSense.
2023-11-20 17:47:42 +01:00
Michael Stefaniuc
466c97008c quartz: Remove redudant NULL checks before CoTaskMemFree(). 2023-11-20 17:44:52 +01:00
Michael Stefaniuc
7113bef649 winegstreamer: Remove redundant NULL check before free(). 2023-11-20 17:44:52 +01:00
Marc-Aurel Zent
f715f400dc ntdll: Use IOPowerSources API to fill battery info on macOS. 2023-11-20 17:44:30 +01:00
Nikolay Sivov
2dd3a20520 dxva2/tests: Skip tests if D3D9 is unusable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-20 17:43:54 +01:00
Piotr Caban
4623c41100 msvcrt: Add _mbsrev tests. 2023-11-20 17:43:46 +01:00
Piotr Caban
c180a902c0 msvcrt: Avoid temporary buffer allocation in _mbsrev_l. 2023-11-20 17:43:46 +01:00
Bernhard Übelacker
71b3d10f95 uxtheme: Add stub for RefreshImmersiveColorPolicyState.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55898
2023-11-20 17:43:33 +01:00
Nikolay Sivov
05892c2369 evr/tests: Skip tests if D3D9 is unusable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-20 17:43:20 +01:00
Nikolay Sivov
055e2c166e evr/presenter: Handle failure to initialize D3D9.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-20 17:43:19 +01:00
Paul Gofman
f27dd7740c windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder. 2023-11-20 17:43:05 +01:00
Daniel Lehman
e55cae42b0 msxml3/tests: Add tests for default namespace. 2023-11-20 17:42:57 +01:00
Daniel Lehman
712b33c171 msxml4/tests: Add tests for default namespace. 2023-11-20 17:42:57 +01:00
Daniel Lehman
6a7c53130f msxml6/tests: Add tests for default namespace. 2023-11-20 17:42:57 +01:00
Rémi Bernon
8ffebcf4ab evr: Set last presented sample atomically.
Fixes a race condition and crashes in Secret of Mana.

The queue critical section is held in video_presenter_sample_present
while GetCurrentImage only locks the presenter CS. Double locking is
tricky and atomic operation is appropriate to swap the sample pointer.
2023-11-20 17:40:35 +01:00
Tim Clem
7c45c7c5eb winemac.drv: Move surface-related logs to the bitblt channel.
The logs in this file are very noisy. x11drv uses the bitblt channel
for its analogous messages.
2023-11-17 19:56:10 +01:00
Jacek Caban
1bd4bcaa4a ole32/tests: Remove unused variable. 2023-11-17 19:54:48 +01:00
Paul Gofman
5415eb7c37 gdiplus: Round width and height in gdip_format_string(). 2023-11-17 19:54:39 +01:00
Bartosz Kosiorek
65f7d5ec48 msvcrt: Add _mbsspnp_l implementation. 2023-11-17 19:54:28 +01:00
Bartosz Kosiorek
c94671324e msvcrt: Fix _mbsspn_l implementation. 2023-11-17 19:54:28 +01:00
Tim Clem
adfb58f17d msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
A length of -1 has no special meaning for the mbsn*coll functions, and
since it is > INT_MAX, it will eventually trigger _invalid_parameter in
_strnicmp_l in newer versions of msvcrt.
2023-11-17 19:54:17 +01:00
Jacek Caban
e3709b0c9d gdiplus: Remove unused variable. 2023-11-17 19:54:09 +01:00
Jacek Caban
93668319dd msi/tests: Initialize pathkey in test_installprops.
It could be used uninitialized on early no access return.
2023-11-17 19:54:00 +01:00
Jacek Caban
2daa8c9f95 msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
Avoids casting to enum pointer in msi_locate_product call.
2023-11-17 19:53:59 +01:00
Zebediah Figura
877a072efa wined3d: Set the active texture in nvts_texdim(). 2023-11-17 19:53:51 +01:00
Zebediah Figura
8da8dc94e2 wined3d: Set the active texture in sampler_texdim().
This was probably accidentally omitted in 51e64b3fe9.

In practice, this is guaranteed to work anyway, since due to the state table
construction the equivalent misc handler, i.e. sampler(), is always guaranteed
to be called right before the fragment pipeline handler for each stage. However,
this is a subtle detail and best not to be depended on.
2023-11-17 19:53:48 +01:00
Zebediah Figura
60e4722bcf wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
Ported from state_sampler().

This is currently relevant to the case where a d3d11 device is created with a
9.x feature level—this will have resources bound via SRVs [and will therefore
go through wined3d_context_gl_bind_shader_resources() rather than
state_sampler()] but need not support ARB_texture_non_power_of_two.

The NPOT non-requirement is explicitly called out in the d3d11 documentation,
and because we need some degree of emulation for conditional NPOT textures, we
need to hook that up for feature level 9.x d3d11 devices as well.

Looking forward, d3d 1-9 will be normalized to creating internal SRVs and
binding those through the d3d10+ path, so this will also be necessary for that
reason.
2023-11-17 19:53:45 +01:00
Zebediah Figura
831a41ee34 wined3d: Introduce a wined3d_state_get_ffp_texture() helper. 2023-11-17 19:53:45 +01:00
Paul Gofman
1a1e2d907a dnsapi: Handle IP address as DNS name in DnsQuery_UTF8(). 2023-11-17 11:16:56 +01:00
Alexandros Frantzis
7e4985212b winewayland.drv: Forward all client surface pointer events to parent.
Set an empty input region for the client area surface, so that the
compositor forwards input events to the main/parent surface instead.
This simplifies input handling, since otherwise we would need to
implement special handling of events on the client area surface
and transform them accordingly.
2023-11-17 10:56:37 +01:00
Alexandros Frantzis
4c9c991fae winewayland.drv: Set client area subsurface size.
Use the viewporter Wayland protocol to set the size of the client
area subsurface, so that it always covers the client area bounds
exactly. This may transiently lead to scaled contents.
2023-11-17 10:56:36 +01:00
Alexandros Frantzis
65a4789a7c winewayland.drv: Set client area subsurface position.
Set the position of the client area subsurface relative to its
parent surface.
2023-11-17 10:56:34 +01:00
Alexandros Frantzis
9439b3c3ee winewayland.drv: Use a client area subsurface as the Vulkan target.
Since we can't render to parts of surfaces, use a dedicated client
area subsurface as the target of Vulkan rendering.
2023-11-17 10:56:33 +01:00
Alexandros Frantzis
51dbd708b0 winewayland.drv: Implement vkDestroySurfaceKHR. 2023-11-17 10:56:32 +01:00
Alexandros Frantzis
b6e9e8deda winewayland.drv: Implement vkCreateWin32SurfaceKHR.
Create Win32 VkSurfaceKHR objects which are backed by native Wayland
VkSurfaceKHR objects. For now we associate a dummy Wayland surface
with the VkSurfaceKHR.
2023-11-17 10:56:31 +01:00
Alexandros Frantzis
902465f236 winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr. 2023-11-17 10:56:30 +01:00
Alexandros Frantzis
36a2e6b1f1 winewayland.drv: Implement vkDestroyInstance. 2023-11-17 10:56:28 +01:00
Alexandros Frantzis
bd0d88261d winewayland.drv: Implement vkCreateInstance.
Create a Vulkan instance, ensuring we use the proper (Wayland)
SurfaceKHR extension when forwarding the request to the native Vulkan
platform.
2023-11-17 10:56:27 +01:00
Alexandros Frantzis
a9ed32b0bf winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
Return the native instance extension properties, substituting
VK_KHR_wayland_surface for VK_KHR_win32_surface.
2023-11-17 10:56:25 +01:00
Alexandros Frantzis
f6e800172b winewayland.drv: Add skeleton Vulkan driver. 2023-11-17 10:56:23 +01:00
Alistair Leslie-Hughes
a85055ee6c msado15: Updating recordset EditMode when field value changes.
We need to know what type of Edit we are Performing, eg AddNew or Updated existing.
2023-11-17 10:55:24 +01:00
Alexandre Julliard
909e2b952a win32u: Remove DECLSPEC_HIDDEN usage. 2023-11-17 10:20:54 +01:00
Alexandre Julliard
e9afc9bf8f winebuild: Stop generating the syscall argument array and related data. 2023-11-17 10:17:50 +01:00
Alexandre Julliard
85dbc0466f wow64: Build the syscall argument array from the generated list. 2023-11-17 10:00:48 +01:00
Alexandre Julliard
92b6ab2d6e win32u: Store the service table entry directly into the ntdll variable. 2023-11-17 09:57:56 +01:00
Alexandre Julliard
c8ecc35966 win32u: Build the syscall argument array from the generated syscall list. 2023-11-17 09:57:14 +01:00
Alexandre Julliard
f799f6f471 win32u: Set the syscall dispatcher on the PE side. 2023-11-17 09:56:37 +01:00
Alexandre Julliard
1693784169 ntdll: Build the syscall argument array from the generated syscall list. 2023-11-17 09:55:27 +01:00
Alex Henrie
c64aa0006e d3dcompiler_43/tests: Use CRT allocation functions. 2023-11-16 23:18:24 +01:00
Alex Henrie
6e45c17182 ntoskrnl/tests: Put test_input on the stack in the main_test function. 2023-11-16 22:24:01 +01:00
Marc-Aurel Zent
c23c72fe8e ntdll: Implement thread-ID alerts using kqueue/kevent. 2023-11-16 22:22:41 +01:00
Myah Caron
3448a84cac windows.ui: Support accent colors in uisettings3_GetColorValue.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55640
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
2023-11-16 22:22:41 +01:00
Eric Pouech
60108ea1bc dbghelp: Pretend mach-o is present in case of failure.
On MacOs, starting with Big Sur 11.0.1, the system dynamic
libraries are no longer directly accessible on disk.
They are still available through dlopen and friends. For getting
access to the images (and their debug symbol), Apple provides,
in the developper kit, the tools to extract the files. Note that
this is handled as a database of all system libraries, where ASLR
is in place such that segments of a given library are no longer
contiguous in memory (dbghelp doesn't currently handle this).

Apart from not having image information nor debug information,
another side effect is that dbghelp tries every time it refreshes the
mach-o module list to reload any library for which it didn't have
an image file. This can be lengthy (esp when a typical process has
more than 300 modules loaded).

This patch forces the creation of the dbghelp module even if the
image file isn't found.

This patch cuts startup time of 'winedbg notepad' from 9.9 to 7.4s.
YMMV.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:07 +01:00
Eric Pouech
01c98c5eaf dbghelp: Expose PE native vs builtin information to winedbg.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:07 +01:00
Eric Pouech
8d75739b6a dbghelp: No longer decorate ELF/Mach-O module names.
Rely solely on extended module information.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:04 +01:00
Eric Pouech
c50e02ec9c dbghelp: Expose some internal information about modules to winedbg.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:03 +01:00
Eric Pouech
416d29e26c dbghelp: Remove DMT_ entries for .DBG and .PDB files.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-16 20:56:03 +01:00
Alexandre Julliard
79b6d8d949 wow64cpu: Remove DECLSPEC_HIDDEN usage. 2023-11-16 16:07:25 +01:00
Alexandre Julliard
a7f7832107 wow64: Remove DECLSPEC_HIDDEN usage. 2023-11-16 16:07:14 +01:00
Alexandre Julliard
c2868b331e wow64win: Use the generated syscall list. 2023-11-16 14:09:55 +01:00
Alexandre Julliard
4adf3bc0bb wow64: Use the generated syscall list. 2023-11-16 14:09:16 +01:00
Alexandre Julliard
ade158ea7d win32u: Use the generated syscall list. 2023-11-16 14:08:24 +01:00
Alexandre Julliard
f9f23e1092 ntdll: Use the generated syscall list. 2023-11-16 14:08:00 +01:00
Alexandre Julliard
401288a78d make_specfiles: Generate a list of syscalls from the corresponding spec files. 2023-11-16 14:07:26 +01:00
Zhiyi Zhang
a7ec901ea3 uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
The last parameter should be REFPROPVARIANT instead of PROPVARIANT.
2023-11-16 14:02:33 +01:00
Alex Henrie
8f26aaf2ba sapi: Use CRT allocation functions. 2023-11-16 14:02:16 +01:00
Hans Leidekker
0f5fab24fc fusion: Bump version to 4.6.1590.0. 2023-11-16 13:43:58 +01:00
Zebediah Figura
fbd53c3a3f wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
The Vulkan specification does not currently mandate this. However, an
(unfortunately internal) Khronos discussion determined that this is an
oversight, and that many drivers likely expect that no counter buffer will be
bound if no XFB buffer is bound. Accordingly the specification will probably
mandate this in the future.

lavapipe is such a driver. This fixes a crash with llvmpipe in
test_index_buffer_offset().
2023-11-16 13:43:49 +01:00
Zebediah Figura
ce59348c8f wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers(). 2023-11-16 13:43:49 +01:00
Zebediah Figura
e49c19ebb5 d3d8: Pass NOOVERWRITE to redundantly discarded maps.
If DISCARD maps are accelerated, passing empty map flags won't return the same accelerated BO.

Tested with Port Royale 2 and Rayman 3.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55770
2023-11-16 13:43:47 +01:00
Paul Gofman
00e1eaffd2 winepulse.drv: Change device description. 2023-11-16 13:43:40 +01:00
Paul Gofman
b46eafe3d2 combase: Ensure MTA existence in RoGetActivationFactory(). 2023-11-16 13:43:30 +01:00
Paul Gofman
2f1b288a3f combase/tests: Add tests for implicit MTA with RoGetActivationFactory(). 2023-11-16 13:43:30 +01:00
Jactry Zeng
49547f8bb9 msvcp140: Add codecvt<char32> class stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47609
2023-11-16 10:08:02 +01:00
Anton Baskanov
b0ad8b8cfb dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
Fixes incorrect EG key number scale and offset that caused missing
lower notes of some instruments (e.g. Acoustic Grand Piano).
2023-11-15 23:03:52 +01:00
Anton Baskanov
02853687c2 dmsynth: Fall back to the Standard drum set when there is no matching instrument or region. 2023-11-15 23:03:52 +01:00
Anton Baskanov
f58bdd865d dmsynth: Factor out instrument and region search. 2023-11-15 23:03:52 +01:00
Anton Baskanov
3fd64a726a dmsynth: Get rid of instrument reference counting. 2023-11-15 23:03:52 +01:00
Anton Baskanov
24c00250c4 dmsynth: Move instrument search to synth_preset_noteon().
This allows loaded instruments to take effect without a subsequent
program change. In particular, when there is no program change at all,
this allows the default Acoustic Grand Piano or Standard drum set to
play. As a side effect, this disables FluidSynth fallback logic for
missing presets.
2023-11-15 23:03:52 +01:00
Jacek Caban
dc4bad6d85 include: Don't use dllexport attribute for Wine PE modules. 2023-11-15 23:03:52 +01:00
Rémi Bernon
bbdec47b96 winebus.sys: Fix incorrect hid_device_set index check.
Instead of checking it in set_report_from_joystick_event.
2023-11-15 23:03:52 +01:00
Michael Stefaniuc
f79d4343a9 sane.ds: Use ARRAY_SIZE instead of open coding it. 2023-11-15 23:03:52 +01:00
Michael Stefaniuc
1a8ef0c4db gdiplus: Remove redundant NULL check before free(). 2023-11-15 23:03:51 +01:00
Dmitry Timoshkov
cb80a25021 user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-15 23:03:51 +01:00
Dmitry Timoshkov
f4fd21e3fe user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-15 23:03:51 +01:00
Paweł Ulita
09edd13919 user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
This prevents Native Instruments Kontakt 7 from crashing on start-up.
2023-11-15 23:03:51 +01:00
Hans Leidekker
c090bdbe0a wldp: Improve the WldpGetLockdownPolicy() stub. 2023-11-15 23:03:51 +01:00
Alexandre Julliard
59485f00c9 ntdll: Remove DECLSPEC_HIDDEN usage. 2023-11-15 22:56:37 +01:00
Alexandre Julliard
4060165367 ntdll: Redirect PE function pointers through the ARM64EC redirection map. 2023-11-15 22:56:37 +01:00
Alexandre Julliard
56409f2c79 ntdll: Implement __os_arm64x_get/set_x64_information(). 2023-11-15 22:56:37 +01:00
Alexandre Julliard
36036b9b60 ntdll: Implement __os_arm64x_check_call(). 2023-11-15 14:19:38 +01:00
Alexandre Julliard
e4c9ec075b ntdll: Set function pointers in the ARM64EC metadata on dll load. 2023-11-15 13:35:34 +01:00
Alexandre Julliard
6eff423a8f makefiles: Use --defines instead of --header for compatibility with older bison.
Spotted by Rémi Bernon.
2023-11-15 10:42:40 +01:00
Nikolay Sivov
ddf3b418ed d3dx9/effect: Rename effect initialization helper. 2023-11-15 10:40:53 +01:00
Daniel Lehman
137638e185 msxml3/tests: Test for specific HRESULT in some tests. 2023-11-14 22:25:02 +01:00
Daniel Lehman
70fd689924 msxml3/tests: Add tests for get_xml. 2023-11-14 22:25:01 +01:00
Daniel Lehman
320f92759b msxml3/tests: Remove unused test field. 2023-11-14 22:25:01 +01:00
Alexandros Frantzis
e0591fafae winewayland.drv: Ignore spurious size hints.
Due to the asynchronous nature of Wayland events, and the design of the
xdg_toplevel protocol, an xdg configure event may be a reaction to a
request in the application's configuration past, and the size hint may
be out of date. For example:

1. The client commits a 100x100 buffer to a surface.
2.1 The compositor sends xdg configure(100x100, state=activated).
2.2 In the meantime, the client resizes and commits a 50x50 buffer.
3. The client receives the event from (2.1). If we respect the
   size hint, we will resize back to 100x100, although this was
   neither the client's nor the compositor's intention.

To mitigate this we ignore size hints for states that do not
require strict size adherence.
2023-11-14 22:25:01 +01:00
Alexandros Frantzis
9ddd0a5cb6 winewayland.drv: Present cursors with the correct scale.
Take into account the window scale factor and use wp_viewport to
instruct the compositor to present cursors with that scale.
2023-11-14 22:25:01 +01:00
Alexandros Frantzis
80f3e7ecc0 winewayland.drv: Refactor cursor code to prepare for scaling support. 2023-11-14 22:25:01 +01:00
Alexandros Frantzis
66ad0d0a45 winewayland.drv: Present surfaces with the correct scale.
Take into account the window scale factor and use wp_viewport to
instruct the compositor to present surfaces at that scale.
2023-11-14 22:25:01 +01:00
Alexandros Frantzis
13578d6045 winewayland.drv: Prepare to handle different coordinate spaces.
Introduce and use functions to convert between the window logical and
Wayland surface coordinate spaces. At the moment the two are the same
but this will change with the introduction of scaling support.
2023-11-14 22:25:01 +01:00
Rémi Bernon
79bb13332f windows.gaming.input: Fix inverted start / select gamepad buttons. 2023-11-14 22:25:01 +01:00
Rémi Bernon
7d74938b0c winebus.sys: Ignore events on unsupported axes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55660
2023-11-14 22:25:01 +01:00
Alexandros Frantzis
07d3846d37 win32u: Respect per-monitor thread dpi awareness when getting window from point. 2023-11-14 22:25:01 +01:00
Alexandros Frantzis
a75e2b49ca win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
Assume that the window rect passed NtUserIsWindowRectFullScreen is
expressed in terms of thread dpi and convert monitor rects accordingly
for proper matching.
2023-11-14 22:25:01 +01:00
Alexandre Julliard
d3722971ef ntdll: Export __chkstk_arm64ec(). 2023-11-14 22:25:01 +01:00
Alexandre Julliard
220a70bee2 ntdll: Don't use x86-64 assembly on ARM64EC. 2023-11-14 22:25:01 +01:00
Alexandre Julliard
cbaa3d0804 ntdll: Add a stub ARM64EC CPU backend. 2023-11-14 22:25:01 +01:00
Alexandre Julliard
dd77c32fc6 winecrt0: Implement setjmp/longjmp for ARM64EC. 2023-11-14 22:23:44 +01:00
Jacek Caban
7c8794312a winecrt0: Initial ARM64EC support. 2023-11-14 13:12:36 +01:00
Alexandre Julliard
440771ed41 makefiles: Remove support for obsolete source variables. 2023-11-14 13:07:24 +01:00
Alexandre Julliard
aea0d88ae5 makefiles: Avoid generating the .tab.c file twice with bison. 2023-11-14 13:04:36 +01:00
Alistair Leslie-Hughes
9b26ea16a3 rpcrt4: Remove DECLSPEC_HIDDEN usage. 2023-11-14 11:45:39 +01:00
Rémi Bernon
f58946e3ba winewayland.drv: Basic handling of Wayland keyboard events.
Handle Wayland keyboard events and translate them to Windows events,
currently using a hardcoded US key mapping.
2023-11-14 11:39:38 +01:00
Rémi Bernon
677868a0c7 gitlab: Install libxkbcommon and libxkbregistry dependencies. 2023-11-14 11:36:56 +01:00
Michael Stefaniuc
055e632216 dmusic: Remove superfluous casts to self. 2023-11-14 11:31:27 +01:00
Michael Stefaniuc
ad1ba07880 dmsynth: Remove superfluous casts to self. 2023-11-14 11:31:27 +01:00
Michael Stefaniuc
b3382916c6 dmime: Remove superfluous casts to self. 2023-11-14 11:31:27 +01:00
Michael Stefaniuc
e283883057 dmime/tests: Remove superfluous casts to self. 2023-11-14 11:31:27 +01:00
Michael Stefaniuc
c3ef2e6efb dmime: Remove redundant NULL check before free(). 2023-11-14 11:31:27 +01:00
Brendan Shanks
c6b2bccfe7 ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS. 2023-11-14 11:30:45 +01:00
Alex Henrie
1817d4cc12 winmm/tests: Use calloc instead of HeapAlloc.
Fixes: bb6bcaf83e
2023-11-14 11:29:50 +01:00
Alex Henrie
2fcbfc4ca6 gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
This partially reverts commit 0b7eed0310.
2023-11-14 11:29:29 +01:00
Rémi Bernon
99aa613f26 dmime: Implement segment state repeat and looping. 2023-11-13 22:37:51 +01:00
Rémi Bernon
eada40789d dmime: Split segment_state_play_chunk helper. 2023-11-13 22:37:51 +01:00
Rémi Bernon
8f3980fc85 dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET. 2023-11-13 22:37:51 +01:00
Rémi Bernon
051418c0c0 dmime: Send MIDI_SYSTEM_RESET message on performance reset. 2023-11-13 22:37:51 +01:00
Rémi Bernon
2414bb4004 dmime: Clear all pending messages in IDirectMusicPerformance_Stop. 2023-11-13 22:37:51 +01:00
Rémi Bernon
fe171ec86b dmime/tests: Test that IDirectMusicPerformance_Stop clears messages. 2023-11-13 22:37:51 +01:00
Rémi Bernon
ddd877d1c7 dmime/tests: Avoid discarding old notifications in test. 2023-11-13 22:37:51 +01:00
Alistair Leslie-Hughes
7e1989b963 msdasql: GetAvailableColumns correct assignment of DBCOLUMN data. 2023-11-13 21:55:34 +01:00
Alistair Leslie-Hughes
9ff572b789 include: Add DBPROPVAL_MR_* defines. 2023-11-13 21:55:32 +01:00
Alexandre Julliard
b3895f5519 winebuild: Include x86-64 entry points in ARM64EC builds. 2023-11-13 11:36:34 +01:00
Alexandre Julliard
955664c80f winebuild: Add a helper to build an ARM64EC function name. 2023-11-13 11:36:34 +01:00
Jacek Caban
7b216b69c7 winebuild: Use COMDAT sections for ARM64EC functions. 2023-11-13 11:36:12 +01:00
Jacek Caban
a0a2ef5a2b tools: Initial ARM64EC target support. 2023-11-13 11:36:12 +01:00
Jacek Caban
5004e6bce7 configure: Add arm64ec PE target support. 2023-11-13 11:26:19 +01:00
Alistair Leslie-Hughes
dd009533b1 dbghelp: Remove DECLSPEC_HIDDEN usage. 2023-11-13 11:04:45 +01:00
Matteo Bruni
6153ced0f9 opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
glGetStringi() is not available before 3.0. We can't trust its
function pointer being NULL since the GL implementation is allowed to
return anything in this case (*cough* macOS's GL on Metal *cough*).

This probably regressed when fd92954df8
removed the "if (!disabled[0]) return FALSE;" exit from
filter_extensions(), although that simply exposed an existing issue.
2023-11-13 11:03:04 +01:00
Alex Henrie
88e66d0785 user32/tests: Allocate clipboard data with HeapAlloc.
This partially reverts commit faae2162b8.
2023-11-13 11:02:08 +01:00
Alexandre Julliard
3a8d71041c Release 8.20. 2023-11-10 21:54:48 +01:00
Rémi Bernon
9fb8469bbe dmime: Avoid leaking performance channel block ports. 2023-11-10 20:54:41 +01:00
Rémi Bernon
467f3a2adb dmime: Simplify and rename channel_block_set to channel_block_init. 2023-11-10 20:54:41 +01:00
Rémi Bernon
0e73870ecd dmime: Introduce a new performance_get_channel helper. 2023-11-10 20:54:41 +01:00
Rémi Bernon
79a98eb7b9 dmime: Use a dedicated struct channel to hold performance channels. 2023-11-10 20:54:41 +01:00
Rémi Bernon
53035c6977 dmime: Rename struct pchannel_block to struct channel_block. 2023-11-10 20:54:40 +01:00
Eric Pouech
99dd763e18 winebrowser: Remove misleading comment.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
21222ad7cd mshta: No longer use console / crt API.
As regular GUI apps should.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
3c878a5572 wordpad: Remove unneeded output messages.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
1390425cfc taskmgr: No longer use console/file output APIs.
Regular GUI apps don't.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Gabriel Ivăncescu
1b3c6c39c7 mshtml: Don't NULL out the doc's window when unlinking the window.
This would cause a leak since we have a cyclic ref now.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-10 20:52:29 +01:00
Gabriel Ivăncescu
96d611cb87 mshtml: Return outer window to external callers.
UIEvent.view is still todo_wine because it returns NULL for some reason,
but it is clear from the existing tests that it must match the outer window.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
988884a4f1 msvcrt: Fix getmainargs() family to return correct environment block.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
bba9e5aea1 msvcrt: Use msvcrt heap for allocating envionment data.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
740e5ac781 msvcrt/tests: Test adding Unicode env variables.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
a5d7cc47ed msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
8b50afed27 msvcrt/tests: Add tests about allocation of environment entries.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Eric Pouech
b6d4be61eb msvcrt/tests: Improve environment tests (initial conditions).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-10 20:52:29 +01:00
Zebediah Figura
d2992dba93 wined3d: Do not use atomics to update the resource bind count.
It is only accessed from the CS thread now.
2023-11-10 20:52:29 +01:00
Zebediah Figura
b186455cfa wined3d: Remove the no longer used "sampler" field of struct wined3d_texture. 2023-11-10 20:52:29 +01:00
Zebediah Figura
17542e9f52 wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload(). 2023-11-10 20:52:28 +01:00
Zebediah Figura
fecb3b608b wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps(). 2023-11-10 20:52:28 +01:00
Zebediah Figura
1e968480eb wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
Make a complex conditional a bit easier to read.
2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
707198babe msvcrt: Add _mblen_l implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
8bb0692ff6 msvcrt: Add _mbsset_l implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
08c603a417 msvcrt: Add _mbsrev_l implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
f73d74c6df msvcrt: Add _mbsncmp_l implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
8f30305049 msvcrt: Add __iswcsymf implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
f82871e768 msvcrt: Add __iswcsym implementation. 2023-11-10 20:52:28 +01:00
Bartosz Kosiorek
ec4a5f63e1 msvcrt: Add _mbspbrk_l implementation. 2023-11-10 20:52:28 +01:00
Alexandre Julliard
0b63da6aab winevulkan: Remove DECLSPEC_HIDDEN usage. 2023-11-10 20:52:28 +01:00
Alexandre Julliard
6ecd967d48 opengl32: Remove DECLSPEC_HIDDEN usage. 2023-11-10 20:52:28 +01:00
Alexandre Julliard
da2ae5832c configure: Consistently use HOST_ARCH for platform checks. 2023-11-10 20:52:28 +01:00
Alexandre Julliard
c33f350623 configure: Assume that pthread.h is present.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2023-11-10 20:52:28 +01:00
Alexandre Julliard
3e49808094 configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro. 2023-11-10 13:20:59 +01:00
Alexandre Julliard
a426b6b4a9 widl: Make the alignment option generic instead of win32/win64-specific.
Support both --align and --packing for compatibility with midl.
2023-11-10 11:06:38 +01:00
Alexandre Julliard
f8dde10ffd makefiles: Support arch-specific IDL flags. 2023-11-10 11:06:26 +01:00
Alex Henrie
5847aab99e nsi: Use CRT allocation functions. 2023-11-10 11:00:20 +01:00
Alistair Leslie-Hughes
01d7780a0f winhttp: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alistair Leslie-Hughes
91e8108345 msi: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alistair Leslie-Hughes
db50069167 wmiutils: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alistair Leslie-Hughes
beb3021719 uxtheme: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alistair Leslie-Hughes
60ee3e2cff msacm32: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alistair Leslie-Hughes
6fd308cd98 comdlg32: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Anton Baskanov
dbda5b52d3 dmsynth: Don't leak modulators. 2023-11-10 00:03:44 +01:00
Anton Baskanov
157ffca64d dmsynth: Free the allocated presets manually.
FluidSynth never calls synth_preset_free(), causing preset and
instrument leaks.
2023-11-10 00:03:44 +01:00
Anton Baskanov
ed7564304d dmsynth: Remove useless private data checks.
We always set the data.
2023-11-10 00:03:44 +01:00
Anton Baskanov
6de4ec0cae dmsynth: Create one FluidSynth sample per wave. 2023-11-10 00:03:44 +01:00
Anton Baskanov
840923eed6 dmsynth: Use generators to set root key and fine tune. 2023-11-10 00:03:44 +01:00
Anton Baskanov
a303bb395f dmsynth: Keep track of voice/wave mapping. 2023-11-10 00:03:44 +01:00
Floris Renaud
ad6e87c63f po: Update Dutch translation. 2023-11-10 00:03:44 +01:00
Yuxuan Shui
d1e02148b6 ntdll: Tweak the binary representation of SRWLOCK.
There are applications that uses SRWLOCK in an invalid way and then checks its binary
representation. Tweak our representation a bit so they are happy.
2023-11-10 00:03:44 +01:00
Yuxuan Shui
74a3b133fa include: Add InterlockedExchangeAdd16. 2023-11-10 00:03:44 +01:00
Connor McAdams
3e84b49305 oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
This prevents an ITypeLib2 interface being returned from the typelib
cache that is in the middle of being destroyed.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-11-10 00:03:44 +01:00
Zhiyi Zhang
eb8eccbed4 uxtheme: Fix a test failure.
pszAppName should not be changed as it's used in the loop to check if window application name is set.
2023-11-09 23:00:40 +01:00
Jacek Caban
38d1002cec msvcp60: Use char type for FROZEN macro.
Fixes clang warning:
string.c:370:25: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
2023-11-09 23:00:40 +01:00
Jacek Caban
2e02cee9c4 msvcrt/tests: Don't define structs types inside other struct declaration.
Fixes -Wincompatible-pointer-types clang warnings.
2023-11-09 23:00:40 +01:00
Jacek Caban
f7cf428f9f kernel32/tests: Remove unused variable. 2023-11-09 23:00:40 +01:00
Rémi Bernon
18a81b3cb2 dmime: Better implement performance times with tempo track. 2023-11-09 23:00:40 +01:00
Rémi Bernon
29940435fa dmime: Support playing secondary and control segments. 2023-11-09 23:00:40 +01:00
Rémi Bernon
8f9faf8868 dmime/tests: Test playing tempo track effect on performance times. 2023-11-09 23:00:40 +01:00
Rémi Bernon
c6eca9276b dmime/tests: Add helpers to scale and check music time with tempo.
Be flexible on the comparison to ignore rounding errors.
2023-11-09 23:00:40 +01:00
Rémi Bernon
2d1f46c221 dmime: Fix tempo track GetParam with GUID_TempoParam implementation. 2023-11-09 23:00:40 +01:00
Rémi Bernon
92959b315b dmime/tests: Test tempo track GetParam with GUID_TempoParam. 2023-11-09 23:00:40 +01:00
Rémi Bernon
7a9e45ac13 dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages. 2023-11-09 23:00:40 +01:00
Rémi Bernon
f13fa16f01 dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub. 2023-11-09 23:00:40 +01:00
Rémi Bernon
617d7fc9b8 dmime/tests: Test IDirectMusicPerformance_GetSegmentState. 2023-11-09 23:00:40 +01:00
Paul Gofman
d963626044 winmm: Fix pszSound allocation in PlaySound_Alloc(). 2023-11-09 23:00:40 +01:00
Alexandre Julliard
c07d50c3b9 winevdm: Don't claim that 16-bit apps are DPI aware. 2023-11-09 23:00:40 +01:00
Alexandre Julliard
7710e37c47 win32u: Fix handling of process default DPI awareness.
It got broken by the conversion to NTUSER_DPI* values.
2023-11-09 23:00:40 +01:00
Alexandre Julliard
00fb82c315 rpcrt4: Generate vtbl delegating thunks at compile time. 2023-11-09 23:00:40 +01:00
Alexandre Julliard
439ce3a3ae rpcrt4: Generate stubless thunks at compile time. 2023-11-09 23:00:40 +01:00
Alexandre Julliard
533823ed2a winealsa.drv: Allocate the MIDI device array dynamically. 2023-11-09 23:00:39 +01:00
Alexandre Julliard
818385e176 wineoss.drv: Allocate the MIDI device array dynamically. 2023-11-09 22:59:40 +01:00
Alex Henrie
5a81b6ac43 dsound: Dynamically allocate the global device GUID arrays.
This removes the arbitrary limit on the number of renderers and
capturers while satisfying applications that expect the GUIDs to remain
valid after DirectSoundCaptureEnumerate returns.
2023-11-09 14:38:32 +01:00
Alex Henrie
73654470ab Revert "dsound: Get rid of the global device GUID arrays.".
This reverts commit e1f0318ec4.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55608
2023-11-09 14:38:32 +01:00
Paul Gofman
ed7aca011c kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW(). 2023-11-09 14:38:32 +01:00
Paul Gofman
d93e289977 kernelbase: Return empty string from LoadStringW() if resource is not found. 2023-11-09 14:38:32 +01:00
Paul Gofman
ad9303d888 user32: Put 0 to output string even for 1 char buffer in LoadStringW(). 2023-11-09 14:38:32 +01:00
Paul Gofman
726027d601 user32: Return empty string from LoadStringW() if resource is not found. 2023-11-09 14:38:32 +01:00
Zebediah Figura
a328728702 wined3d: Record a dirty rect in wined3d_texture_create_dc(). 2023-11-09 11:21:18 +01:00
Zebediah Figura
8fa82bd1f8 d3d9/tests: Test that GetDC() records a dirty rect. 2023-11-09 11:21:18 +01:00
Zebediah Figura
ee209a93cb mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
Break its reference count cycle so that we don't leak it.
2023-11-09 09:48:09 +01:00
Alex Henrie
dfa0c9d28d wmvcore: Use CRT allocation functions. 2023-11-08 22:25:08 +01:00
Alex Henrie
726c5df58f devenum: Use CRT allocation functions. 2023-11-08 22:25:03 +01:00
Ziqing Hui
d0153cf37f winegstreamer: Implement wg_muxer_push_sample. 2023-11-08 22:24:56 +01:00
Ziqing Hui
37b2548399 winegstreamer: Implement ProcessSample for media sink. 2023-11-08 22:24:56 +01:00
Dmitry Timoshkov
dfffe7b49c uxtheme: If the application class is already set then OpenThemeData() should fail.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
87f1a38019 uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
992d197d87 uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
9d8250e55e uxtheme: Parse app/class name in OpenThemeData().
Themed Delphi applications use "explorer::listview" and "explorer::treeview":
https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/lcl/interfaces/win32/win32themes.pas

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
e4ede41c5f uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
b238f0afe6 uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
Also fix some hTheme handle leaks.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:25:41 +01:00
Shaun Ren
ea50958171 msttsengine: Add ISpTTSEngine stub. 2023-11-08 17:25:41 +01:00
Shaun Ren
ad8f354f62 msttsengine: Add stub dll. 2023-11-08 17:25:41 +01:00
Brendan Shanks
a5f17fac3e ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS. 2023-11-08 17:25:41 +01:00
Dmitry Timoshkov
909204005b ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:24:16 +01:00
Dmitry Timoshkov
e8ce99792e kernel32: Add ACTCTX field limit checks to CreateActCtxA().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:24:16 +01:00
Dmitry Timoshkov
54479863ce kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-11-08 17:24:16 +01:00
Alistair Leslie-Hughes
2690984822 msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row. 2023-11-08 17:24:16 +01:00
Eric Pouech
40251bff42 wininet: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-08 17:24:16 +01:00
Eric Pouech
8c259abbe5 wsdapi: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-08 14:29:14 +01:00
Eric Pouech
fce67d1ec2 wintrust: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-08 14:29:04 +01:00
Eric Pouech
c20a0dc6a4 winscard: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-08 14:28:57 +01:00
Alexandre Julliard
4502eb56ba configure: Use hidden visibility also when building Unix libraries. 2023-11-08 10:27:21 +01:00
Alexandre Julliard
c7a2aaf234 widl: Remove DECLSPEC_HIDDEN from generated files. 2023-11-08 10:11:17 +01:00
Alexandre Julliard
19cc2439ed include: Remove DECLSPEC_HIDDEN from GUID definitions. 2023-11-08 10:10:50 +01:00
Alexandre Julliard
30ce97dd20 include: Remove DECLSPEC_HIDDEN from RPC functions. 2023-11-08 10:09:47 +01:00
Alexandre Julliard
d597d04924 include: Remove DECLSPEC_HIDDEN from winecrt0 functions. 2023-11-08 10:09:22 +01:00
Alexandre Julliard
a02ff4b5d3 include: Remove DECLSPEC_HIDDEN from standard Dll* functions. 2023-11-08 10:08:39 +01:00
Alistair Leslie-Hughes
d4223b255c mpr: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:06:01 +01:00
Alistair Leslie-Hughes
2aa688326d ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:58 +01:00
Alistair Leslie-Hughes
d8f37d0a04 rsaenh: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:58 +01:00
Alistair Leslie-Hughes
ee211f34c6 itss: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:58 +01:00
Alistair Leslie-Hughes
fc99a18a88 uiribbon: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
00300d73c0 mstask: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
d8ce4f61b1 advpack: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
580fb24708 sti: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
b279a4f63e hnetcfg: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
e9ff53e098 propsys: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
f818ac4a8c gameux: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
354b11cd9d uiautomationcore: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
de3ac6a5e7 wintrust: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
6c4844292f browseui: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
dee38488eb sechost: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
83da83ef98 msimtf: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Alistair Leslie-Hughes
ef51f7b402 hlink: Remove DECLSPEC_HIDDEN usage. 2023-11-08 10:05:57 +01:00
Zebediah Figura
d7d782b112 gitlab: Enable d3d10core:d3d10core and d3d8:visual.
These pass on llvmpipe now.
2023-11-08 10:04:57 +01:00
Rémi Bernon
442db8a131 dmime: Send notification messages from segment_play_chunk. 2023-11-07 23:00:10 +01:00
Rémi Bernon
5604397135 dmime: Implement segment state chunked playback. 2023-11-07 23:00:10 +01:00
Rémi Bernon
63661495b4 dmime: Support start_time and end_time Play parameters. 2023-11-07 23:00:09 +01:00
Rémi Bernon
1cf8f92a18 dmband: Support start_time and end_time Play parameters. 2023-11-07 23:00:09 +01:00
Rémi Bernon
0b98e472b4 dmime: Fix performance message requeue-ing from the message thread. 2023-11-07 23:00:09 +01:00
Alexandre Julliard
540219df96 ddraw: Use SecureZeroMemory to clear the clipper vtbl. 2023-11-07 22:58:40 +01:00
Eric Pouech
7562292cea user32: Use SecureZeroMemory to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-07 22:05:35 +01:00
Eric Pouech
0e967a5cec secur32: Use SecureZeroMemory to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-07 22:05:35 +01:00
Eric Pouech
2367415d32 dssenh: Use SecureZeroMemory to clear magic fields.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-07 22:05:35 +01:00
Eric Pouech
68edddc98b pdh: Zero out magic fields with SecureZeroMemory().
gcc tends to optimize away the magic field cleanup, leading to
believe the query is still allocated.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-07 22:05:35 +01:00
Zebediah Figura
b3e0271b57 wined3d/glsl: Flush NaN to zero in ftoi.
Ported from 257a351f37b7f17d2e80b5557593a9b0a4998963 in vkd3d.
2023-11-07 22:05:35 +01:00
Zebediah Figura
f30418e861 wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
Ported from a5b6162d258faa42a03e53af9fb513473b4255a3 in vkd3d.
2023-11-07 22:05:35 +01:00
Zebediah Figura
319b93fc75 wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
Ported from 9dee15da5bae0a3cda898f0377b6f1f49abb8a05 in vkd3d.
2023-11-07 22:05:35 +01:00
Zebediah Figura
c0068b3316 wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
Ported from cc893a3368bd8a8a3f638ddde7b97d3819a6b43d in vkd3d.
2023-11-07 22:05:35 +01:00
Zebediah Figura
9921a2361b wined3d/glsl: Clamp ftou lower bound to zero.
Ported from 491146fa94c608c241c06114b17a3b4d8b9cea65 in vkd3d.
2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
b0c31c0983 msvcrt: Add _mbsnset_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
fa2248ccf9 msvcrt: Add _mbsnccnt_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
a67a08895f msvcrt: Add _mbsncat_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
12a00363f6 msvcrt: Add _mbsnbset_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
62ba4a8261 msvcrt: Add _mbsnbicmp_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
bf9ac906e5 msvcrt: Add _mbsnbcpy_l implementation. 2023-11-07 22:05:35 +01:00
Bartosz Kosiorek
a6ed3d554e msvcrt: Add _mbsnbcat_s_l implementation. 2023-11-07 22:05:35 +01:00
Alex Henrie
9365e6f682 ddrawex: Use CRT allocation functions. 2023-11-07 22:05:35 +01:00
Alex Henrie
38d6ffdbe9 urlmon/tests: Use CRT allocation functions. 2023-11-07 20:55:26 +01:00
Alex Henrie
fdbd8cf007 shdocvw: Use CRT allocation functions. 2023-11-07 20:55:26 +01:00
Zebediah Figura
0e39cd65cb wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock(). 2023-11-07 20:55:09 +01:00
Elizabeth Figura
be13e91cfe d3d8: Store the texture's parent device as a d3d8_device pointer. 2023-11-07 20:55:09 +01:00
Zebediah Figura
9b48143c98 wined3d: Pass shader type and unmodified index to context_preload_texture(). 2023-11-07 20:55:09 +01:00
Zebediah Figura
980711a842 wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states(). 2023-11-07 20:55:09 +01:00
Zebediah Figura
bf9c544e32 wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states(). 2023-11-07 20:55:09 +01:00
Paul Gofman
f1db89768a kernelbase: Don't inherit all the handles in conhost.exe. 2023-11-07 20:55:08 +01:00
Aurimas Fišeras
66dfe504d0 po: Update Lithuanian translation. 2023-11-07 20:55:08 +01:00
Alexandre Julliard
9da663b480 include: Use proper dllimports for more wininet functions. 2023-11-07 11:11:41 +01:00
Alexandre Julliard
b06a1ec196 include: Use proper dllimports for olectl functions. 2023-11-07 11:11:41 +01:00
Alexandre Julliard
333ced9869 include: Use proper dllimports for wmi functions. 2023-11-07 11:11:41 +01:00
Alexandre Julliard
32cdd5d487 include: Use proper dllimports for slc functions. 2023-11-07 11:11:40 +01:00
Alexandre Julliard
e7f44130eb include: Use proper dllimports for winscard functions. 2023-11-07 11:11:40 +01:00
Alexandre Julliard
9a7e038256 include: Use proper dllimports for credui functions. 2023-11-07 11:11:40 +01:00
Alexandre Julliard
b82428b3ae include: Use proper dllimports for userenv functions. 2023-11-07 11:11:40 +01:00
Zebediah Figura
15aca90537 d3d11/tests: Use slightly different values in test_sample_c_lz().
For some arcane reason the native AMD driver on Windows seems to fail to clear (or read from?) layer 0. Work around that by using 0.0 there.
2023-11-07 11:05:43 +01:00
Zebediah Figura
37845b0e41 d3d10core/tests: Use slightly different values in test_sample_c_lz().
For some arcane reason the native AMD driver on Windows seems to fail to clear (or read from?) layer 0. Work around that by using 0.0 there.
2023-11-07 11:05:41 +01:00
Zebediah Figura
1240b27543 d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query(). 2023-11-07 11:05:41 +01:00
Zebediah Figura
10334ab457 d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query(). 2023-11-07 11:05:41 +01:00
Zebediah Figura
8141f89374 d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
This does not work reliably on Windows. The application in question uses a managed texture.
2023-11-07 11:05:39 +01:00
Zebediah Figura
4e1da07b27 d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
This does not work reliably on Windows. The application in question uses a managed texture.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53743
2023-11-07 11:05:37 +01:00
Zebediah Figura
78cbd9a497 d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54399
2023-11-07 11:05:36 +01:00
Christian Costa
1ae183a35a wined3d: Add entry info for NVidia RTX 3070. 2023-11-07 11:04:27 +01:00
Jacek Caban
82d3fd0ac5 ddraw: Use designated initializers in tss_lookup. 2023-11-07 11:04:20 +01:00
Jacek Caban
ee0431dfbd d3d8: Use designated initializers in tss_lookup. 2023-11-07 11:04:20 +01:00
Jacek Caban
6119d1d3fa d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION. 2023-11-07 11:04:20 +01:00
Jacek Caban
6555245279 d3d11: Explicitly convert enums in d3d_depthstencil_state_create. 2023-11-07 11:04:20 +01:00
Alex Henrie
9c4bcd0d51 winecoreaudio: Remove unused heap.h include. 2023-11-07 11:03:32 +01:00
Alex Henrie
4d60874061 windows.media.devices: Use CRT allocation functions. 2023-11-07 11:03:23 +01:00
Alex Henrie
0f44b3bdcb msiexec: Use CRT allocation functions. 2023-11-07 11:03:13 +01:00
Rémi Bernon
b1bd72343e dmime/tests: Check more notification / dirty messages fields. 2023-11-06 21:37:54 +01:00
Rémi Bernon
a66b6f96b6 dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND. 2023-11-06 21:37:54 +01:00
Rémi Bernon
60538c57cd dmime: Use the current time if PlaySegmentEx start_time is 0. 2023-11-06 21:37:54 +01:00
Rémi Bernon
a429a3fb4b dmime/tests: Add a track and longer segment to notifications tests. 2023-11-06 21:37:54 +01:00
Rémi Bernon
87dba38469 dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
Then send them again with DMUS_PMSGF_TOOL_ATTIME for the notification
queue.
2023-11-06 21:37:49 +01:00
Paul Gofman
ae010a1a95 ntdll: Fix pending free block validation in heap_validate() for LFH blocks. 2023-11-06 21:35:28 +01:00
Paul Gofman
1063cf8196 ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55842
2023-11-06 21:35:28 +01:00
Alex Henrie
7129484745 winegstreamer: Remove unused heap.h include. 2023-11-06 18:04:19 +01:00
Alex Henrie
f51dba6b4a winecfg: Mention protocol associations. 2023-11-06 17:58:30 +01:00
Alex Henrie
c4f4fb7f44 winemenubuilder: Create .desktop files for programs that open URIs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22904
2023-11-06 17:49:56 +01:00
Eric Pouech
e17b7d5565 services: Move to GUI subsystem (as native).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-06 17:03:30 +01:00
Eric Pouech
4e5d1ab6b2 svchost: Move to GUI subsystem (as native).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-06 17:03:28 +01:00
Eric Pouech
910133ac3d spoolsv: Move to GUI subsystem (as native).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-06 17:03:26 +01:00
Eric Pouech
99c3827952 dpnsvr: Move to GUI subsystem (as native).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-06 17:03:23 +01:00
Bartosz Kosiorek
2af3f3204d msvcrt: Fix _strnicmp and _strnicmp_l implementation. 2023-11-06 16:58:59 +01:00
Bartosz Kosiorek
49d3236da9 msvcrt: Add _mbsnicmp_l implementation. 2023-11-06 16:58:53 +01:00
Bartosz Kosiorek
5098bab5bd msvcrt: Add _mbsncpy_l implementation. 2023-11-06 16:58:48 +01:00
Bartosz Kosiorek
2a89257b2a msvcrt: Add _mbsnbcnt_l implementation. 2023-11-06 16:58:42 +01:00
Bartosz Kosiorek
544007be15 msvcrt: Add _mbsnbcmp_l implementation. 2023-11-06 16:58:36 +01:00
Bartosz Kosiorek
5556eba0e3 msvcrt: Add _mbsupr_l implementation. 2023-11-06 16:58:31 +01:00
Bartosz Kosiorek
2b7dcfb44d msvcrt: Fix _mbslwr_s_l implementation. 2023-11-06 16:58:29 +01:00
Bartosz Kosiorek
c59a856cc0 msvcrt: Add _mbsbtype_l implementation. 2023-11-06 16:58:23 +01:00
Daniel Lehman
4e2d8b1328 msxml6/tests: Add tests for get_xml. 2023-11-06 16:57:49 +01:00
Daniel Lehman
df7197874e msxml6/tests: Use wide string literals. 2023-11-06 16:57:49 +01:00
Brendan Shanks
cd763004a6 ntdll/unix: Replace some malloc/sprintf calls with asprintf. 2023-11-06 14:54:52 +01:00
Alexandre Julliard
f0b2e0d00c include: Use proper dllimports for propsys functions. 2023-11-06 12:02:35 +01:00
Alexandre Julliard
526b3cd436 include: Use proper dllimports for pathcch functions. 2023-11-06 12:02:19 +01:00
Alexandre Julliard
a74b1f0043 include: Use proper dllimports for winmm functions. 2023-11-06 12:02:11 +01:00
Alexandre Julliard
5bd771d5dc include: Use proper dllimports for mimeole functions. 2023-11-06 12:01:56 +01:00
Alexandre Julliard
a36d747bfd include: Use proper dllimports for url functions. 2023-11-06 12:01:45 +01:00
Alexandre Julliard
18a1d3538c include: Use proper dllimports for httpapi functions. 2023-11-06 12:01:33 +01:00
Alexandre Julliard
9db1bbf251 include: Use proper dllimports for eventlog functions. 2023-11-06 12:01:22 +01:00
Alexandre Julliard
175887749f include: Use proper dllimports for cryptdlg functions. 2023-11-06 12:01:08 +01:00
Ziqing Hui
7cee5e5580 winegstreamer: Implement wg_muxer_start. 2023-11-06 11:55:56 +01:00
Ziqing Hui
29a8faf19f winegstreamer: Create parser for muxer stream. 2023-11-06 11:55:56 +01:00
Fabian Maurer
8e56d0feb5 msvcrt: Fsetpos resets EOF flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55856
2023-11-06 11:55:44 +01:00
Alex Henrie
c9ff04c35c vulkan-1/tests: Use CRT allocation functions. 2023-11-06 11:53:02 +01:00
Alex Henrie
26ad812286 virtdisk/tests: Use CRT allocation functions. 2023-11-06 11:52:54 +01:00
Alex Henrie
eea358e6cb setupapi/tests: Use CRT allocation functions. 2023-11-06 11:52:48 +01:00
Alex Henrie
bb6bcaf83e winmm/tests: Use CRT allocation functions. 2023-11-06 11:51:46 +01:00
Alex Henrie
0b7eed0310 gdi32/tests: Use CRT allocation functions. 2023-11-06 11:51:40 +01:00
Brendan Shanks
ffdbd8357f winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled. 2023-11-06 11:51:28 +01:00
Alistair Leslie-Hughes
6a6a92de14 msdasql: Use DBINITCONSTANTS to get guid values. 2023-11-06 11:51:17 +01:00
Alistair Leslie-Hughes
cc3a0320ed include: Add some DBCOLUMN defines. 2023-11-06 11:51:15 +01:00
Jacek Caban
8577d7ec1e gdiplus: Avoid implicit enum casts. 2023-11-06 11:50:48 +01:00
Jacek Caban
a6da51347e gdiplus/tests: Avoid implicit casts from MetafileType to EmfType. 2023-11-06 11:50:46 +01:00
Gabriel Ivăncescu
cb4939eb0e mshtml/tests: Fix BindInfo leak in htmldoc test.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:16 +01:00
Gabriel Ivăncescu
febdb0a121 jscript/tests: Fix Date object leak in test_default_value.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:16 +01:00
Gabriel Ivăncescu
59e00860a7 jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:10 +01:00
Gabriel Ivăncescu
8f82586fd9 jscript: Fix value arg leak in transform_json_object.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:10 +01:00
Gabriel Ivăncescu
aa18bbedea jscript: Don't addref before calling jsdisp_propput_name.
It already increases refcount.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:07 +01:00
Gabriel Ivăncescu
736eb10748 jscript: Fix array leak in Array.filter.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:07 +01:00
Gabriel Ivăncescu
7008706739 jscript: Fix value leak in Array.shift.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:07 +01:00
Gabriel Ivăncescu
0a4b70a5f6 jscript: Fix EnumVARIANT leak in enumerators.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:07 +01:00
Gabriel Ivăncescu
4b3cee0c5d mshtml: Fix window leak on error in async_stop_request.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:46:07 +01:00
Gabriel Ivăncescu
137a36529d mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
Gecko may return a pseudo-element-list even on error (such as with an
invalid selector, for example), which holds refs to elements and leaks.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-03 21:45:57 +01:00
Jacek Caban
88ec915034 webservices: Store xmlbuf encoding as unsigned int.
Avoids enum casts when it's used for reader.
2023-11-03 19:21:51 +01:00
Jacek Caban
5d7156f10b shcore: Avoid implicit enum casts. 2023-11-03 19:21:36 +01:00
Jacek Caban
c254ff8dcc qmgr: Avoid implicit enum casts. 2023-11-03 19:21:35 +01:00
Jacek Caban
0d554fee41 msctf: Avoid implicit enum casts. 2023-11-03 19:21:35 +01:00
Owen Rudge
1ee2681394 comdlg32: Perform case-insensitive comparison of extension in file dialog. 2023-11-03 18:05:01 +01:00
Daniel Lehman
aef7bf3e73 msmxl4/tests: Add tests for get_xml. 2023-11-03 18:05:01 +01:00
Daniel Lehman
e1b2b4e0e6 msxml4/tests: Use wide string literals. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
bc5ae2faa8 include: Use proper dllimports for uxtheme functions. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
897098c994 include: Use proper dllimports for setupapi functions. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
6a86396556 include: Use proper dllimports for iphlpapi functions. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
f6d808477b include: Use proper dllimports for dbghelp functions. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
7999f40b38 include: Use proper dllimports for win32u functions. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
1f769067a3 include: Use NTSYSAPI for all ntdll exports. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
1771716528 include: Make sure that Unix function tables are always const. 2023-11-03 18:05:01 +01:00
Alexandre Julliard
30dc5d28d1 odbc32: Make the Unix function table const. 2023-11-03 18:05:00 +01:00
Alexandre Julliard
c48a3bd349 opengl32: Make the GL driver function table const. 2023-11-03 18:05:00 +01:00
Alex Henrie
f27ac1bb77 include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC). 2023-11-03 18:05:00 +01:00
Alex Henrie
c2afbc8c04 gdiplus/tests: Use CRT allocation functions. 2023-11-03 18:03:52 +01:00
Alex Henrie
48801b6dd7 wtsapi32: Use CRT allocation functions. 2023-11-03 12:03:00 +01:00
Alex Henrie
b1d2976566 netio: Use CRT allocation functions. 2023-11-03 12:02:50 +01:00
Alex Henrie
670d6391c4 msvfw32/tests: Use CRT allocation functions. 2023-11-03 12:02:40 +01:00
Alex Henrie
abbc88f4a1 mstask: Use CRT allocation functions. 2023-11-03 12:02:05 +01:00
Alex Henrie
472ef2881a mspatcha: Use CRT allocation functions. 2023-11-03 12:01:39 +01:00
Alex Henrie
a76bf99eff msident: Use CRT allocation functions. 2023-11-03 12:01:13 +01:00
Alex Henrie
3c2ec4ef94 msdasql: Use CRT allocation functions. 2023-11-03 12:01:06 +01:00
Alex Henrie
7b246524cf msasn1: Use CRT allocation functions. 2023-11-03 12:00:56 +01:00
Alex Henrie
02634d8351 msado15: Remove unused heap.h include. 2023-11-03 12:00:45 +01:00
Alex Henrie
6d6ea43d38 mp3dmod: Use CRT allocation functions. 2023-11-03 12:00:35 +01:00
Alex Henrie
1df98a99cd jsproxy: Use CRT allocation functions. 2023-11-03 12:00:27 +01:00
Alex Henrie
9f3a275d34 inseng: Use CRT allocation functions. 2023-11-03 12:00:18 +01:00
Alex Henrie
f10be2e88b iccvid: Use CRT allocation functions. 2023-11-03 12:00:12 +01:00
Alex Henrie
e90e08b599 dsuiext: Use CRT allocation functions. 2023-11-03 11:59:58 +01:00
Alex Henrie
c9d4b515f5 diasymreader: Use CRT allocation functions. 2023-11-03 11:59:50 +01:00
Alex Henrie
06294b0dbf dhcpcsvc/tests: Use CRT allocation functions. 2023-11-03 11:59:40 +01:00
Alex Henrie
2936bb4a29 dhcpcsvc: Use CRT allocation functions. 2023-11-03 11:57:18 +01:00
Alex Henrie
7c05d39023 avrt: Use CRT allocation functions. 2023-11-03 11:57:10 +01:00
Alex Henrie
4782d0e061 adsldp: Remove unused heap.h include. 2023-11-03 11:56:54 +01:00
Alex Henrie
f73a839612 quartz: Use debugstr_fourcc instead of debugstr_an. 2023-11-03 11:56:45 +01:00
Zhiyi Zhang
9092a4ccca ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
Tests show that there is a ~1.5s timer that checks for the presence of WS_EX_TOPMOST and restore it
if it got removed when the timer times out. Manual tests that skip WM_TIMER handling show there is a
1.5s timer of ID 0x4242 keeps firing. The timer stops when its WM_TIMER message gets handled.

Fix Deus Ex: Game of the Year Edition missing WS_EX_TOPMOST after changing resolutions in fullscreen
mode. The application removes WS_EX_TOPMOST from its game window after entering fullscreen.
2023-11-02 22:25:17 +01:00
Zhiyi Zhang
a87c1d251e ddraw/tests: Test WS_EX_TOPMOST restoration.
Test that there is a ~1.5s timer after entering fullscreen mode and restores WS_EX_TOPMOST if it's
missing when the timer times out.
2023-11-02 22:25:15 +01:00
Brendan Shanks
4a28ff54b2 qcap: Ensure unixlib function tables and enum stay in sync. 2023-11-02 22:20:56 +01:00
Gabriel Ivăncescu
dbf0e43ff8 mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-02 18:20:22 +01:00
Gabriel Ivăncescu
213786efe2 mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
This was actually leaking even before the Cycle Collection was implemented.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-02 18:20:22 +01:00
Gabriel Ivăncescu
db2d10b3a3 mshtml: Keep ref from the associated Style to the Element.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-02 18:20:22 +01:00
Gabriel Ivăncescu
9ea3493cb6 mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-02 18:20:22 +01:00
Victor Chiletto
6cfe757eb7 msvcrt, ucrtbase: Introduce rewind_preserve_stack.
This is a small thunk to rewind that preserves the first argument
passed. This is needed because on some versions of GCC, rewind's call to
_unlock_file is tail-call optimized, which modifies the stack.
2023-11-02 16:52:30 +01:00
Hans Leidekker
03a2d4851b advapi32/tests: Get rid of an unreliable eventlog test.
It can take a while before a new eventlog file is created on Windows. Rather than
waiting for it I chose to remove this test since it seems doubtful that any application
will need to access the file directly.
2023-11-02 16:50:54 +01:00
Bartosz Kosiorek
557a760e7f msvcrt: Add _mbsnbcat_l implementation. 2023-11-02 16:50:34 +01:00
Bartosz Kosiorek
37ecbf6d97 msvcrt: Add _cwprintf_l implementation. 2023-11-02 16:50:31 +01:00
Bartosz Kosiorek
07404c0b6c msvcrt: Add _cprintf_l implementation. 2023-11-02 16:50:27 +01:00
Bartosz Kosiorek
2853352cc8 msvcrt: Add _mbsrchr_l implementation. 2023-11-02 16:50:23 +01:00
Bartosz Kosiorek
3c9419622a msvcrt: Add _mbslwr_l implementation. 2023-11-02 16:50:20 +01:00
Bartosz Kosiorek
fce3311843 msvcrt: Add _mbsdec_l implementation. 2023-11-02 16:50:16 +01:00
Alexandre Julliard
2f0c0f4c38 winedump: Re-import the demangling code from msvcrt. 2023-11-02 12:09:07 +01:00
Alexandre Julliard
1d58300478 msvcrt: Use the public definitions for the UNDNAME_ flags. 2023-11-02 12:09:07 +01:00
Jacek Caban
6f1ed05bad configure: Disable -Wmicrosoft-enum-forward-reference warnings. 2023-11-02 12:09:07 +01:00
Alex Henrie
fdc3e50634 sechost: Use CRT allocation functions. 2023-11-02 12:09:07 +01:00
Alex Henrie
faae2162b8 user32/tests: Use CRT allocation functions. 2023-11-02 12:09:07 +01:00
Alex Henrie
1798540cb7 fsutil/tests: Use CRT allocation functions. 2023-11-02 10:15:14 +01:00
Alex Henrie
699694b238 browseui: Use the wcsdup function instead of reimplementing it. 2023-11-02 10:15:04 +01:00
Alex Henrie
bd4b49782d ninput: Use CRT allocation functions. 2023-11-02 10:14:49 +01:00
Alex Henrie
76205649de dplayx: Use CRT allocation functions. 2023-11-02 10:14:38 +01:00
Gabriel Ivăncescu
a3209daea5 mshtml: Keep ref from the OmHistory to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
c323d9c3e0 mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
5aa68f389c mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
7f85937158 mshtml: Keep ref from the OptionElementFactory to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
e0065c3aff mshtml: Keep ref from the ImageElementFactory to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
bc8c1b5696 mshtml/tests: Test parent window links after navigation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
bcf89639e7 mshtml: Properly traverse document nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Gabriel Ivăncescu
ce9ef35b92 mshtml: Keep ref from the document node to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-11-01 22:44:13 +01:00
Louis Lenders
29d5ce6b7a uxtheme: Add stub for AllowDarkModeForWindow.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55742
2023-11-01 22:44:13 +01:00
Alfred Agrell
012de8b265 quartz/tests: Add tests for CLSID_CMpegVideoCodec. 2023-11-01 22:44:12 +01:00
Alfred Agrell
65ea18ba78 quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality. 2023-11-01 22:44:12 +01:00
Alfred Agrell
481fd0ec3b winegstreamer: Implement CLSID_CMpegVideoCodec.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9127
2023-11-01 22:44:12 +01:00
Alfred Agrell
e8e5e8b5c9 winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9127
2023-11-01 22:44:12 +01:00
Alfred Agrell
7b2611827a winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type. 2023-11-01 22:44:12 +01:00
Alfred Agrell
5c24b7e56b winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter. 2023-11-01 22:44:12 +01:00
Alfred Agrell
4592662d47 winegstreamer: Add output_compressed parameter to wg_parser_create(). 2023-11-01 22:44:12 +01:00
Alfred Agrell
21c5627e2a winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter. 2023-11-01 22:44:12 +01:00
Alfred Agrell
fae39cf5a7 winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter. 2023-11-01 22:44:12 +01:00
Alfred Agrell
7bcb6bc4d7 winegstreamer: Improve and clean up some debug logs. 2023-11-01 22:44:12 +01:00
Alfred Agrell
92c91c4e93 winegstreamer: Include the framerate when converting video format to GstCaps. 2023-11-01 22:44:12 +01:00
Alfred Agrell
ced2b4c672 winegstreamer: Seek to end of stream instead of to stream duration. 2023-11-01 22:44:12 +01:00
Alfred Agrell
2c9f646602 winegstreamer: Clamp QoS events to stay inside the stream's running time. 2023-11-01 22:44:12 +01:00
Alfred Agrell
c36af9e9cf winegstreamer: Don't read format from unparsed MPEG audio. 2023-11-01 22:44:12 +01:00
Alexandre Julliard
acad49573a makefiles: Always use the global SOURCES variable for .c files. 2023-11-01 22:44:03 +01:00
Alexandre Julliard
7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Alexandre Julliard
c432eac726 makefiles: Always use the global SOURCES variable for .idl files. 2023-11-01 22:43:50 +01:00
Santino Mazza
0170cd3a4c mf: Handle errors with source event generator in session. 2023-10-31 22:17:01 +01:00
Bartosz Kosiorek
09c96907c1 gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables. 2023-10-31 21:55:53 +01:00
Bartosz Kosiorek
f850488d5a gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
Moving main curve implementation from GdipAddPathCurve2
to GdipAddPathCurve3, allow for use offset and nseg
variables in GdipAddPathCurve3.
2023-10-31 21:55:50 +01:00
Bartosz Kosiorek
fdabbff369 gdiplus/tests: Extend AddPathCurve3 test with offset and nseg. 2023-10-31 21:55:09 +01:00
Anton Baskanov
c7b706dedf dmsynth: Return void from add_mod_from_connection(). 2023-10-31 21:54:56 +01:00
Anton Baskanov
95e19ae011 dmsynth: Activate reverb and chorus according to effect flags. 2023-10-31 21:54:56 +01:00
Anton Baskanov
d4f4bedc48 dmsynth: Correctly handle internal connections with controls.
Fixes modulation wheel effects.
2023-10-31 21:54:56 +01:00
Anton Baskanov
e45dcf4f7f dmsynth: Use correct transform for controls.
Fixes pitch bend scale.
2023-10-31 21:54:56 +01:00
Anton Baskanov
beb4a09116 dmsynth: Handle pitch bend events. 2023-10-31 21:54:56 +01:00
Anton Baskanov
b147a3c4a2 dmsynth: Offset the loop points by 8 frames.
Fixes out-of-tune Harmonica from gm.dls.
2023-10-31 21:54:56 +01:00
Fabian Maurer
015eb45a7b winegstreamer: Implement IWMResamplerProps.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55789
2023-10-31 21:54:56 +01:00
Ziqing Hui
ca01aeced9 winegstreamer: Implement wg_muxer_add_stream. 2023-10-31 20:18:44 +01:00
Ziqing Hui
1173a2e012 winegstreamer: Introduce factory_create_element. 2023-10-31 20:18:44 +01:00
Ziqing Hui
eb7571c8b1 winegstreamer: Introduce find_element_factories. 2023-10-31 20:18:44 +01:00
Ziqing Hui
ebc8a45968 winegstreamer: Use gst_element_get_compatible_pad.
gst_element_get_compatible_pad supports request pad.
2023-10-31 20:18:42 +01:00
Ziqing Hui
0c84f713f1 winegstreamer: Introduce link_src_to_sink. 2023-10-31 20:18:42 +01:00
Ziqing Hui
29b35f6bb7 winegstreamer: Use NTSTATUS value in wg_muxer_create. 2023-10-31 20:18:42 +01:00
Nikolay Sivov
729ed419ae mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-31 18:52:08 +01:00
Nikolay Sivov
09d949494b mf/samplegrabber: Reset the clock before OnShutdown().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-31 18:52:08 +01:00
Nikolay Sivov
882d822900 mf/samplegrabber: Check shutdown state when setting the clock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-31 18:52:08 +01:00
Nikolay Sivov
c45ae2c680 mf/samplegrabber: Release current media type on shutdown. 2023-10-31 18:52:08 +01:00
Zebediah Figura
25f8698fcd server: Only set sock->event when the event is first noticed.
Do not set it every time another event is polled.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55838
2023-10-31 18:52:07 +01:00
Zebediah Figura
99dd3c5cba ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select. 2023-10-31 18:50:51 +01:00
Nikolay Sivov
eb8cac0f08 shell32: Fix string size condition check (Coverity).
The issue was introduced by 68fd74e7f9.
2023-10-31 18:50:03 +01:00
Paul Gofman
bf58285a90 mfplat/sample: Optimize copying to 2d buffer. 2023-10-31 18:49:31 +01:00
Paul Gofman
ac4a2c4c75 mfplat/sample: Refactor sample_CopyToBuffer(). 2023-10-31 18:49:30 +01:00
Paul Gofman
b7fe6359c8 mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}(). 2023-10-31 18:49:29 +01:00
Paul Gofman
8487666e9c mfplat/tests: Add more tests for copying 2d buffers. 2023-10-31 18:49:28 +01:00
Paul Gofman
ffae0d818b mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock(). 2023-10-31 18:49:26 +01:00
Alex Henrie
3bc570e8ec dxgi/tests: Use CRT allocation functions. 2023-10-31 18:49:19 +01:00
Alex Henrie
2369657333 dxgi: Use CRT allocation functions. 2023-10-31 18:49:12 +01:00
Alex Henrie
1b7b948a16 ddraw/tests: Use CRT allocation functions. 2023-10-31 18:49:06 +01:00
Alex Henrie
e3ac58558f ddraw: Use CRT allocation functions. 2023-10-31 18:49:00 +01:00
Alex Henrie
042f9304cc d3d9/tests: Use CRT allocation functions. 2023-10-31 18:48:51 +01:00
Alex Henrie
9a5b854e2b d3d9: Use CRT allocation functions. 2023-10-31 18:48:36 +01:00
Alex Henrie
6db89702a3 d3d8/tests: Use CRT allocation functions. 2023-10-31 18:48:30 +01:00
Alex Henrie
a70e3059c6 d3d8: Use CRT allocation functions. 2023-10-31 18:48:24 +01:00
Alex Henrie
f2d1734794 d3d11/tests: Use CRT allocation functions. 2023-10-31 18:48:17 +01:00
Alex Henrie
b99ea51331 d3d10core/tests: Use CRT allocation functions. 2023-10-31 18:48:06 +01:00
Hans Leidekker
fd00d8e4cc ntdll: Bump current build number to 19043 (Win10 2009).
Based on Proton commit 0fa76dd66a8.
2023-10-31 17:04:57 +01:00
Tim Clem
ec449cfdeb msvcrt: Promote the log from _wassert from a trace to an error. 2023-10-31 17:04:57 +01:00
Alexandre Julliard
4819a850a0 winegcc: Use a temp file for the implicitly created import library.
Otherwise clang creates a .lib file along with every dll.
2023-10-31 17:04:57 +01:00
Alexandre Julliard
663e93e61f server: Only create Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Alexandre Julliard
c9a011a9cb wow64: Only support Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Alexandre Julliard
0d3fd14747 kernelbase: Only support Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Alexandre Julliard
3d66e96b7f ntdll: Only check Wow64 system directories for 32-bit platforms. 2023-10-31 13:26:49 +01:00
Alexandre Julliard
123b86fe4a ntdll: Remove an unused global variable. 2023-10-31 13:26:49 +01:00
Alexandre Julliard
8f507ff9a7 ntdll: Also update code ranges for pure ARM64EC binaries. 2023-10-31 13:26:49 +01:00
Sven Baars
2821016247 advapi32/tests: Fix a typo (Coverity). 2023-10-30 17:18:59 +01:00
Esme Povirk
0f0867063d user32/tests: Improve timer measurement method.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55786
2023-10-30 14:26:10 +01:00
Connor McAdams
d81256e7b6 uiautomationcore: Return TRUE from UiaClientsAreListening().
This function always returns TRUE on Windows 7 and above, and now that we
have stubs for all the event raising functions there should be no harm
in doing the same.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-30 14:25:54 +01:00
Connor McAdams
0cbca47dae uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
create_uia_node_from_hwnd() is expected to fail if the HWND doesn't have
a native serverside provider.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-30 14:25:52 +01:00
Connor McAdams
4ed0a49618 uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-30 14:25:52 +01:00
Connor McAdams
a35c77fd33 uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-30 14:25:51 +01:00
Nikolay Sivov
8935dc7339 include: Correct ID3D10EffectPool interface uuid.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-30 13:35:23 +01:00
Brendan Shanks
c742e3f67b localspl: Ensure unixlib function tables and enum stay in sync. 2023-10-30 13:35:13 +01:00
Hans Leidekker
863d29ca72 win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW(). 2023-10-30 13:35:06 +01:00
Hans Leidekker
31fd070165 gdi32/tests: Skip broken Noto Color Emoji font in character width test. 2023-10-30 13:35:06 +01:00
Louis Lenders
221e88e2ec uxtheme: Add stub for SetPreferredAppMode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55742
2023-10-30 13:34:53 +01:00
Zhiyi Zhang
e1259ff91a win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
On > XP, settings WH_JOURNALRECORD or WH_JOURNALPLAYBACK hooks report ERROR_ACCESS_DENIED
according to tests, even with administrator rights. PCSE_TERM depends on this to not crash.
MSDN also says that journaling hooks APIs are unsupported starting in Windows 11. Reject
journalling hooks unconditionally here because they have been broken for a long time.
2023-10-30 13:33:28 +01:00
Zhiyi Zhang
6dfeab55bd win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks. 2023-10-30 13:33:28 +01:00
Zhiyi Zhang
d2284bb6df user32/tests: Add more parameter checks for SetWindowsHookExA(). 2023-10-30 13:33:28 +01:00
Alexandre Julliard
6af8b70409 user32: Enable a few more hook tests. 2023-10-30 13:33:28 +01:00
Alexandre Julliard
afb16d3ee2 server: Fix returned error when creating an existing symlink.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55839
2023-10-30 13:33:28 +01:00
Alex Henrie
0f88c7c31f winemenubuilder: Disallow desktop integration for internet shortcuts. 2023-10-30 13:33:28 +01:00
Alex Henrie
b520a19fc2 loader: Associate Wine with internet shortcuts. 2023-10-30 13:33:28 +01:00
Alex Henrie
da42d96aa8 uxtheme/tests: Use CRT allocation functions. 2023-10-30 13:33:28 +01:00
Alex Henrie
0c3530d698 uninstaller: Use CRT allocation functions. 2023-10-30 10:22:10 +01:00
Alex Henrie
8418962fa7 msscript: Use CRT allocation functions. 2023-10-30 10:21:48 +01:00
Alex Henrie
a3c3283c17 find/tests: Use CRT allocation functions. 2023-10-30 10:21:14 +01:00
Bartosz Kosiorek
caec1c2493 gdiplus: Add additional check to GdipSetPenTransform. 2023-10-30 10:19:03 +01:00
Bartosz Kosiorek
0430895479 gdiplus/tests: Add tests for GdipSetPenTransform. 2023-10-30 10:19:01 +01:00
Bartosz Kosiorek
86cdcb6994 gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve. 2023-10-30 10:18:45 +01:00
Bartosz Kosiorek
375f7bfa96 gdiplus/tests: Add default tension tests for GdipAddPath*Curve. 2023-10-30 10:18:43 +01:00
Alexandre Julliard
8b5a60d2d7 Release 8.19. 2023-10-29 14:44:03 +01:00
Rémi Bernon
d1d13e50ec dmstyle: Rewrite style pttn list parsing. 2023-10-27 17:03:04 -05:00
Rémi Bernon
e89cef0ea6 dmstyle: Rename style_motif to style_pattern.
Doc says "A motif is a special kind of pattern in a style".
2023-10-27 17:03:00 -05:00
Rémi Bernon
ce8ec96a5f dmstyle: Rewrite style pref chunk parsing. 2023-10-27 17:03:00 -05:00
Rémi Bernon
8e596f4ddb dmstyle: Rewrite style part list parsing. 2023-10-27 17:03:00 -05:00
Rémi Bernon
7996bc2c0b dmstyle: Get rid of the IDirectMusicStyle8Impl typedef. 2023-10-27 17:03:00 -05:00
Rémi Bernon
717c278b6b dmstyle: Rename IDirectMusicStyle8Impl method prefix to style. 2023-10-27 17:03:00 -05:00
Rémi Bernon
377ba8a7d1 dmime: Use an internal performance message for segment end. 2023-10-27 17:02:54 -05:00
Rémi Bernon
aec78adee9 dmime: Use time_offset to align track start with music time. 2023-10-27 17:02:54 -05:00
Rémi Bernon
d330e44521 dmband: Use time_offset to align track start with music time. 2023-10-27 17:02:54 -05:00
Rémi Bernon
25a3449832 dmime: Pass PlaySegmentEx start time as track time offset. 2023-10-27 17:02:54 -05:00
Rémi Bernon
c227e8bb54 dmime: Pass IDirectMusicPerformance8 to segment state functions. 2023-10-27 17:02:54 -05:00
Bartosz Kosiorek
8d6cd1b574 gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint. 2023-10-27 11:40:31 -05:00
Bartosz Kosiorek
f6007881a6 gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint. 2023-10-27 11:40:26 -05:00
Sven Baars
d20aca6b70 nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
This restores behavior from before 5a7d75cd34.
2023-10-27 11:39:27 -05:00
Daniel Lehman
bb88ca7056 advapi32/tests: Add ReadEventLogW tests for direction. 2023-10-27 11:33:41 -05:00
Fabian Maurer
b5656a8b20 ntdll: Add WinSqmSetIfMaxDWORD stub. 2023-10-27 11:33:41 -05:00
Paul Gofman
68fd74e7f9 shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW(). 2023-10-27 11:33:41 -05:00
Brendan Shanks
2fcf40a6e1 winemac.drv: Fix minimizing windows when Stage Manager is enabled. 2023-10-27 11:33:41 -05:00
Yuxuan Shui
e8943a6463 mfmediaengine: Don't send event notify when engine is shutdown.
I've also tried saving a cancel cookie from `BeginCreateObject*` and using it to cancel the
operation in engine shutdown. However there are 2 problems:

  1. Callback might still get called after `CancelObjectCreation`. Microsoft's
     [own documentation](https://learn.microsoft.com/en-us/windows/win32/api/mfidl/nf-mfidl-imfsourceresolver-cancelobjectcreation)
     says as much:
       > Because these methods are asynchronous, however, they might be completed before the
       > operation can be canceled. Therefore, your callback might still be invoked after you
       > call this method.
  2. Our implementations of `BeginCreateObject*` are not cancellable. They call either
     `MFPutWorkItem` or `IMFByteStream_BeginRead`, neight of which provides cancellation.
     (and our `CancelObjectCreation` doesn't actually work. AsyncResult objects aren't added to
     `handler->results` list until they are completed, which means any attempts to cancel an
     yet-to-be-completed object creation will always fail with `MF_E_UNEXPECTED`)
2023-10-27 11:33:41 -05:00
Rémi Bernon
d0400e5637 mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55588
2023-10-27 10:19:40 -05:00
Alistair Leslie-Hughes
48cebe2b91 msxml3: Do not leak bind context on error paths (Coverity). 2023-10-27 10:19:40 -05:00
Alistair Leslie-Hughes
2e23904abc msxml3: Move tid_NULL out of possible enum values.
This was reported as a out of bounds access (Coverity), which is possible
if the tid_NULL was ever passed in.
2023-10-27 10:19:40 -05:00
Alistair Leslie-Hughes
5e0251f80d msxml3: Don't call qsort if we have no data (Coverity). 2023-10-27 10:19:37 -05:00
Zebediah Figura
2ca895cb5f ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54113
2023-10-27 08:59:30 -05:00
Zebediah Figura
9d330d81a6 ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54342
2023-10-27 08:58:33 -05:00
Rémi Bernon
d9ad68a1ef gitlab: Run tests with LP_NUM_THREADS=4 env var.
This forces mesa LLVMPIPE driver to use a fixed number of threads, and
greatly reduces its memory usage from the $(nproc) default. On Gitlab
this is 32 threads, which often exhaust VM space in 32bit tests.
2023-10-26 16:03:30 -05:00
Hans Leidekker
2ad2ad035d advapi32/tests: Skip WoW64 registry tests on 32-bit. 2023-10-26 16:03:30 -05:00
Hans Leidekker
362f953748 advapi32/tests: Get rid of workarounds for old Windows versions. 2023-10-26 16:03:30 -05:00
Brendan Shanks
5d78428fa8 winemac.drv: Disable declaration-after-statement warnings in ObjC files. 2023-10-26 16:03:30 -05:00
Zebediah Figura
229ccfd048 ntdll: Do not reject data directories at the end of a file.
Found when wpfgfx_cor3.dll failed to relocate in Bentley CONNECTION Client.

Fixes: 56d9e1a8a8.
2023-10-26 16:03:30 -05:00
Jeff Smith
6972aa77c1 gdiplus: Fix GdipSetPageUnit parameter validation. 2023-10-26 16:03:30 -05:00
Jeff Smith
8f7749aa45 gdiplus: Fix a GdipSetPageScale return status. 2023-10-26 16:03:30 -05:00
Jeff Smith
142dc48aae gdiplus: Implement GdipResetPageTransform. 2023-10-26 16:03:30 -05:00
Jeff Smith
73aed1b531 gdiplus/tests: Add tests related to setting the page tranform. 2023-10-26 16:03:30 -05:00
Sven Baars
1b06627ac4 wined3d: Don't override the default renderer in wined3d_dll_init(). 2023-10-26 15:28:00 -05:00
Rémi Bernon
347fb8bc8e dmusic: Ignore some known wave chunks. 2023-10-26 15:27:47 -05:00
Rémi Bernon
f65cf1ed6d dmime: Remove shadowing local hr variable. 2023-10-26 15:27:47 -05:00
Rémi Bernon
17416be982 dmime: Ignore badly formed wave if format and data have been found. 2023-10-26 15:27:47 -05:00
Rémi Bernon
bff7301699 dmime: Skip segment chunk on parsing failure (or success). 2023-10-26 15:27:47 -05:00
Rémi Bernon
7b66268fab dmime: Skip sequence track chunk on parsing failure. 2023-10-26 15:27:47 -05:00
Rémi Bernon
f5c8d273b6 dmband: Skip band / band track chunk on parsing failure. 2023-10-26 15:27:47 -05:00
Alistair Leslie-Hughes
60e8b78e4d msxml: Always increase error count when detected.
The error count wasn't be increased if tracing was disabled. eg CI.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55720
2023-10-26 14:59:57 -05:00
Rémi Bernon
9ad97f69b4 dmime: Force recompute MIDI message reference time.
Fixes 65e388137c, which is otherwise no-op
without this change.
2023-10-25 14:27:15 -05:00
Rémi Bernon
dd9d37375b dmsynth: Set loop and sample generators on the fluid_voice. 2023-10-25 14:27:15 -05:00
Rémi Bernon
c8b9a2dcfd dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55688
2023-10-25 14:27:15 -05:00
Rémi Bernon
bbdea3afc3 dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55722
2023-10-25 14:27:15 -05:00
Rémi Bernon
b971c55a3a dmime/tests: Avoid checking message segment state reference count. 2023-10-25 14:27:15 -05:00
Rémi Bernon
3e31e29d65 dmime/tests: Remove flaky track playing state test.
This fails regularly on Win7.
2023-10-25 14:27:13 -05:00
Bartosz Kosiorek
012f610675 gdiplus: Improve performance of units_to_pixels by not using division.
Single float division (divss) is at least four time slower,
than multiplication (mulss).
More information: https://www.agner.org/optimize/instruction_tables.pdf

The units_to_pixels was optimized to use only multiplication (mulss),
and avoid using divisions (divss).
2023-10-25 14:25:18 -05:00
Paul Gofman
059094c1c1 ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80. 2023-10-25 14:21:28 -05:00
Hans Leidekker
3f6510c1d6 kernelbase: Trace global memory counters in decimal. 2023-10-25 07:50:04 -05:00
Zebediah Figura
b57d4fcd21 include: Convert d3d10effect.h to an IDL. 2023-10-24 13:20:07 -05:00
Zebediah Figura
d78ca75c56 include: Convert d3d10shader.h to an IDL. 2023-10-24 13:20:06 -05:00
Louis Lenders
b5f4a6a4db uxtheme: Add ShouldAppsUseDarkMode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55821
2023-10-24 08:46:21 -05:00
Brendan Shanks
2e2f9bdb65 winscard: Ensure unixlib function tables and enum stay in sync. 2023-10-24 06:30:23 -05:00
Brendan Shanks
2c487406ae wpcap: Ensure unixlib function tables and enum stay in sync. 2023-10-24 06:30:23 -05:00
Brendan Shanks
4dc31f923b dnsapi: Ensure unixlib function tables and enum stay in sync. 2023-10-24 06:30:23 -05:00
Brendan Shanks
e0237f7798 ctapi32: Ensure unixlib function tables and enum stay in sync. 2023-10-24 06:30:23 -05:00
Brendan Shanks
c17d1adb6e makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS. 2023-10-24 06:30:23 -05:00
Brendan Shanks
26201ca92d winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings. 2023-10-24 06:30:23 -05:00
Jacek Caban
4a05c6311e wined3d: Use unsigned type for res_type bit field.
Fixes -Wbitfield-constant-conversion when enum is signed, causing WINED3D_GL_RES_TYPE_TEX_RECT value to be truncated to -4.
2023-10-24 06:30:23 -05:00
Jacek Caban
82e6701178 wined3d: Remove unused parallel_point_count variable. 2023-10-24 06:30:23 -05:00
Jacek Caban
947060bfcc wined3d: Use return type to return result from read_dword.
Avoid implicit casts from enum pointers.
2023-10-24 06:30:23 -05:00
Akihiro Sagawa
30e0deb70e cmd: Reset totals after trailer output.
Otherwise, sums are inherited between drives.
For instance, dir /s z:\tmp c:\windows\system32\drivers\etc shows
an incorrect summary for drive c.
2023-10-24 06:30:23 -05:00
Esme Povirk
9c1ffb545f mscoree: Update Wine Mono to 8.1.0. 2023-10-24 06:30:23 -05:00
Zebediah Figura
552a46ea78 d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
This gives different results on llvmpipe.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53213
2023-10-23 07:37:17 -05:00
Zebediah Figura
e50b5ce778 d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
This gives different results on llvmpipe.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53213
2023-10-23 07:37:17 -05:00
Jinoh Kang
4a7bba9087 ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
A missing API is a todo in Wine.
2023-10-23 07:37:17 -05:00
Gabriel Ivăncescu
4418f928af mshtml: Return proper errors when navigating with no browser.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-23 07:37:17 -05:00
Gabriel Ivăncescu
110dad9ca5 mshtml: Set outer window to uninitialized page when document obj is released.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-23 07:37:17 -05:00
Nikolay Sivov
9afcf7c8e0 d3d10_1/tests: Add some more tests for fx_4_1 blend states. 2023-10-20 23:24:58 +02:00
Connor McAdams
4863992e84 uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-20 22:31:12 +02:00
Connor McAdams
362ea302b9 uiautomationcore/tests: Fix test failure on Win10v1709.
Win10v1709 doesn't respond to EVENT_OBJECT_DESTROY for COM focus event
handlers.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55807
2023-10-20 22:31:12 +02:00
Connor McAdams
b22a06281a uiautomationcore: Only print FIXME messages for missing default clientside providers once.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-20 22:31:12 +02:00
Connor McAdams
29d8c3828f uiautomationcore: Remove accidentally leftover FIXME.
The MSAA to UIA event bridge is now partially implemented.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-20 22:31:12 +02:00
Rémi Bernon
231dd330cf dmime: Avoid releasing the newly created graph twice.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55790
2023-10-20 19:24:08 +02:00
Rémi Bernon
7c9e8b9c4e dswave: Use the dmusic wave object implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon
80e6310a88 dmusic: Use the IDirectMusicObject interface for waves.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon
dc0431b819 dmusic: Implement IDirectMusicObject interface on wave objects.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon
b1bfc52676 dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon
0431c88a9d dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon
4d0c3d89a4 dmime: Avoid crashing when purging notification messages.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Jacek Caban
6239db72ed d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice. 2023-10-20 19:24:08 +02:00
Jacek Caban
f319d4ce8e d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap. 2023-10-20 19:24:08 +02:00
Jacek Caban
a07fbb9307 d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls. 2023-10-20 19:24:08 +02:00
Alexandre Julliard
6289a5848b shlwapi: Remove unneeded UNALIGNED attributes.
They are causing compiler warnings.
2023-10-20 13:28:08 +02:00
Alexandre Julliard
9a4e41c45d winebuild: Always use .balign for alignment.
It seems to be portable enough nowadays.
2023-10-20 11:59:26 +02:00
Nikolay Sivov
7773139261 mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-19 22:43:57 +02:00
Alexandre Julliard
609de17e25 vcruntime140_1: Only build for x86-64. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
fb4eca9a1e ntdll: Export RtlCopyMemory on ARM platforms. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
e57e885688 kernelbase: Export the extended context functions on all platforms. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
f13a6dee5e kernel32: Export the Ums functions on ARM64. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
76496e90fc msvcrt: Export more exception handling functions on ARM platforms. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
2468b2b84d msvcrt: Simplify platform checks for exception handling functions. 2023-10-19 18:19:30 +02:00
Alexandre Julliard
cf21c75bbf ntdll: Simplify platform checks for exception handling functions.
And sync the corresponding forwards.
2023-10-19 18:19:30 +02:00
Alexandre Julliard
8db7f7a6ae Revert "loader: Translate wine.desktop to Catalan".
This reverts commit 7a22152ba1.
There was already a translation.
2023-10-19 14:56:32 +02:00
Alex Henrie
fbbabca177 commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Fixes: 691c7775d1
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55715
2023-10-19 10:12:19 +02:00
Alex Henrie
e8d849efce wined3d: Use debugstr_fourcc instead of debugstr_an. 2023-10-19 10:12:14 +02:00
Dmitry Timoshkov
6391b8d5c9 cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
This makes the certificate selecting UI look similar to Windows.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-10-18 20:47:00 +02:00
Dmitry Timoshkov
c23865d9c3 crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-10-18 20:47:00 +02:00
Dmitry Timoshkov
1252426d71 crypt32/tests: Add some tests for quoted RDN values.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-10-18 20:47:00 +02:00
Dmitry Timoshkov
c2962b2283 crypt32: Avoid truncating unicode chars.
So that strings containing Cyrillic Capital Letter ER (0x420) won't be
quoted when not needed.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-10-18 20:47:00 +02:00
Arkadiusz Hiler
2bfe81e41f winex11.drv: Send missed KEYUP events on KeymapNotify.
Full focus lost / focus gained events on the Windows side are not
feasible for X11's FocusIn/FocusOut events generated by keyboard grabs
(see XGrabKeyboard()) that are used for example for Atl+Tab handling.
Using them would degrade user's experience by causing the window to
minimize or flash multiple times depending on a game/window manager
combo.

Because of that the programs may miss on some KEYUP events that happen
during the grab, and since there are no focus changes on the Windows
side the state doesn't get resynced.

This change attempts to improve user experience by syncing any missed
key release events that happened while the window haven't had focus on
the X11 side.

There's no syncing of key presses as those are more problematic because
of window manager quirks, e.g. on KDE it may end up syncing the Tab
press portion of Alt+Tab. Luckily missing key events for keys that were
pressed and not released while the WM had the keyboard grab is not
nearly as confusing as stuck keys.

For Warhammer: Chaosbane, theHunter: Call of the Wild, Far Cry Primal
and many other games that end up with stuck Alt after Alt+Tabbing.
2023-10-18 20:47:00 +02:00
Rémi Bernon
6631e6bc2d dmime: Remove FIXME from methods now mostly implemented. 2023-10-18 20:47:00 +02:00
Rémi Bernon
8a4989f3a6 dmime: Translate some DMUS_CURVE_PMSG messages to MIDI. 2023-10-18 20:47:00 +02:00
Rémi Bernon
2c4fc0adcf dmusic: Use a dmusic_midi.h header for MIDI messages. 2023-10-18 20:47:00 +02:00
Rémi Bernon
65e388137c dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset. 2023-10-18 20:47:00 +02:00
Rémi Bernon
5a66857fb4 dmime: Don't interrupt track iteration if SetParam failed. 2023-10-18 20:47:00 +02:00
Rémi Bernon
12d3ccb495 dmime: Only use index if group is set in IDirectMusicSegment_SetParam. 2023-10-18 20:47:00 +02:00
Rémi Bernon
e9fdbe4d55 dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch. 2023-10-18 20:47:00 +02:00
Rémi Bernon
10a1e533c3 dmband: Download segment tracks if performance auto-download is set. 2023-10-18 20:46:59 +02:00
Rémi Bernon
4106217718 dmsynth: Set default modulators according to the DLS2 spec. 2023-10-18 20:46:59 +02:00
Rémi Bernon
7f629f7f54 dmsynth: Convert modulator values from DLS2 to SF2 convention. 2023-10-18 20:46:59 +02:00
Rémi Bernon
c7ca1643f7 dmsynth: Fix FluidSynth generators for direct connections. 2023-10-18 20:46:59 +02:00
Rémi Bernon
0eaa06b51d dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx. 2023-10-18 20:46:59 +02:00
Rémi Bernon
832a2127cd dmsynth: Avoid using fluid_ prefix for internal helpers. 2023-10-18 20:46:59 +02:00
Rémi Bernon
1728f82a2a dmsynth: Correctly lookup instrument from the default drum bank. 2023-10-18 20:46:59 +02:00
Rémi Bernon
7274902a3b dmsynth: Implement sink rendering to DirectSound buffer. 2023-10-18 20:46:59 +02:00
Rémi Bernon
0d56c54d8b dmsynth: Create a render thread on sink activation. 2023-10-18 20:46:59 +02:00
Connor McAdams
27aed609c6 uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Connor McAdams
f9f59d109f uiautomationcore: Implement IUIAutomationElement::get_CachedName.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Connor McAdams
e9e009b723 uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Connor McAdams
118b74f82f uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Connor McAdams
15f098c34e uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Connor McAdams
6d0047ad66 uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-18 20:46:59 +02:00
Brendan Shanks
83e80e9b60 configure: Only build Wayland if linux/input.h is present. 2023-10-18 20:46:59 +02:00
Alexandre Julliard
52618e1d3c dbghelp: Fix a compiler warning on ARM64. 2023-10-18 20:46:59 +02:00
Alexandre Julliard
7ff690f4bd zydis: Disable assertions. 2023-10-18 18:35:21 +02:00
Matteo Bruni
f9c7fabed6 wined3d: Don't skip setting clip planes if the view transform state is dirty.
More fallout from 2ddb6b66a7.
2023-10-18 17:12:57 +02:00
Matteo Bruni
527955544b wined3d: Implement shadow sampling for the ARB shader backend. 2023-10-18 17:12:54 +02:00
Matteo Bruni
1eba5fd959 wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
In the same vein as 6247bee483b31b1ea0ad49f85f1cffde7433fed2; avoids
infinite recursion in the blitter. Triggered by the ddraw tests.
2023-10-18 17:12:53 +02:00
Matteo Bruni
87937d6182 wined3d: Handle NULL push constant buffers with the ARB shader backend.
Fixes: c065b4fe0b
2023-10-18 17:12:50 +02:00
Matteo Bruni
333a0be42d wined3d: Fix handling of system-memory GL vertex buffers.
Fixes: c065b4fe0b
2023-10-18 17:12:44 +02:00
Zebediah Figura
307b200363 wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
Since we never upload the buffer, and may very well never invalidate the whole
thing, this just results in continually increasing memory consumption.

This is especially a problem for our internal push constant buffers, which are
sysmem buffers that usually are never wholly invalidated, but it could also
potentially be a problem for other buffers.
2023-10-18 14:01:57 +02:00
Zebediah Figura
8378a786a6 wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array. 2023-10-18 14:01:57 +02:00
Zebediah Figura
352d04935a wined3d: Rename buffer dirty ranges fields.
Make the fields names consistent with each other and with the usual scheme for field naming.
2023-10-18 14:01:49 +02:00
Alex Henrie
344eee2024 win32u: Use debugstr_fourcc instead of debugstr_an. 2023-10-18 14:01:45 +02:00
Eric Pouech
43598133e6 dbghelp: Remove unneeded parameter to pe_map_file.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-18 11:01:56 +02:00
Eric Pouech
d4104e8505 dbghelp: Simplified module_find_by_addr().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-18 11:01:56 +02:00
Eric Pouech
e1064850ff dbghelp: Set the machine type for mach-O modules.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-18 11:01:56 +02:00
Eric Pouech
0a1de579a7 dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55650
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-10-18 11:01:51 +02:00
Eric Pouech
d6096057f5 dbghelp: Rename internal field (system -> host).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-18 11:01:50 +02:00
Nikolay Sivov
0c7a09cb1f maintainers: Add EVR to the Media Foundation section. 2023-10-17 21:48:20 +02:00
Paul Gofman
deff1303fb winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT. 2023-10-17 21:48:20 +02:00
Eric Pouech
984032823b mmdevapi: Don't fail when no audio backends are present.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-17 21:48:20 +02:00
Eric Pouech
a23402f6e7 quartz: Return correct error when no audio devices are present.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-17 21:48:20 +02:00
Eric Pouech
79264b27c1 dsound: Forward error code when device cannot be found.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-17 21:48:20 +02:00
Alexandre Julliard
fba6b7a1ed ntdll: Also send segment registers to the server on suspend.
Fixes some test failures in wow64 mode.
2023-10-17 21:48:20 +02:00
Rémi Bernon
1014bab951 dmime: Use latency time to decide when to process messages. 2023-10-17 21:48:20 +02:00
Rémi Bernon
d0f5446696 dmime: Update performance latency time with port latency. 2023-10-17 21:48:20 +02:00
Rémi Bernon
a8763aab6f dmime: Use port latency time for messages with -1 time. 2023-10-17 21:48:20 +02:00
Rémi Bernon
72165fc8ec dmusic: Forward IDirectMusicPort_Activate to synth and sink. 2023-10-17 21:48:20 +02:00
Rémi Bernon
29a76fb5d1 dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock. 2023-10-17 21:48:20 +02:00
Rémi Bernon
f00d8639e6 dmusic: Set synth sink master clock when creating port. 2023-10-17 21:48:20 +02:00
Rémi Bernon
d5e156fa7f dmime: Rewrite message thread with a condition variable. 2023-10-17 21:48:20 +02:00
Paul Gofman
48aa9031ab ntdll: Use .seh handler in call_unwind_handler() on x64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52396
2023-10-17 21:48:20 +02:00
Paul Gofman
c9a1ff6e13 ntdll/tests: Add test for collided unwind. 2023-10-17 21:48:20 +02:00
Paul Gofman
2a893f42d9 ntdll: Use .seh handler in call_handler() on x64. 2023-10-17 21:48:20 +02:00
Paul Gofman
9f4c0c4d43 ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64. 2023-10-17 21:48:20 +02:00
Alex Henrie
e5679b5ff6 loader: Add separating dash to Spanish translation of wine.desktop. 2023-10-17 21:48:20 +02:00
Alex Henrie
7a22152ba1 loader: Translate wine.desktop to Catalan. 2023-10-17 21:48:20 +02:00
Alex Henrie
e86e228557 winemenubuilder: Disallow desktop integration for batch files. 2023-10-17 21:48:20 +02:00
Alex Henrie
474536c0d6 loader: Associate Wine with batch files. 2023-10-17 21:48:20 +02:00
Alex Henrie
aca965d7f2 d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 21:48:20 +02:00
Alex Henrie
c7d9c4a8b6 d3dx9_36: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 21:37:01 +02:00
Alex Henrie
a23d21a902 dwrite: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-17 20:20:47 +02:00
Alex Henrie
beb1805ca0 d3d10: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 20:18:17 +02:00
Alex Henrie
53383beb37 iccvid: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 18:19:11 +02:00
Alex Henrie
4fef708660 evr: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 18:18:57 +02:00
Eric Pouech
828304dab3 wbemprox: Use correct string id.
Don't use hard coded string indexes as one of the expected string
can be absent, hence decreasing its index; nothing ensures that the
strings are placed in the order of the fields in the smbios structure.
So use, smbios structures' indexes instead.

Wbemprox was also expecting one string too much.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-17 18:18:38 +02:00
Gabriel Ivăncescu
ed674d63a4 jscript: Fix Array.reduce when last element doesn't exist.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-17 18:18:28 +02:00
Gabriel Ivăncescu
40b36d4208 jscript: Fix Array.map when last element doesn't exist.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-17 18:18:28 +02:00
Jacek Caban
75635053fc dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1. 2023-10-17 18:18:21 +02:00
Jacek Caban
1ba498c5e6 dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts. 2023-10-17 18:18:21 +02:00
Jacek Caban
2c98df50cb dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features. 2023-10-17 18:18:21 +02:00
Piotr Caban
846784f03f gdi32: Fix leak in GdiDeleteSpoolFileHandle. 2023-10-17 18:18:10 +02:00
Fabian Maurer
df01ef80a0 mf/tests: Increase buffer to prevent stack corruption.
init_dmo_media_type_video uses head + extra bytes memory,
and with MEDIASUBTYPE_RGB8 the extra bytes are already 1024.
This leads to stack corruption.
2023-10-17 18:18:03 +02:00
Mohamad Al-Jaf
911a0c6089 windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Called by Roon.
2023-10-17 18:17:54 +02:00
Mohamad Al-Jaf
5861f8c55d windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
Called by Roon.
2023-10-17 18:17:53 +02:00
Mohamad Al-Jaf
e99cf458e1 windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests. 2023-10-17 18:17:52 +02:00
Mohamad Al-Jaf
73db91c276 windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface. 2023-10-17 18:17:51 +02:00
Mohamad Al-Jaf
8a91ff180e include: Add IMusicDisplayProperties2 interface definition. 2023-10-17 18:17:51 +02:00
Mohamad Al-Jaf
780a173f45 windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
Called by Roon.
2023-10-17 18:17:49 +02:00
Mohamad Al-Jaf
b7768065c1 windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests. 2023-10-17 18:17:48 +02:00
Mohamad Al-Jaf
be0c5268f1 windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
Called by Roon.
2023-10-17 18:17:47 +02:00
Mohamad Al-Jaf
ce59ba8c67 windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests. 2023-10-17 18:17:45 +02:00
Mohamad Al-Jaf
3b1b353260 windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
Called by Roon.
2023-10-17 18:17:44 +02:00
Mohamad Al-Jaf
c6fbe1400a include: Add IMusicDisplayProperties interface definition. 2023-10-17 18:17:44 +02:00
Mohamad Al-Jaf
29ffed2090 windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
Called by Roon.
2023-10-17 18:17:43 +02:00
Mohamad Al-Jaf
c1ae95fbe0 windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests. 2023-10-17 18:17:42 +02:00
Mohamad Al-Jaf
072405348c windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
Called by Roon.
2023-10-17 18:17:40 +02:00
Mohamad Al-Jaf
9a4dbd9a17 include: Add ISystemMediaTransportControlsDisplayUpdater interface definition. 2023-10-17 18:17:40 +02:00
Mohamad Al-Jaf
3cb90b60a5 windows.media.mediacontrol/tests: Remove flakey ref count test. 2023-10-17 18:17:38 +02:00
Alexandros Frantzis
de66ea9df6 winewayland.drv: Ensure the logical output dimensions have sane values.
If the compositor doesn't provide the logical dimensions (or sane ones),
use the physical pixel dimensions as the logical dimensions.
2023-10-16 22:30:17 +02:00
Alexandros Frantzis
1bc84c177d winewayland.drv: Ensure outputs can access xdg information robustly.
Add outputs to the output_list on creation (instead of when they are
first configured), so they are detected and "upgraded" with xdg
information even if the compositor advertises the zxdg_output_manager
global after the wl_outputs themselves.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55788
2023-10-16 22:30:15 +02:00
Bartosz Kosiorek
8cfcc211b8 gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function). 2023-10-16 19:01:15 +02:00
Zebediah Figura
245bdef5b1 advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55763
2023-10-16 18:53:48 +02:00
Zebediah Figura
2408676fa2 user32/tests: Add basic tests for GetUserObjectSecurity(). 2023-10-16 18:53:48 +02:00
Zebediah Figura
1a1c1d07ee advapi32: Respect object type in SetSecurityInfo().
Do not try to treat types which are not kernel handles as kernel handles.
2023-10-16 18:53:48 +02:00
Zebediah Figura
b4926e2724 advapi32: Respect object type in GetSecurityInfo().
Do not try to treat types which are not kernel handles as kernel handles.
2023-10-16 18:53:48 +02:00
Zebediah Figura
398025083d advapi32/tests: Add more tests for GetSecurityInfo(). 2023-10-16 18:53:48 +02:00
Zebediah Figura
c05973d077 advapi32: Fix rewinding the last path segment in SetSecurityInfo().
In particular, handle the case where an object has no name.

In theory, this should not happen for regular files, but SetSecurityInfo() is
almost certainly not supposed to care about that [i.e. this code probably
belongs in the server, at the very least]. However, fixing that will require
much more work.

While we're at it, rewrite the code to be a little more idiomatic about its
intent.
2023-10-16 18:53:48 +02:00
Zebediah Figura
3ecedb7e14 advapi32/tests: Use StringFromGUID2(). 2023-10-16 18:53:48 +02:00
Zebediah Figura
46dfbf89d2 advapi32: GetNamedSecurityInfo() takes a const name argument.
At least in the Windows 10 SDK.
2023-10-16 18:53:48 +02:00
Rémi Bernon
df75c9ed3c include: Fix debugstr_fourcc printf format to print at most 4 chars. 2023-10-16 18:53:48 +02:00
Alexandre Julliard
ae976eec5e ntdll: Use .seh handler in RtlUserThreadStart on ARM64. 2023-10-16 18:53:48 +02:00
Alexandre Julliard
943e16def6 ntdll: Move RtlUserThreadStart implementation to the CPU backends. 2023-10-16 11:59:50 +02:00
Alexandre Julliard
bf2b38a805 ntdll: Move the relay trace on thread startup to LdrInitializeThunk(). 2023-10-16 11:42:18 +02:00
Paul Gofman
c22aa54e99 ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64. 2023-10-16 11:39:26 +02:00
Helix Graziani
e5536fa0de uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55771
2023-10-16 11:16:37 +02:00
Gerald Pfeifer
bd0656b6e2 readme: Update FreeBSD information.
Bump minimum version from 8.0 to 12.4, the minimum release supported
upstream. Streamline the FreeBSD section.
2023-10-16 11:16:24 +02:00
Esme Povirk
431d1943f5 user32/tests: Reduce size demand in test_hvredraw. 2023-10-16 11:16:05 +02:00
Connor McAdams
cc75dbd315 uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams
f26d470920 uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams
2be7de9898 uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams
5a987d48b2 uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams
0592872161 uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Nikolay Sivov
48e110e0fd mfmediaengine: Use extension object in CanPlayType(). 2023-10-16 11:15:08 +02:00
Nikolay Sivov
b5d4394913 mfmediaengine: Keep engine extension pointer. 2023-10-16 11:15:08 +02:00
Nikolay Sivov
5617d78f0d include: Add IMFMediaEngineAudioEndpointId definition. 2023-10-16 11:15:08 +02:00
Nikolay Sivov
5f48e7816c mfmediaengine/tests: Use a single helper to create engine instances. 2023-10-16 11:15:08 +02:00
Alexandre Julliard
ffeb530cc0 makefiles: Always use the global SOURCES variable for .y files. 2023-10-14 13:51:42 +02:00
Alexandre Julliard
94771cf07a makefiles: Always use the global SOURCES variable for .l files. 2023-10-14 13:50:44 +02:00
Alexandre Julliard
2205218b24 makefiles: Always use the global SOURCES variable for .svg files. 2023-10-14 13:47:59 +02:00
Alexandre Julliard
4e9f1a41b9 makefiles: Always use the global SOURCES variable for .man.in files. 2023-10-14 13:44:07 +02:00
Alexandre Julliard
9d78031de6 Release 8.18. 2023-10-13 23:00:12 +02:00
Nikolay Sivov
f690784338 d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-13 22:49:29 +02:00
Francois Gouget
0e44c658b6 advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails. 2023-10-13 18:26:10 +02:00
Francois Gouget
b34ec64537 advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
Also we don't care about the content of the buffer so using
HeapRealloc() makes no sense.
2023-10-13 18:26:09 +02:00
Francois Gouget
e0c3530a74 advapi32/tests: Add the read_write info to the failures context.
Otherwise it's impossible to know which iteration failed.
2023-10-13 18:26:07 +02:00
Francois Gouget
e6b5afcbd8 advapi32/tests: Better identify OpenEventLogA() failures. 2023-10-13 18:26:07 +02:00
Francois Gouget
e9f6ff8cd4 user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55777
2023-10-13 18:25:14 +02:00
Eric Pouech
44ab120661 winedbg: Correctly read LDT entries for wow64 debuggee.
This mostly matters for Mac as segment CS is handled as a real LDT
entry.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-13 18:04:36 +02:00
Eric Pouech
91ba80df26 winedbg: Set first LDT entry value as ntdll does.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-13 18:04:36 +02:00
Rémi Bernon
b831dbfc3b winex11: Forcefully unmap the clipping window when it loses focus.
Fixes cursor not being released when alt-tabbing out of an unresponsive
foreground window.
2023-10-13 18:03:52 +02:00
Alexandros Frantzis
89c36c11fd winewayland.drv: Avoid resizing fullscreen windows.
If the window is already fullscreen and its size is compatible with what
the compositor is requesting, don't force a resize, since some applications
are very insistent on a particular fullscreen size (which may not match
the monitor size).
2023-10-13 17:50:06 +02:00
Alexandros Frantzis
26c7dfb7e9 winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
Rename the function wayland_surface_configure_is_compatible to
wayland_surface_config_is_compatible to match the associated struct name.
2023-10-13 17:50:04 +02:00
Alexandros Frantzis
dfcd2d8b70 winewayland.drv: Use surface geometry to satisfy state size constraints.
The maximized and fullscreen states disallow surface contents that are
larger than the configured size. However, if we have a larger surface,
and only part of the surface contains useful client data, we can inform
the compositor using xdg_surface_set_geometry, so that only the
specified region is considered for compositor-side positioning and
state constraints.

We use the geometry to support the presentation of windows that insist
on particular positions and sizes which may not match the compositor's
requested size (e.g., fullscreen but may overshoot a few pixels outside
the monitor boundary).
2023-10-13 17:50:03 +02:00
Alexandros Frantzis
ab3d6d985d winewayland.drv: Handle application-initiated fullscreen state.
Detect when an window wants to become fullscreen and request the Wayland
fullscreen state from the compositor. The fullscreen state for windows
is inferred by their size and position relative to the monitor that
contains their largest region.

Since there is no explicit fullscreen state for windows, compositor
initiated fullscreen requests may lead to a size change, but will not
directly affect other aspects of the window state.
2023-10-13 17:50:02 +02:00
Alexandros Frantzis
8f0d3ec13d winewayland.drv: Store and use the latest window config for a wayland_surface.
Instead of querying the window config for a wayland_surface on demand,
query it and store it only when it is applied through SetWindowPos. In
addition to being more efficient, this prevents deadlocks by avoiding
calling NtUser functions that require the user lock, while holding
the window_surface lock.
2023-10-13 17:50:00 +02:00
Alexandros Frantzis
52decb1ca6 winewayland.drv: Handle xdg_toplevel tiled states.
Tiled states don't place strict constraints on the surface size, but
they indicate a strong size preference, so try to respect it.
2023-10-13 17:49:59 +02:00
Alexandros Frantzis
e1222ac33a winewayland.drv: Respect the compositor requested surface config.
If we are processing a config request by the compositor, consider that
config as authoritative for the window. Otherwise use the window state
to determine the new Wayland state to apply.
2023-10-13 17:49:57 +02:00
Hans Leidekker
85844ff5b4 mmdevapi/tests: Relax a capture test. 2023-10-13 17:48:25 +02:00
Hans Leidekker
23de0bff1d mmdevapi/tests: Don't initialize the audio client twice.
It leaves the client in a bad state, causing test failures on recent Windows versions.
2023-10-13 17:48:23 +02:00
Alexandre Julliard
b35f00070f ntdll: Move LdrInitializeThunk to the CPU backends. 2023-10-13 15:57:03 +02:00
Francois Gouget
db89311aa1 secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
This avoids a crash when Wine is compiled using --without-krb5.
This makes test_ticket_cache() more consistent with test_kerberos().
2023-10-13 09:59:49 +02:00
Brendan Shanks
8f7483d04b winemac.drv: Fix redundant calls to [NSCursor set].
Since self.cursorFrames is a copy property, its pointer value will only
equal frames when both are nil. Also return early from the function if
the array contents are equivalent.
2023-10-13 09:59:38 +02:00
Rémi Bernon
a6710afc26 dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages. 2023-10-13 09:59:24 +02:00
Rémi Bernon
f74fe2e26b dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages. 2023-10-13 09:59:24 +02:00
Rémi Bernon
a4b006e723 dmime: Output DMUS_MIDI_PMSG into a music buffer on the port. 2023-10-13 09:59:24 +02:00
Rémi Bernon
e3b23cb66e dmime: Implement band track IDirectMusicTrack_Play. 2023-10-13 09:59:24 +02:00
Rémi Bernon
fd68076c36 dmime: Implement sequence track IDirectMusicTrack_Play. 2023-10-13 09:59:24 +02:00
Rémi Bernon
b0573f9dc3 dmband: Download / unload bands when initializing / ending band track. 2023-10-13 09:59:22 +02:00
Fabian Maurer
d177709b10 propsys: Implement PropVariantToUInt32WithDefault.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55713
2023-10-12 23:23:58 +02:00
Alex Henrie
9e76799266 msvcrt/tests: Add tests for wcsdup. 2023-10-12 23:17:12 +02:00
Alex Henrie
1cade77fc4 msvcrt/tests: Check errno after strdup(NULL). 2023-10-12 23:17:12 +02:00
Piotr Caban
dea831a241 localspl: Truncate output file when printing to file. 2023-10-12 18:14:37 +02:00
Alexandre Julliard
b6e502610a makefiles: Always use the global SOURCES variable for .in files. 2023-10-12 11:02:17 +02:00
Alexandre Julliard
c047bb6ea3 makefiles: Always use the global SOURCES variable for .sfd files. 2023-10-12 10:59:29 +02:00
Alexandre Julliard
92fe7c9c9f makefiles: Always use the global SOURCES variable for .m files. 2023-10-12 10:56:03 +02:00
Alexandre Julliard
bf8cb196b5 makefiles: Always use the global SOURCES variable for .po files. 2023-10-12 10:54:07 +02:00
Alexandre Julliard
64de93e300 makefiles: Always use the global SOURCES variable for .mc files. 2023-10-12 10:50:42 +02:00
Alexandre Julliard
1255764ad5 makefiles: Remove unnecessary imports of usp10.dll.
The functions are in gdi32 nowadays.
2023-10-12 10:45:23 +02:00
Alexandre Julliard
7e957a17f6 makefiles: Remove unnecessary imports of version.dll.
The functions are in kernelbase nowadays.
2023-10-12 10:34:21 +02:00
Brendan Shanks
69ceeaedf0 cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW. 2023-10-12 10:22:01 +02:00
Daniel Lehman
9373f330e5 advapi32/tests: Skip ReadEventLog on failure to open System log.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55731
2023-10-12 10:21:56 +02:00
Aurimas Fišeras
51e4ec30ed po: Update Lithuanian translation. 2023-10-12 10:20:18 +02:00
Rémi Bernon
ccc5af8bf8 dmsynth: Create fluid_preset and fluid_voice from instrument. 2023-10-11 22:18:01 +02:00
Rémi Bernon
07aa6b5dcb dmsynth: Play some MIDI events in IDirectMusicSynth_Render. 2023-10-11 22:18:01 +02:00
Rémi Bernon
d3b5c6bb29 dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer. 2023-10-11 22:18:01 +02:00
Rémi Bernon
a4e933a3ab dmsynth: Guard synth members with a CS. 2023-10-11 22:18:01 +02:00
Rémi Bernon
456ba99255 dmsynth: Improve debug traces of DLS2 connections. 2023-10-11 22:18:01 +02:00
Rémi Bernon
a1e8352f54 dmsynth: Fix synth download of articulations list. 2023-10-11 22:18:01 +02:00
Rémi Bernon
16f9bfd23f dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon
edad780922 dmime: Implement IDirectMusicTrack_Play for the wave track.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon
4a7a8a7ecc dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon
7bbd4be52a dmime: Create a wave track when loading a segment from a .wav.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon
15c4c02eeb dmusic: Split wave entry points to dmusic_wave.h. 2023-10-11 22:16:58 +02:00
Rémi Bernon
6c1bf1f3a9 dmime: Include dmobject.h in dmime_private.h. 2023-10-11 22:16:58 +02:00
Rémi Bernon
51c664b227 dmime: Get rid of the IDirectMusicWaveTrack typedef.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:16:58 +02:00
Rémi Bernon
2581e0b3ea server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
Which may be different from the last desktop cursor handle.

This makes the behavior better match the old winex11 behavior, which queried
the current thread input cursor handle on every mouse move to sync it with X11,
although it contradicts MSDN documentation which states that the cursor handle
is global.

This fixes the X11 cursor being visible in "Deus Ex: GOTY Edition".
2023-10-11 20:30:04 +02:00
Zhiyi Zhang
70c9239cb2 winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.
If _NET_WM_FULLSCREEN_MONITORS is set then the property needs to be updated because it can't
be deleted by sending a _NET_WM_FULLSCREEN_MONITORS client message to the root window
according to the wm-spec version 1.5. Having the window spanning more than two monitors also
needs the property set. In other cases, _NET_WM_FULLSCREEN_MONITORS doesn't need to be set.
What's more, setting _NET_WM_FULLSCREEN_MONITORS adds a constraint on Mutter so that such a
window can't be moved to another monitor by using the Shift+Super+Up/Down/Left/Right
shortcut. So the property should be added only when necessary.
2023-10-11 20:29:49 +02:00
Arkadiusz Hiler
10a0a8eabc xinput1_3: Hold module reference while the hid thread is running.
We have no means of stopping the thread from DllMain on
DLL_PROCESS_DETACH without having a race condition - waiting on the
thread itself is not an option due to the loader lock.

The best we can do is just never unload the DLL as long as the thread is
active which is forever.

This fixes crashes in Mighty Switch Force! Collection while controllers
are unplugged - the game loads and frees xinput in a loop.
2023-10-11 17:28:24 +02:00
Piotr Caban
7128a6595a wineps.drv: Use first page DEVMODE to determine number of copies and collation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55718
2023-10-11 17:28:15 +02:00
Piotr Caban
12c3579bcb gdi32: Add GdiGetDevmodeForPage implementation. 2023-10-11 17:28:15 +02:00
Piotr Caban
78acbb6fec gdi32: Add GdiGetDevmodeForPage stub. 2023-10-11 17:28:14 +02:00
Piotr Caban
c2489c501d gdi32: Add GdiDeleteSpoolFileHandle stub. 2023-10-11 17:28:14 +02:00
Piotr Caban
8dfa1d66b1 gdi32: Add GdiGetSpoolFileHandle stub. 2023-10-11 17:28:13 +02:00
Piotr Caban
81fa8615eb include: Add winppi.h header. 2023-10-11 17:28:13 +02:00
Piotr Caban
25e15e9e2c gdi32: Test PlayMetaFile on METADC. 2023-10-11 17:27:40 +02:00
Piotr Caban
5e507b3e3d gdi32: Fix METADC handling in PlayMetaFile. 2023-10-11 17:27:40 +02:00
Daniel Lehman
043cc2414d msxml6/tests: Copy namespaces as attributes tests. 2023-10-11 17:27:29 +02:00
Daniel Lehman
7c94aa9d98 msxml4/tests: Copy namespaces as attributes tests. 2023-10-11 17:27:29 +02:00
Alexandre Julliard
3c0d0005f4 ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers. 2023-10-11 17:26:49 +02:00
Brendan Shanks
5ae7ca0b78 wow64cpu: Use RTL_CONSTANT_STRING. 2023-10-11 17:26:49 +02:00
Brendan Shanks
bb2e02ab66 winemac.drv: Use ObjC literals. 2023-10-11 17:26:49 +02:00
Alex Henrie
8943fcbca4 uninstaller: Don't overallocate in FetchFromRootKey. 2023-10-10 23:15:05 +02:00
Connor McAdams
4569157b28 uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-10 23:15:05 +02:00
Connor McAdams
a275834bdd uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-10 23:15:05 +02:00
Connor McAdams
6b972a68b8 uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-10 23:15:05 +02:00
Connor McAdams
7886e4d08b uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-10 23:15:05 +02:00
Connor McAdams
285620b177 win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-10 23:15:05 +02:00
Zebediah Figura
ee7d047dd5 ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible. 2023-10-10 23:15:05 +02:00
Zebediah Figura
9cd6a43fef ddraw: Refactor how bind flags are computed.
Try to do it in one place instead of two.
2023-10-10 23:15:05 +02:00
Zebediah Figura
379f592cca ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
NO3D implies SYSTEMMEMORY, and is incompatible with TEXTUREMANAGE, so this case is unreachable.
2023-10-10 23:15:05 +02:00
Nikolay Sivov
e04e10b37b gdi32/tests: Add some tests for FixBrushOrgEx().
It appears to be a stub on modern systems. Does not generate EMF output either.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-10 23:15:05 +02:00
Nikolay Sivov
86708b36f8 gdi32/emf: Add SetBrushOrgEx() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-10 23:15:05 +02:00
Mohamad Al-Jaf
a6a9419a34 windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests. 2023-10-10 23:15:05 +02:00
Mohamad Al-Jaf
a8f6183030 windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55709
2023-10-10 23:15:05 +02:00
Mohamad Al-Jaf
c2d0b2fdf2 windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface. 2023-10-10 23:15:05 +02:00
Mohamad Al-Jaf
d7b7114dd9 windows.security.credentials.ui.userconsentverifier: Add stub DLL. 2023-10-10 23:15:05 +02:00
Mohamad Al-Jaf
5ff9ffb368 include: Add windows.security.credentials.ui.idl file. 2023-10-10 23:15:05 +02:00
Alexandre Julliard
945883438a winebuild: Add a helper to output an asm function header. 2023-10-10 23:15:05 +02:00
Alexandre Julliard
3bb752736c include: Stop pretending to support big-endian. 2023-10-10 11:11:26 +02:00
Alexandre Julliard
6b4399e369 ws2_32: Make htonl/htons/ntohl/ntohs proper functions. 2023-10-10 11:05:28 +02:00
Helix Graziani
91e54e5f6d uxtheme: Add ShouldSystemUseDarkMode. 2023-10-10 10:25:38 +02:00
Helix Graziani
26471dd00e winecfg: Change system theme alongside app theme. 2023-10-10 10:25:38 +02:00
Marcus Meissner
9d7c813b5e user32/tests: Use correct size to LoadStringW.
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
2023-10-10 10:18:43 +02:00
Rémi Bernon
907c67ce3c dmsynth: Create and register a fluid_sfont instance. 2023-10-10 10:14:08 +02:00
Rémi Bernon
3cfa740cd7 dmsynth: Create a fluid_synth instance on Open. 2023-10-10 10:14:08 +02:00
Rémi Bernon
fcc8a1be68 dmsynth: Simplify IDirectMusicSynth8_Open checks. 2023-10-10 10:14:08 +02:00
Rémi Bernon
b5903214ab fluidsynth: Use Wine debugging facility for traces. 2023-10-10 10:14:08 +02:00
Rémi Bernon
f768d6b31b dmsynth: Import and use FluidSynth 2.3.3. 2023-10-10 10:14:08 +02:00
Rémi Bernon
d0c3a0e03d dmime/tests: Queue the message before calling SendPMsg twice. 2023-10-10 10:14:08 +02:00
Paul Gofman
b15680a05e ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64). 2023-10-10 10:14:08 +02:00
Francois Gouget
9878b47bd0 nsiproxy.sys: Add a trailing linefeed to a TRACE() message. 2023-10-10 10:14:08 +02:00
Francois Gouget
622daeaf89 dmsynth: Add a trailing linefeed to TRACE() messages. 2023-10-10 09:44:02 +02:00
Francois Gouget
484bf58e8d winewayland.drv: Add a trailing linefeed to a TRACE() message. 2023-10-10 09:44:00 +02:00
Zebediah Figura
eb06f99172 shell32: Fix parsing empty arguments in parse_dde_command().
This fixes a hang in Microsoft Visual C++ 1.52 installation.
2023-10-09 20:53:23 +02:00
Eric Pouech
152e72c82c dbghelp: Read debuggee environment by page.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-09 20:52:00 +02:00
Eric Pouech
733bf91606 dbghelp: Simplify allocation code.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-09 20:52:00 +02:00
Rémi Bernon
bc7e51b48c include: Avoid narrowing warning in wine_dbgstr_fourcc. 2023-10-09 20:51:49 +02:00
Alistair Leslie-Hughes
21e91690b1 d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory(). 2023-10-09 20:51:37 +02:00
Matteo Bruni
526909f8b1 d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest(). 2023-10-09 20:51:37 +02:00
Zhiyi Zhang
e4cdcb1ec9 mf: Avoid a double free of presentation clock timers.
In clock_change_state() when a clock is running, a timer is removed from clock->timers. The same
timer is then used to create an async result, which will eventually calls present_clock_timer_callback_Invoke()
and release the same timer. Check if the timer is still in clock->timers before releasing it.
2023-10-09 20:51:22 +02:00
Alex Henrie
8f28294434 cmd: Reset ignoreBracket when moving to the next line.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55528
2023-10-09 11:40:34 +02:00
Piotr Caban
01fab4c409 gdi32: Update printer DEVMODE in ResetDCW. 2023-10-09 11:38:28 +02:00
Piotr Caban
09bcad7403 winspool.drv: Add ResetPrinterW implementation. 2023-10-09 11:38:26 +02:00
Piotr Caban
b6b8d5f49c localspl: Add ResetPrinter implementation. 2023-10-09 11:38:26 +02:00
Nikolay Sivov
372c43868b winedump/emf: Add EMR_SETMITERLIMIT record dumping. 2023-10-09 11:38:13 +02:00
Nikolay Sivov
fea9bb7523 gdi32/emf: Add SetMetaRgn() recording. 2023-10-09 11:38:11 +02:00
Nikolay Sivov
200d795ff3 gdi32: Reject invalid values in SetMiterLimit(). 2023-10-09 11:38:11 +02:00
Nikolay Sivov
3f30401495 gdi32/tests: Add some tests for SetMiterLimit() argument validation. 2023-10-09 11:38:11 +02:00
Nikolay Sivov
5b471a2963 gdi32/emf: Fix miter limit serialization. 2023-10-09 11:38:09 +02:00
Etaash Mathamsetty
627181d99c gdi32: Add stub for D3DKMTQueryAdapterInfo. 2023-10-09 11:37:49 +02:00
Rémi Bernon
3e19ca928e dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state. 2023-10-09 11:35:15 +02:00
Rémi Bernon
7a678903fb dmime: Implement IDirectMusicPerformance_GetNotificationPMsg. 2023-10-09 11:35:15 +02:00
Rémi Bernon
3de1bc035e dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
Keeping the segment state referenced until its playback ends.
2023-10-09 11:35:13 +02:00
Rémi Bernon
664caf6ed7 dmime: Send DMUS_PMSGT_DIRTY messages from the performance. 2023-10-09 11:35:13 +02:00
Rémi Bernon
ac832b97ae dmime: Free all pending messages after CloseDown. 2023-10-09 11:35:13 +02:00
Rémi Bernon
299698140a dmime: Keep messages with the same time ordered. 2023-10-09 11:35:13 +02:00
Rémi Bernon
b201cf1bca dmime/tests: Tests interaction between CloseDown and notifications. 2023-10-09 11:35:13 +02:00
Daniel Lehman
d2a606bc92 advapi32/tests: Add ReadEventLogA tests for EventlogStarted. 2023-10-09 11:35:08 +02:00
Paul Gofman
67bc349541 imagehlp: Import functions instead of forwarding. 2023-10-09 11:34:52 +02:00
Nikolay Sivov
fe63d304be d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-09 11:34:41 +02:00
Alexandre Julliard
a1830c03a5 ntdll: Add a separate helper to build the main module on Wow64.
We can't use the normal routine because the module is 32-bit.
2023-10-08 13:55:45 +02:00
Alex Henrie
4c07f22107 msvfw32: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-06 20:49:53 +02:00
Alex Henrie
ce00200080 mscms: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-06 20:49:53 +02:00
Alex Henrie
6da1c970a4 mciavi32: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-06 20:49:53 +02:00
Alex Henrie
8f02157bc8 ddraw: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-06 20:49:53 +02:00
Alex Henrie
6159a50127 comctl32: Use the debugstr_fourcc function instead of reimplementing it. 2023-10-06 20:49:52 +02:00
Alex Henrie
8b20c58801 include: Introduce wine_dbgstr_fourcc and debugstr_fourcc. 2023-10-06 20:49:52 +02:00
Alex Henrie
b490890d2d winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc. 2023-10-06 20:49:52 +02:00
Alex Henrie
ae77ddafb0 mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc. 2023-10-06 20:49:52 +02:00
Georg Lehmann
17d9841d86 winevulkan: Update to VK spec version 1.3.267. 2023-10-06 20:49:36 +02:00
Zebediah Figura
5ce02389f9 wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
Instead of duplicating multiple members.
2023-10-06 20:48:22 +02:00
Zebediah Figura
ef2ad5ef66 wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags. 2023-10-06 20:48:21 +02:00
Zebediah Figura
efb0d67a70 wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages". 2023-10-06 20:48:21 +02:00
Zebediah Figura
82873b72a2 wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures". 2023-10-06 20:48:21 +02:00
Zebediah Figura
15140e7645 wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures". 2023-10-06 20:48:21 +02:00
Zebediah Figura
fbee3cf2e0 wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES. 2023-10-06 20:48:20 +02:00
Jactry Zeng
bcc8c31e0d user32: Add more builtin string resources. 2023-10-06 15:44:28 +02:00
Joel Holdsworth
72ebbca61b ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
These versions of Windows are not included in the TestBot base VM set hence why
the failures were not caught when the tests were submitted in the original
commit: 07e40a6f9f

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55733
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-06 15:41:49 +02:00
Gabriel Ivăncescu
c737b283d0 ieframe: Implement DocObjectService_IsErrorUrl.
Needed to prevent an infinite loop when the error page itself fails to load
(mshtml bails out early).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:28 +02:00
Gabriel Ivăncescu
5d17e7e4a8 ieframe: Send the original URL for error pages in FireDocumentComplete notification.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:24 +02:00
Gabriel Ivăncescu
82c03141d8 ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:19 +02:00
Gabriel Ivăncescu
76b198000f ieframe: Use the original URL for error pages' address bar.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:19 +02:00
Gabriel Ivăncescu
8a67308f74 ieframe: Navigate to a basic error page on failed navigation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:19 +02:00
Gabriel Ivăncescu
125c390f61 ieframe: Implement IEHTMLWindow2_get_document.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:16 +02:00
Gabriel Ivăncescu
e3c768ab55 shdoclc: Add a basic generic html page for navigation errors.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:16 +02:00
Gabriel Ivăncescu
b38fcaf36a mshtml: Implement SuperNavigate undocumented flag 2.
Seems to be doing a replace and skipping updating travel log/history.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-06 15:41:13 +02:00
Helix Graziani
5a7d75cd34 nsiproxy.sys: Implement ipv6_forward_enumerate_all. 2023-10-06 15:40:15 +02:00
Zebediah Figura
512f8b17ae objsel: Do not create an object from IClassFactory::QueryInterface(). 2023-10-06 15:39:57 +02:00
Zebediah Figura
2ac66e33fd objsel: Do not check for a NULL interface in COM methods. 2023-10-06 15:39:57 +02:00
Zebediah Figura
026c7fc6b5 objsel: Merge factory.c into objsel.c.
A separate file for the class factory is not justified.
2023-10-06 15:39:57 +02:00
Zebediah Figura
39ccd71991 objsel: Remove DLL refcount tracking.
Recent consensus seems to be that this isn't worth the effort.
2023-10-06 15:39:57 +02:00
Zebediah Figura
528fdc783b objsel: Remove unnecessary includes. 2023-10-06 15:39:57 +02:00
Alex Henrie
42579f1dcd riched20: Use CRT allocation functions. 2023-10-06 15:39:57 +02:00
Alexandre Julliard
de81e2ea41 ntdll: Only create the main module on the 32-bit side for wow64. 2023-10-06 15:39:57 +02:00
Alexandre Julliard
93a5dce013 server: Remove some leftover code from a failed rebase. 2023-10-06 11:24:23 +02:00
Nikolay Sivov
41ab207c71 d3d10/effect: Add support for shift instructions. 2023-10-05 18:49:50 +02:00
Joel Holdsworth
e916255216 ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-05 18:49:44 +02:00
Joel Holdsworth
a8489d12eb server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-05 18:49:44 +02:00
Joel Holdsworth
08ca54b494 ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-05 18:49:44 +02:00
Joel Holdsworth
07e40a6f9f ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-05 18:49:44 +02:00
Piotr Caban
ad232b530a wineps: Add support for EMR_EXTCREATEPEN record playback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55606
2023-10-05 18:49:44 +02:00
Piotr Caban
59f72abfcf gdi32: Add partial support for creating EMREXTCREATEPEN records. 2023-10-05 18:49:44 +02:00
Daniel Lehman
428a1219fd advapi32/tests: Add ReadEventLogW tests for EventLogStarted. 2023-10-05 18:49:44 +02:00
Alistair Leslie-Hughes
77b506709a msado15: Show fixme only if field_list needs to be used in Recordset::AddNew. 2023-10-05 18:49:44 +02:00
Alistair Leslie-Hughes
8a4e235efc msado15: Move to newly created row in Recordset::AddNew.
It's valid to have a recordset with existing rows.  AddNew needs to
move to newly created row, so existing won't be used.
2023-10-05 18:49:44 +02:00
Alexandre Julliard
0d3ff192aa winegcc: Enable dynamic base by default. 2023-10-05 18:49:44 +02:00
Alexandre Julliard
ec3de12825 ntdll: Relocate dynamic base modules when mapping them. 2023-10-05 18:49:44 +02:00
Alexandre Julliard
efd03f40e6 server: Assign a system-wide mapping address for dynamic base modules. 2023-10-05 18:49:44 +02:00
Alexandre Julliard
4847c1d8e4 server: Set the dynamically relocated flag when relocations are present. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
8441816912 windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
Called by Roon.
2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
1435688b68 windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
0471de64de windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow(). 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
478513819c windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
99fdedb4b6 windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
8b34decc7b include: Add systemmediatransportcontrolsinterop.idl file. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
8b329317b7 windows.media.mediacontrol: Add stub DLL. 2023-10-05 18:49:44 +02:00
Mohamad Al-Jaf
0e90cbf989 include: Add ISystemMediaTransportControls interface definition. 2023-10-05 18:49:44 +02:00
Brendan Shanks
29260f77fb winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool. 2023-10-05 18:49:44 +02:00
Brendan Shanks
c937e991e1 winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool. 2023-10-05 18:49:44 +02:00
Ally Sommers
3582ba9dc4 server: Move getpeername() implementation from ntdll/unix.
This brings getpeername() in line with getsockname(), which
is also implemented in wineserver. It also allows getpeername()
to return a possibly-more-accurate peer name, as in the case of
AF_UNIX sockets.
2023-10-05 10:03:23 +02:00
Paul Gofman
4b9a095e84 ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION. 2023-10-05 09:59:31 +02:00
Paul Gofman
2c2740629b server: Hold socket reference in sock_poll_event(). 2023-10-05 09:59:24 +02:00
Connor McAdams
3f4f116dc5 uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-04 19:06:14 +02:00
Connor McAdams
c21bc70af8 uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-04 19:06:13 +02:00
Connor McAdams
6666670929 uiautomationcore: Add support for passing WinEvents to the COM API.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-04 19:06:13 +02:00
Connor McAdams
f420b65a82 uiautomationcore/tests: Add tests for COM event handler event advisement.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-04 19:06:13 +02:00
Paul Gofman
8a571b263b secur32: Synchronize access to schannel handle table. 2023-10-04 19:03:18 +02:00
Nikolay Sivov
fcfe297211 d3d10/effect: Add support for 'or' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:08 +02:00
Nikolay Sivov
42a57b3e70 d3d10/effect: Add support for 'not' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:06 +02:00
Nikolay Sivov
2055f7e20b d3d10/effect: Add support for 'exp' instruction. 2023-10-04 18:16:05 +02:00
Nikolay Sivov
347ed9a82b d3d10/effect: Add support for 'log' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:04 +02:00
Nikolay Sivov
03e17a3572 d3d10/effect: Add support for 'rsq' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:02 +02:00
Nikolay Sivov
f72bb1f687 d3d10/effect: Add support for 'sqrt' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:01 +02:00
Nikolay Sivov
edbf2405fc d3d10/tests: Use vector helpers in more places.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:01 +02:00
Nikolay Sivov
03c7038713 d3d10/effect: Add support for 'imul' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:15:58 +02:00
Nikolay Sivov
001e0543bf propsys: Handle VT_I4 type in VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:15:52 +02:00
Martin Storsjö
2c7524021e configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
This fixes a regression from 450c358881dbc6dcfb2692b8f4debb7db8fdc54b;
after testing for -Wl,-z,defs, CFLAGS was restored from an
incorrect variable, leaving CFLAGS essentially empty.

This would break builds for e.g. arm with Clang, where -mthumb would
be essential for being able to build some inline assembly snippets
correctly.

This also had the effect of dropping the default "-g -O2" arguments
from CFLAGS.

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-10-04 18:15:52 +02:00
Alistair Leslie-Hughes
16217163d9 wpcap: Return NULL on error in get_broadcast. 2023-10-04 16:57:37 +02:00
Alexandre Julliard
526b9fc89b ntdll: Support relocating the main exe. 2023-10-04 15:19:22 +02:00
Alexandre Julliard
56d9e1a8a8 ntdll: Move the module relocation support to virtual.c. 2023-10-04 14:51:42 +02:00
Alexandre Julliard
e9b65e99b2 ntdll: Fix relocation of the 32-bit ntdll. 2023-10-04 13:08:05 +02:00
Rémi Bernon
45d1c00eea dmime: Introduce a new segment_state_create constructor. 2023-10-04 11:28:32 +02:00
Rémi Bernon
9cb0142632 dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx. 2023-10-04 11:28:32 +02:00
Rémi Bernon
c6e6f87a89 dmime: Implement some segment state default values. 2023-10-04 11:28:32 +02:00
Rémi Bernon
94386b4fba dmime: Get rid of the IDirectMusicSegmentState8Impl typedef. 2023-10-04 11:28:32 +02:00
Rémi Bernon
939162b674 dmime: Rename DirectMusicSegmentState8 method prefix to segment_state. 2023-10-04 11:28:32 +02:00
Stefan Dösinger
f9c5176ad8 wined3d: Reference the push constant buffers. 2023-10-04 11:28:22 +02:00
Alex Henrie
d5b64a1f14 http: Use the strdup function instead of reimplementing it. 2023-10-03 21:44:04 +02:00
Nikolay Sivov
f7ef02bd8f propsys: Partially implement VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 21:44:04 +02:00
Alistair Leslie-Hughes
0770ba61ce msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter. 2023-10-03 21:44:04 +02:00
Joel Holdsworth
c237db98be ntdll: Initial implementation of FileLinkInformationEx.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-03 21:44:04 +02:00
Joel Holdsworth
c7b1551e8f ntdll: Initial implementation of FileRenameInformationEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54997
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-03 21:44:04 +02:00
Alexandre Julliard
25db1c5d49 ntdll: Always allocate dynamically relocatable dlls top-down. 2023-10-03 17:44:50 +02:00
Alexandre Julliard
949920a7dc ntdll: Add a helper to find a mapping address for a PE image. 2023-10-03 17:44:50 +02:00
Alexandre Julliard
30c8da1c9d ntdll: Do an explicit mmap address search for any range not covering the entire address space. 2023-10-03 17:44:50 +02:00
Alexandre Julliard
b862cc032c kernel32/tests: Delete the correct manifest file. 2023-10-03 17:44:50 +02:00
Alexandre Julliard
64654d617c kernel32/tests: Add some dynamic base tests. 2023-10-03 13:32:44 +02:00
Nikolay Sivov
488398982c d3d10/effect: Add support for 'dot' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:39 +02:00
Nikolay Sivov
dc91367dcf d3d10/effect: Add support for 'floor' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:38 +02:00
Nikolay Sivov
2861ce933b d3d10/effect: Add support for 'ceil' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:36 +02:00
Nikolay Sivov
2043ffa083 d3d10/tests: Compact returned arrays checks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:36 +02:00
Nikolay Sivov
fdc0f37714 d3d10/effect: Add support for 'buge'/'bult' instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:34 +02:00
Gabriel Ivăncescu
35a6c314d4 mshtml: Traverse EventTarget listeners.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-03 09:24:29 +02:00
Gabriel Ivăncescu
30d88426d5 mshtml: Remove unused IUnknown_iface in func_disp_t.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-03 09:24:29 +02:00
Gabriel Ivăncescu
4d56980396 mshtml: Call handle_event on the proper dispex object.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55701
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-10-03 09:24:27 +02:00
Alistair Leslie-Hughes
209b2c23c5 d3dxof: Remove DECLSPEC_HIDDEN usage. 2023-10-02 22:23:14 +02:00
Mohamad Al-Jaf
ab9e29b0a7 windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
Needed for Minecraft Windows 10.
2023-10-02 21:56:31 +02:00
Mohamad Al-Jaf
c4d5e8ded5 windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests. 2023-10-02 21:56:31 +02:00
Mohamad Al-Jaf
f36a84d772 windows.storage.applicationdata: Add IApplicationDataStatics stub interface. 2023-10-02 21:56:31 +02:00
Mohamad Al-Jaf
2f3aa0e2f6 windows.storage.applicationdata: Add stub DLL. 2023-10-02 21:56:31 +02:00
Connor McAdams
60ff77754a uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:31 +02:00
Connor McAdams
7aaf77a514 uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
0254db3492 uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
a2bf252c4b uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
01d9a5ea2b uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
bc063b67ab uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
b9cf4e9896 uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Connor McAdams
75b4419478 uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-02 21:56:30 +02:00
Eric Pouech
19d38debc9 msvfw32: Correctly store internal pointer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55696
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-02 16:54:27 +02:00
Eric Pouech
67b10761ec winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55658
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-02 13:57:29 +02:00
Piotr Caban
b4b39bfbd1 gdi32: Pass default DEVMODE to winspool in CreateDC.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55670
2023-10-02 12:10:41 +02:00
Esme Povirk
338cb1261b user32/tests: Print regions in test_hvredraw failure case. 2023-10-02 12:10:03 +02:00
Piotr Caban
5fa6014567 msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55686
2023-10-02 12:09:56 +02:00
Brendan Shanks
450c358881 configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
Fixes undefined reference link error in msv1_0 on FreeBSD.

Reported by Gerald Pfeifer.
2023-10-02 11:54:33 +02:00
Alexandre Julliard
a084fd0528 faudio: Import upstream release 23.10. 2023-10-02 11:54:32 +02:00
Alexandre Julliard
b6852f6bed ldap: Import upstream release 2.5.16. 2023-09-30 14:08:27 +02:00
Alexandre Julliard
b4c541b23a xml2: Import upstream release 2.11.5. 2023-09-30 14:08:27 +02:00
Alexandre Julliard
13e02608da zlib: Import upstream release 1.3. 2023-09-30 14:08:27 +02:00
Alexandre Julliard
673cac9e95 tiff: Import upstream release 4.6.0. 2023-09-30 14:08:27 +02:00
Alexandre Julliard
736f90d88e mpg123: Import upstream release 1.32.2. 2023-09-30 14:08:27 +02:00
Alexandre Julliard
c547659586 nls: Update character tables to Unicode 15.1.0. 2023-09-30 13:23:19 +02:00
Alexandre Julliard
3db7506221 Release 8.17. 2023-09-29 22:29:20 +02:00
Rémi Bernon
3c4d83609e dmime: Implement IDirectMusicPerformance_DownloadInstrument. 2023-09-29 21:41:26 +02:00
Rémi Bernon
96b0bdd7b5 dmband: Implement band track GUID_DownloadToAudioPath parameter. 2023-09-29 21:41:26 +02:00
Rémi Bernon
52a38dc41f dmband: Implement band track GUID_UnloadFromAudioPath parameter. 2023-09-29 21:41:26 +02:00
Rémi Bernon
0ad7b55349 dmband: Implement IDirectMusicBand_(Download|Unload). 2023-09-29 21:41:26 +02:00
Rémi Bernon
17f68bfabf dmime: Implement IDirectMusicSegment_(Download|Unload). 2023-09-29 21:41:26 +02:00
Rémi Bernon
92985253e7 dmband: Implement band track GUID_ConnectToDLSCollection parameter. 2023-09-29 21:41:25 +02:00
Rémi Bernon
8645d9eb4e dmime: Implement IDirectMusicSegment_SetParam. 2023-09-29 21:41:25 +02:00
Rémi Bernon
406f1783a9 dmime/tests: Test segment state and playing a custom track. 2023-09-29 21:41:25 +02:00
Rémi Bernon
0d3b83c021 dmime/tests: Add some tests for GUID_ConnectToDLSCollection. 2023-09-29 21:41:25 +02:00
Alexandre Julliard
d92d9bc2a9 ntdll: Don't free reserved memory on 64-bit macOS.
It's part of the zerofill section.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55674
2023-09-29 19:51:46 +02:00
Paul Gofman
4e55945467 shell32: Handle long command line in execute_from_key(). 2023-09-29 17:27:18 +02:00
Paul Gofman
f1c57f06d6 shell32: Avoid stack corruption with long name in SHELL_TryAppPathW(). 2023-09-29 17:26:45 +02:00
Mohamad Al-Jaf
94e3e2d115 windows.applicationmodel/tests: Use PathRemoveFileSpecW() instead of PathCchRemoveFileSpec().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55652
2023-09-29 17:24:19 +02:00
Jactry Zeng
bb8cc288a6 msxml3/tests: Add tests of ValidateOnParse property. 2023-09-29 17:24:07 +02:00
Jactry Zeng
3db3e3768b msxml3: Add ValidateOnParse support for IXMLDOMDocument3_{get,set}Property(). 2023-09-29 17:24:07 +02:00
Jactry Zeng
7995d152d7 msxml3: Store ValidateOnParse property in domdoc_properties instead. 2023-09-29 17:24:06 +02:00
Jacek Caban
cdb9b60162 include: Support ARM64EC target in winnt.h. 2023-09-29 17:23:52 +02:00
Jacek Caban
71ebc22d63 include: Move __getReg intrinsic to intrin.h. 2023-09-29 17:23:51 +02:00
Jacek Caban
12c019ff84 include: Support ARM64EC target in intrin.h. 2023-09-29 17:23:51 +02:00
Rémi Bernon
086e114f05 dmusic: Implement SoundFont2 instrument parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon
215a55d603 dmusic: Implement SoundFont2 wave sample parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon
b733a46ada dmusic: Implement SoundFont2 collection parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon
182338bab2 dmusic: Avoid crashing in traces if wave doesn't have a WSMPL. 2023-09-29 17:23:10 +02:00
Rémi Bernon
2a1fd9851c dmusic: Avoid leaking articulations when freeing regions. 2023-09-29 17:23:10 +02:00
Rémi Bernon
8e881787fc dmloader: Add fallbacks if the configured GMFilePath doesn't exist. 2023-09-29 17:23:10 +02:00
Rémi Bernon
49c6e57d95 dmloader: Remove invalid default DLS collection check. 2023-09-29 17:23:10 +02:00
Rémi Bernon
767c5ddbf9 dmusic/tests: Test default gm.dls sound font instruments. 2023-09-29 17:23:10 +02:00
Rémi Bernon
1ffc47b5e6 dmloader: Use a simpler file stream implementation. 2023-09-29 17:23:08 +02:00
Rémi Bernon
9e0487c4cc dmime: Return DMUS_E_AUDIOPATH_INACTIVE when audio paths are not enabled. 2023-09-28 23:21:46 +02:00
Rémi Bernon
0fb4e5ec47 dmime: Return DMUS_E_AUDIOPATHS_IN_USE when audio paths are in use. 2023-09-28 23:21:46 +02:00
Rémi Bernon
9788fb6911 dmime: Initialize performance in Init rather than InitAudio. 2023-09-28 23:21:46 +02:00
Rémi Bernon
50b09dcf11 dmime: Set the port direct sound before activating it. 2023-09-28 23:21:46 +02:00
Rémi Bernon
3400e41d5c dmime/tests: Test performance Init with a created port.
Final Fantasy VIII does this, more or less, and needs Init to succeed.
2023-09-28 23:21:44 +02:00
Rémi Bernon
de27d59a8a dmime/tests: Move performance tests into dmime.c. 2023-09-28 23:21:43 +02:00
Rémi Bernon
ed2eebf2f5 dmime/tests: Remove some duplicated tests.
These are now more extensively tested in dmime/tests/dmime.c.
2023-09-28 23:21:41 +02:00
Alex Henrie
25f3ba3e06 include: Correct conflicting definition of PSECURITY_DESCRIPTOR.
In the Windows SDK, PSECURITY_DESCRIPTOR is void* and
PISECURITY_DESCRIPTOR is SECURITY_DESCRIPTOR*. PSECURITY_DESCRIPTOR is
defined in winnt.h and PISECURITY_DESCRIPTOR is defined in
wbasetypes.idl.
2023-09-28 22:35:41 +02:00
Alex Henrie
0369223f73 include: Correct conflicting definition of PSID.
In the Windows SDK, PSID is void* and PISID is SID*. Both types are
defined in both winnt.h and wtypesbase.idl.
2023-09-28 22:35:41 +02:00
Francois Gouget
65261f3c80 tests: Update the documentation. 2023-09-28 22:35:41 +02:00
Hans Leidekker
ed71abd1cc secur32: Only return success from initialize_package() when initialization fully succeeds.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55522
2023-09-28 22:35:41 +02:00
Martin Storsjö
65a6019df9 include: Update the d3d12 header from vkd3d.
This corresponds to vkd3d as of commit
acd3ed97dc8e1ac192b2ec6fc19596831a6b61c6.

The cpp_quoted #include directive is fixed up to match the file
naming outside of vkd3d, renaming the reference to
vkd3d_d3d12sdklayers.h back to d3d12sdklayers.h.

This matches other renamings that are done at the start of the
file for vkd3d renamed idl files as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-28 22:35:41 +02:00
Alexandre Julliard
9b60b671da ntdll: Don't release the low address space reservation on wow64. 2023-09-28 22:35:41 +02:00
Alexandre Julliard
a81c53504a ntdll: Release the low address space reservation for 64-bit apps. 2023-09-28 22:35:41 +02:00
Paul Gofman
416a273241 winegstreamer: Also return output with 2 channels for multichannel inputs from AAC decoder. 2023-09-27 22:23:12 +02:00
Paul Gofman
bb95f8c2f6 winegstreamer: Validate maximum channel count in _SetInputType in AAC decoder. 2023-09-27 22:23:12 +02:00
Paul Gofman
902133b008 winegstreamer: Correct output available types attrs in AAC decoder for channel count > 2. 2023-09-27 22:23:12 +02:00
Paul Gofman
5b0172e161 winegstreamer: Handle missing or zero channel count in _GetOutputAvailableType in AAC decoder. 2023-09-27 22:23:12 +02:00
Paul Gofman
3432ef30c3 mf/tests: Add tests for AAC decoder with different input number of channels. 2023-09-27 22:23:12 +02:00
Alexandros Frantzis
d7ec8fb6a3 winewayland.drv: Fix removal of wl_seat globals.
Store and compare against the wl_seat global id (aka name) during
global_remove, since the global id is distinct from the wl_proxy id
which we were previously checking.
2023-09-27 22:16:48 +02:00
Alexandros Frantzis
24a6f36784 winewayland.drv: Handle client-initiated user-driven window resize.
When we are notified by Wine core that the user wants to interactively
resize the window, forward the request to compositor, so it can take
over and resize the window according to user input.

In the process of the interactive resize we receive a stream of
xdg_toplevel configure events informing us about the updated window
sizes.
2023-09-27 22:16:48 +02:00
Alexandros Frantzis
ddc4cfe238 winewayland.drv: Handle client-initiated user-driven window move.
When we are notified by Wine core that the user wants to interactively
move the window, forward the request to compositor, so it can take over
and move the window according to user input.

Note that the move does *not* affect the position of the window in the
Wine virtual screen space.
2023-09-27 22:16:48 +02:00
Alexandros Frantzis
36ecb876db winewayland.drv: Handle xdg_toplevel maximized state.
A request for the maximized state has two potential origins:

1. The compositor, through an xdg_toplevel configure event. In this case
   we update the window state and size accordingly.

2. The application or Wine itself, by changing the window style. When
   we detect such a style, we make a request to the compositor to set
   the maximized state. The compositor will then eventually reply with
   a configure event, and we continue with case (1). Note that the
   compositor may deny our request, in which case we will also sync
   the window style accordingly.

An acknowledged maximized state imposes very strict constraints on the
size of surface content we can present. We are careful to not violate
these constraints, since otherwise the compositor will disconnect us.
2023-09-27 22:16:48 +02:00
Alexandros Frantzis
6e903b7924 winewayland.drv: Handle xdg_toplevel configure event size hint.
Use the size hint provided by the compositor to resize the window
associated with a Wayland toplevel surface.

A surface config moves through the following stages (each stage may hold
a different event):

1. Pending: In the process of being populated from separate Wayland
   events.

2. Requested: A fully formed config which hasn't been handled yet. A new
   finalized Pending event will always be promoted to a Requested event
   (so we will skip previous events if new ones arrive quickly enough).

3. Processing: A config that is being processed. When processing is
   done, we mark it with `wayland_surface_config.processed = TRUE`.

4. Current: The config has been acknowledged, i.e., we are promising to
   respect any implied content constraints.
2023-09-27 22:16:48 +02:00
Alexandros Frantzis
76eecdb205 winewayland.drv: Handle xdg_toplevel close event. 2023-09-27 22:16:48 +02:00
Alexandros Frantzis
e0a5f35649 winewayland.drv: Remove wayland_surface destruction double locking.
Ignoring the possibility of HWND recycling allows us to use a simpler
scheme to ensure valid access to the wayland_surface associated with an
xdg_surface during event handling. The scheme involves setting HWND as
the xdg_surface user data and using that to get to the wayland_surface.

The prerequisite for this code to be correct is that the wayland surface
destruction for a HWND must be performed under the wayland_win_data
mutex.
2023-09-27 22:16:48 +02:00
Alistair Leslie-Hughes
8fa02bf086 msado15: Update editMode in AddNew/Cancel/Update functions. 2023-09-27 22:16:48 +02:00
Alistair Leslie-Hughes
5bfd2fc19c msado15: _Recordset::Open store active connection parameter. 2023-09-27 22:16:48 +02:00
Alistair Leslie-Hughes
a1610861ff msado15: Implement _Recordset::get_ActiveConnection. 2023-09-27 22:16:48 +02:00
Joel Holdsworth
e06780c3a7 ntdll/tests: Skip FileLinkInformationEx tests on older Windows versions.
Test failures were introduced in 67479f8c2f, and affect Windows 10
1607 and older.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55631
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-27 22:16:45 +02:00
Joel Holdsworth
b19b9a35ce ntdll/tests: Skip FileRenameInformationEx tests on older Windows versions.
Test failures were introduced in 67479f8c2f, and affect Windows 10
1607 and older.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55631
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-27 22:16:34 +02:00
Esme Povirk
ef837dbceb user32/tests: Use open_clipboard helper in msg tests. 2023-09-27 21:47:40 +02:00
Zhiyi Zhang
8d5d413697 user32: Enable IsDialogMessageA() ASCII to Unicode mapping only when the user default lang ID is CJK.
Using GetSystemMetrics(SM_DBCSENABLED) may incorrectly enable ASCII to Unicode mapping in mixed
locale environments. For example, when UserDefaultLCID is French(040c) but SystemDefaultLCID is
Japanese(0411).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55655
2023-09-27 21:47:40 +02:00
Zhiyi Zhang
b000b65937 user32/tests: Fix test failures in Hindi UTF-8 and mixed locales.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55656
2023-09-27 21:47:40 +02:00
Hans Leidekker
c3937d954f systeminfo: Add an implementation on top of WMI. 2023-09-27 21:47:40 +02:00
Hans Leidekker
917d6afa69 wbemprox: Implement Win32_OperatingSystem.InstallDate. 2023-09-27 21:47:40 +02:00
Hans Leidekker
ef14808c93 wbemprox: Fix Win32_OperatingSystem.TotalVirtual/VisibleMemorySize. 2023-09-27 21:44:06 +02:00
Hans Leidekker
97114ac884 wbemprox: Get Win32_OperatingSystem.BuildType from the registry. 2023-09-27 21:44:06 +02:00
Nikolay Sivov
985bb4263e d3d10/tests: Test for correct return value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-27 21:43:03 +02:00
Alistair Leslie-Hughes
cef39a24ee d3dx9: Trace pointer value in D3DXValidMesh(). 2023-09-27 21:42:52 +02:00
Alex Henrie
0d7cf84709 include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h. 2023-09-27 11:17:47 +02:00
Biswapriyo Nath
6786d38aa2 include: Add some structures in d3d12video.idl. 2023-09-27 11:17:08 +02:00
Zebediah Figura
a2c552f723 wined3d: Move struct wined3d_stateblock into stateblock.c. 2023-09-26 21:35:56 +02:00
Zebediah Figura
fb0c4ec5a3 wined3d: Make wined3d_stateblock_state_{init,cleanup}() static. 2023-09-26 21:35:56 +02:00
Zebediah Figura
7bb6dc7b83 wined3d: Remove invalid parameter checks from internal wined3d_device_set_*() functions. 2023-09-26 21:35:55 +02:00
Akihiro Sagawa
ae8b7109f0 cmd: Always outputs leading zeros when listing file time information. 2023-09-26 21:35:21 +02:00
Akihiro Sagawa
2188e11e78 cmd/tests: Test file time stamp format. 2023-09-26 21:35:21 +02:00
Akihiro Sagawa
6800ab403e cmd/tests: Add dir built-in command test. 2023-09-26 21:35:21 +02:00
Brendan Shanks
6d366ce7b4 msv1_0: Implement ntlm_fork() using posix_spawn(). 2023-09-26 21:22:49 +02:00
Bartosz Kosiorek
d18fd2c194 gdiplus/tests: Add tests of InterpolationMode Bilinear for GdipDrawImagePointsRect. 2023-09-26 21:21:25 +02:00
Andrew Brobston
54b875c08e d2d1: Support GUID_WICPixelFormat32bppRGB.
Needed by PowerFritz 18.
2023-09-26 21:20:06 +02:00
Nikolay Sivov
167ad1ee7b d3dcompiler: Add support for matrix majority compiler flags.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55182
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-26 21:19:50 +02:00
Yuxuan Shui
34319496d8 rtworkq: Fix leak of thread pool work items. 2023-09-26 21:19:43 +02:00
Biswapriyo Nath
20f88c831e include: Add ID3D12VideoEncodeCommandList2 in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
4ce218eea8 include: Add ID3D12VideoEncodeCommandList1 in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
acd89320bf include: Add ID3D12VideoDecodeCommandList1 in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
f30848ae17 include: Add ID3D12VideoEncodeCommandList in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
ee165f1d39 include: Add ID3D12VideoMotionVectorHeap in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
e09dd6a3dd include: Add ID3D12VideoMotionEstimator in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
15b46d5b56 include: Add ID3D12VideoDevice3 in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
c965dbae34 include: Add ID3D12VideoEncoderHeap in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Biswapriyo Nath
9e5778b81e include: Add ID3D12VideoEncoder in d3d12video.idl. 2023-09-26 21:19:29 +02:00
Alistair Leslie-Hughes
dcba11c185 msado15: _Recordset::Filter set index on value. 2023-09-26 21:19:10 +02:00
Alexandre Julliard
2569779739 server: Require ASLR support on non-x86 platforms. 2023-09-25 22:47:03 +02:00
Alexandre Julliard
518e394794 winebuild: Set ASLR-related dll flags by default. 2023-09-25 22:47:03 +02:00
Alexandre Julliard
0abd795ff0 kernel32/tests: Fix loader tests on Windows ARM64. 2023-09-25 22:47:03 +02:00
Eric Pouech
81c8c73de2 winedump: Improve dumping DEBUG directory entries in PE images.
- always add a data dump for unknown structures
- add some bits about POGO and REPRO entries
- protect against too small structures

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-25 21:53:47 +02:00
Connor McAdams
fded7c1d71 uiautomationcore: Make sure event thread is started when listening for WinEvents.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-25 21:47:49 +02:00
Connor McAdams
81caccbf84 uiautomationcore: Track HWNDs that need WinEvent translation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-25 21:47:49 +02:00
Connor McAdams
2a2c4cd7b9 uiautomationcore: Add WinEvent hook on the UIA event thread.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-25 21:47:48 +02:00
Connor McAdams
336503f3c9 uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-25 21:47:48 +02:00
Connor McAdams
87af89cb3b uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-25 21:47:48 +02:00
Mohamad Al-Jaf
ed2bfd4ad7 windows.applicationmodel: Implement IStorageItem::get_Path().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52665
2023-09-25 19:09:23 +02:00
Mohamad Al-Jaf
a7fa496b4b windows.applicationmodel/tests: Add IStorageItem::get_Path() tests. 2023-09-25 19:09:23 +02:00
Mohamad Al-Jaf
8d3ef2bb85 windows.applicationmodel: Add IStorageItem stub interface.
Needed for Minecraft Windows 10.
2023-09-25 19:09:23 +02:00
Mohamad Al-Jaf
4108dfe267 windows.applicationmodel: Implement IPackage::get_InstalledLocation().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52665
2023-09-25 19:09:23 +02:00
Mohamad Al-Jaf
ee567bb1b0 windows.applicationmodel: Implement IPackageStatics::get_Current().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52665
2023-09-25 19:09:23 +02:00
Mohamad Al-Jaf
612375a501 windows.applicationmodel: Add IPackageStatics stub interface. 2023-09-25 19:09:23 +02:00
Alexandre Julliard
c7fafe7eb2 widl: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard
176a6ca279 krnl386: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard
60f0c1b30f imagehlp: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard
0ee4bec912 dbghelp: Consistently use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard
db3af1b238 ntdll: Consistently use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard
af25f29cd2 winedump: Don't zero out the PE optional header regardless of specified size. 2023-09-25 11:37:42 +02:00
Alexandre Julliard
4d417076e4 server: Don't zero out the PE optional header regardless of specified size. 2023-09-25 11:07:03 +02:00
Jactry Zeng
316b5bc9b3 cabinet/tests: Initialize CURR_DIR globally.
So that we can run each test function independently.
2023-09-25 10:23:38 +02:00
Alex Henrie
535123c963 wpcap: Use the strdup function instead of reimplementing it. 2023-09-25 10:23:38 +02:00
Alex Henrie
6b7689cbae avifil32: Use CRT allocation functions. 2023-09-25 10:23:38 +02:00
Alex Henrie
4059c6ece2 wordpad: Use the wcsdup function instead of reimplementing it. 2023-09-25 10:23:38 +02:00
Alex Henrie
e130ef40a1 sc: Use CRT allocation functions. 2023-09-25 10:23:38 +02:00
Alex Henrie
33ce8e046d regedit: Use the wcsdup function instead or reimplementing it. 2023-09-25 10:23:38 +02:00
Alex Henrie
0a7084f45a reg: Use the wcsdup function instead of reimplementing it. 2023-09-25 10:23:38 +02:00
Alex Henrie
f24edd9dca dxdiag: Use CRT allocation functions. 2023-09-25 10:23:38 +02:00
Alex Henrie
c46300ff28 conhost: Use the wcsdup function instead of reimplementing it. 2023-09-25 10:23:38 +02:00
Esme Povirk
ffce2de26e user32/tests: Use a child window for test_PeekMessage3.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54026
2023-09-25 10:23:38 +02:00
Nikolay Sivov
8f6cf2d3c9 d3d10/tests: Add some tests for D3D10.1 blend state in effects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-25 10:23:38 +02:00
Rémi Bernon
196aa81738 dmloader: Get rid of the custom generic stream wrapper. 2023-09-25 10:23:38 +02:00
Rémi Bernon
975f262986 dmloader: Introduce a new loader_stream_create helper. 2023-09-25 10:23:38 +02:00
Rémi Bernon
7d33a77b56 dmloader: Initialize ref to 1, and release after QueryInterface. 2023-09-25 10:23:38 +02:00
Rémi Bernon
177158210d dmloader: Get rid of the IDirectMusicLoaderImpl typedef. 2023-09-25 10:23:38 +02:00
Rémi Bernon
464c1a8f72 dmloader: Rename IDirectMusicLoaderImpl method prefix to loader. 2023-09-25 10:18:29 +02:00
Biswapriyo Nath
3c0085b979 include: Add ID3D12VideoDevice2 in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
e24b67ecd0 include: Add ID3D12VideoExtensionCommand in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
7600dbe621 include: Add ID3D12VideoDevice1 in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
2dce530522 include: Add D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
9836a4e967 include: Add video decode profile guids in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
6ab8ba3189 include: Add ID3D12VideoDecodeCommandList in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
c6d05a6fb7 include: Add ID3D12VideoDecoderHeap in d3d12video.idl. 2023-09-25 10:13:24 +02:00
Biswapriyo Nath
3b1f51d602 include: Add ID3D12VideoDevice in d3d12video.idl. 2023-09-25 10:13:22 +02:00
Ally Sommers
56e58cbed1 ws2_32/tests: Add more tests for SO_REUSEADDR. 2023-09-22 20:58:28 +02:00
Biswapriyo Nath
e7824f105b include: Add ID3D12VideoDecoder in d3d12video.idl. 2023-09-22 20:58:01 +02:00
Alistair Leslie-Hughes
0635e9e767 mfreadwrite/tests: Move test_interfaces after test_factory.
test_interfaces requires that CoInitialize to have tbeen called.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55635
2023-09-22 20:54:23 +02:00
Alexandre Julliard
3c186a5ed0 vkd3d: Import upstream release 1.9. 2023-09-22 20:54:15 +02:00
Jacek Caban
3b5aef662f mshtml: Remove unused functions. 2023-09-22 11:49:36 +02:00
Brendan Shanks
3d32cb9cbe winecoreaudio: Use os_unfair_lock when available instead of OSSpinLock. 2023-09-22 10:38:36 +02:00
Nikolay Sivov
6ce99d16a6 d3d10/effect: Add signed integer compare instructions for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-22 10:38:31 +02:00
Nikolay Sivov
d49a6ab0de d3d10/effect: Implement instructions used for signed integer division.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-22 10:38:29 +02:00
Rémi Bernon
27ab696752 dmime: Implement DirectMusicSeqTrack IPersistStream_Load. 2023-09-21 22:32:37 +02:00
Rémi Bernon
d3742ab843 dmime: Get rid of the IDirectMusicSeqTrack typedef. 2023-09-21 22:32:36 +02:00
Rémi Bernon
a955339b3c dmband: Rewrite band track IPersistStream_Load. 2023-09-21 22:32:32 +02:00
Rémi Bernon
48f276f836 dmband: Rewrite band track DBMT chunk parsing. 2023-09-21 22:32:32 +02:00
Rémi Bernon
9276aec695 dmband: Rewrite band track lbdl/lbnd lists parsing. 2023-09-21 22:32:32 +02:00
Alistair Leslie-Hughes
8e9bea371d msado15: Recordset::Open - Correctly update count/index values.
ADO can return a RecordCount of -1.
2023-09-21 10:47:43 +02:00
Brendan Shanks
d9e1d419d5 winecoreaudio: Stop using the deprecated kAudioObjectPropertyElementMaster constant. 2023-09-21 10:47:34 +02:00
Esme Povirk
ee17400c05 user32/tests: Fix WM_WINDOWPOSCHANGED entries.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54031
2023-09-20 22:27:19 +02:00
Connor McAdams
05b4619d88 uiautomationcore: Handle EVENT_SYSTEM_ALERT in IProxyProviderWinEventHandler::RespondToWinEvent() for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-20 22:15:30 +02:00
Connor McAdams
c22bd318b3 uiautomationcore: Add stub IProxyProviderWinEventHandler implementation for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-20 22:15:30 +02:00
Connor McAdams
c7e976f819 uiautomationcore: Implement IRawElementProviderFragmentRoot::GetFocus for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-20 22:15:30 +02:00
Connor McAdams
ef1d5a0e0a uiautomationcore: Pass through failure HRESULTS on MSAA accState based property IDs for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-20 22:15:30 +02:00
Connor McAdams
08f3de268a uiautomationcore/tests: Increase wait timeout for cross-process event with navigation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-20 22:15:30 +02:00
Rémi Bernon
ecb38bf1c9 dmusic: Keep the original instrument patch in the entry. 2023-09-20 22:15:30 +02:00
Rémi Bernon
b6f1a1a186 dmusic/tests: Fixup chunk alignment in steam_end_chunk. 2023-09-20 22:15:29 +02:00
Rémi Bernon
4ea18f87cc dmime/tests: Test band track and DMUS_PATCH_PMSG. 2023-09-20 22:15:29 +02:00
Rémi Bernon
47c299ce17 dmime/tests: Test sequence track and DMUS_NOTE_PMSG. 2023-09-20 22:15:29 +02:00
Rémi Bernon
c04e686ad5 dmime/tests: Test wave segments and DMUS_WAVE_PMSG. 2023-09-20 22:15:29 +02:00
Rémi Bernon
b1bf0f0296 dmime/tests: Add some DMUS_NOTIFICATION_PMSG tests. 2023-09-20 22:15:29 +02:00
Piotr Caban
3b155ea637 msvcp90: Silence FIXME in _Locinfo::_Locinfo_ctor and _Locinfo::_Locinfo_Addcats functions. 2023-09-20 22:15:29 +02:00
Gabriel Ivăncescu
ee80f1a078 mshtml: Use the event_target vtbl's handle_event for all nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-20 22:15:29 +02:00
Gabriel Ivăncescu
5b59ba0cc1 mshtml: Use the dispex's invoke for all nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-20 22:15:29 +02:00
Gabriel Ivăncescu
85750f0963 mshtml: Use the dispex's get_name for all nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-20 22:15:29 +02:00
Gabriel Ivăncescu
a5ab4baed7 mshtml: Use the dispex's get_dispid for all nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-20 22:15:29 +02:00
Gabriel Ivăncescu
70dcbe73ac mshtml: Use the dispex's destructor for all nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-20 22:15:29 +02:00
Zebediah Figura
ae1e5ec35c d3d10core/tests: Test performing a full clear after a draw. 2023-09-20 22:15:29 +02:00
Zebediah Figura
3e51b67e31 wined3d: Pass a wined3d_stateblock_state to wined3d_device_validate_device().
Revert the use of wined3d_state_uses_depth_buffer() in this function to the
version before 8b4e07d5f3.
2023-09-20 22:15:29 +02:00
Henri Verbeet
d8c3b778a5 d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
It almost works as-is; we set "sample_shading" to FALSE when running with the
Vulkan backend, which causes the "(1024 <= data && data <= 1056)" test to be
applied, which fails and avoids a "Test succeeded inside todo block" result.
It'll mark the tests as a todo though, while it actually succeeds.
2023-09-20 22:15:29 +02:00
Henri Verbeet
da574ed9f3 wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
In general, NO3D surfaces are always in SYSMEM. More importantly though,
validating DRAWABLE will evict SYSMEM, but a subsequent
wined3d_texture_no3d_load_location() won't recreate it because it's always
supposed to be current. This fixes a regression introduced by commit
ebaa0a9426, and exposed by running the ddraw
tests with the "no3d" renderer.
2023-09-20 22:15:29 +02:00
Alistair Leslie-Hughes
fa4be54777 d3drm: Correctly query for the returned interface.
IDirect3DRM2::CreateTextureFromSurface is expected to return an IDirect3DRMTexture2 object.
2023-09-20 22:15:29 +02:00
Alex Henrie
269ce609d9 dsound: Use malloc and free instead of _recalloc.
The memory is completely overwritten a few lines later, so there is no
reason to preserve its original contents. Furthermore, _recalloc will
not be available if this DLL switches from ucrtbase to msvcrt, and the
code as written would leak memory if _recalloc failed.
2023-09-20 22:15:29 +02:00
Piotr Caban
d5988259c1 wineps.drv: Don't crash if specified font is missing required table in T42_download_header. 2023-09-20 22:15:29 +02:00
Piotr Caban
8f890d412d wineps.drv: Remove unused hmtx_tab field from TYPE42 structure. 2023-09-20 22:15:29 +02:00
Alexandre Julliard
30229d47e9 kernel32/tests: Update dll characteristics to make the module loadable on ARM64. 2023-09-20 22:15:29 +02:00
Alexandre Julliard
24c290523c kernel32/tests: Unaligned SRW locks crash on ARM platforms. 2023-09-20 22:15:29 +02:00
Alexandre Julliard
fc6b9399db kernel32/tests: Don't make assumptions about argv[0] of the main process. 2023-09-20 22:15:29 +02:00
Alexandre Julliard
74559aaa7f kernel32/tests: Comment out one more test that can crash on Windows. 2023-09-20 22:15:29 +02:00
Alexandre Julliard
a5fe0bc70f ntdll: Remove unneeded SEH annotations in Unix code. 2023-09-20 11:22:50 +02:00
Alexandre Julliard
a947eff6a4 vcomp: Add SEH annotations to ARM64 assembly code. 2023-09-20 11:18:29 +02:00
Alexandre Julliard
3acb058a55 rpcrt4: Add SEH annotations to ARM64 assembly code. 2023-09-20 11:18:10 +02:00
Alexandre Julliard
bb611b9db7 oleaut32: Add SEH annotations to ARM64 assembly code. 2023-09-20 11:17:40 +02:00
Hans Leidekker
37c19e7a87 winmm/tests: Avoid truncating the handle passed to waveInGetDevCapsW().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55240
2023-09-20 10:58:17 +02:00
Jactry Zeng
085e95cd5e msi: Use CreateFileW() for handling path from cabinet_open() instead. 2023-09-20 10:17:24 +02:00
Alex Henrie
9ef927472c wshom: Use the wcsdup function instead of reimplementing it. 2023-09-20 10:16:20 +02:00
Alex Henrie
42d1346846 shell32: Use the wcsdup function instead of reimplementing it. 2023-09-20 10:16:04 +02:00
Alex Henrie
82faa82339 ncrypt: Use the wcsdup function instead of reimplementing it. 2023-09-20 10:15:17 +02:00
Alex Henrie
45c6da6508 msvfw32: Use CRT allocation functions. 2023-09-20 10:15:10 +02:00
Alex Henrie
90a5dc72d3 mciwave: Use CRT allocation functions. 2023-09-20 10:14:58 +02:00
Alex Henrie
7dc45bd846 gameux: Use CRT allocation functions. 2023-09-20 10:14:09 +02:00
Alex Henrie
9d6a384508 advpack: Use CRT allocation functions. 2023-09-20 10:13:45 +02:00
Alex Henrie
6129ea6be8 oleaut32: Use CRT allocation functions in typelib.c. 2023-09-20 10:12:53 +02:00
Alex Henrie
b9468c636f oleaut32: Use CRT allocation functions in olepicture.c. 2023-09-20 10:12:53 +02:00
Alex Henrie
b07c46fb0b oleaut32: Use CRT allocation functions in hash.c. 2023-09-20 10:12:53 +02:00
Alex Henrie
fd40997c9f oleaut32: Use CRT allocation functions in connpt.c. 2023-09-20 10:12:52 +02:00
Eric Pouech
6558611fa2 ntdll: Allow empty application nodes in actctx.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-19 21:34:15 +02:00
Piotr Caban
1155a1914b msvcp140_atomic_wait: Add __std_acquire_shared_mutex_for_instance implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55184
2023-09-19 21:33:23 +02:00
Connor McAdams
46b78c5d6d uiautomationcore: Don't return oleacc proxy IAccessibles from GetIAccessible for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
00799933bc uiautomationcore: Implement IRawElementProviderFragment::get_FragmentRoot for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
008c1c1128 uiautomationcore: Add a common helper function for querying IServiceProvider on IAccessible interfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
32814b8785 uiautomationcore: Add stub IRawElementProviderFragmentRoot implementation for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
b88365a0ac uiautomationcore/tests: Add support for debug printing Provider method calls.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
a065e8e9c7 uiautomationcore/tests: Add support for debug printing Accessible method calls.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Connor McAdams
9c091d3edb uiautomationcore/tests: Add method expect definitions for all Accessible test interfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-19 21:32:36 +02:00
Rémi Bernon
a4c1dec89d dmime: Use segment_append_track in Clone and parse_track_form. 2023-09-19 21:32:36 +02:00
Rémi Bernon
0bdc248cfe dmime: Rewrite segment IDirectMusicSegment_RemoveTrack. 2023-09-19 21:32:36 +02:00
Rémi Bernon
f04976e01d dmime: Rewrite segment IDirectMusicSegment_InsertTrack. 2023-09-19 21:32:36 +02:00
Rémi Bernon
d045eae8b7 dmime: Rewrite segment IDirectMusicSegment_GetTrackGroup. 2023-09-19 21:32:36 +02:00
Rémi Bernon
a713797597 dmime: Rewrite segment IDirectMusicSegment_GetTrack. 2023-09-19 21:32:36 +02:00
Rémi Bernon
c0b52aa3a7 dmime: Avoid leaking tracks in IDirectMusicSegment_Release. 2023-09-19 21:32:36 +02:00
Rémi Bernon
6699becf52 dmime: Get rid of the IDirectMusicSegmentImpl typedef. 2023-09-19 21:32:36 +02:00
Rémi Bernon
d2cdb9cfa2 dmime: Use one-liners for segment parameter checks. 2023-09-19 21:32:36 +02:00
Rémi Bernon
3ff263deba dmime: Rename IDirectMusicSegment8Impl method prefix to segment. 2023-09-19 21:32:36 +02:00
Rémi Bernon
94c1dd8a6e dmband: Rewrite band IPersistStream_Load. 2023-09-19 21:32:36 +02:00
Rémi Bernon
b2f1e97813 dmband: Rewrite band dmbd chunk parsing. 2023-09-19 21:32:36 +02:00
Rémi Bernon
ba69ffeff4 dmband: Rewrite band lbil list parsing. 2023-09-19 21:32:36 +02:00
Rémi Bernon
dfcb827318 dmband: Rewrite band lbin list parsing. 2023-09-19 21:32:36 +02:00
Rémi Bernon
9d390da964 dmband: Avoid leaking collection on band release. 2023-09-19 21:32:36 +02:00
Rémi Bernon
7fb9afea1a dmband: Avoid leaking bands on band track Release. 2023-09-19 21:32:36 +02:00
Rémi Bernon
696e8c1208 dmband: Get rid of the IDirectMusicBandTrack typedef. 2023-09-19 21:32:36 +02:00
Rémi Bernon
d3c5fe89f9 dmband: Get rid of the IDirectMusicBandImpl typedef. 2023-09-19 21:32:36 +02:00
Rémi Bernon
be0085238e dmband: Rename IDirectMusicBandImpl prefix to band. 2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
02e03a64fa mshtml: Use the dispex's query_interface for the remaining nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
7abe095187 mshtml: Use the dispex's query_interface for DOMTextNodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
57f7159a21 mshtml: Use the dispex's query_interface for Document nodes and fragments.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
1b2eb0d879 mshtml: Use the dispex's query_interface for DocumentType nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
bbd9c41a0e mshtml: Use specific dispex for each SVG element.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:32:36 +02:00
Gabriel Ivăncescu
d31e95a7a7 mshtml: Use specific dispex vtbls for remaining HTML elements.
Will be needed when we move the query_interface to the dispex.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-19 21:31:54 +02:00
Joel Holdsworth
c695f8906f ntdll/tests: Test both FileLinkInformation and FileLinkInformationEx in test_file_link_information.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-19 17:41:02 +02:00
Joel Holdsworth
26b8284d21 include: Add flags to FILE_LINK_INFORMATION used by FileLinkInformationEx.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-19 17:41:02 +02:00
Joel Holdsworth
67479f8c2f ntdll/tests: Test both FileRenameInformation and FileRenameInformationEx in test_file_rename_information.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-19 17:41:02 +02:00
Joel Holdsworth
f112dde0e7 include: Add flags to FILE_RENAME_INFORMATION used by FileRenameInformationEx.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-19 17:41:02 +02:00
Yuxuan Shui
f9f9481b67 user32: Add hotpatchable wrapper for GetWindowLongA.
ntlea for some reason expects GetWindowLongA to start with a "push $-2", and
will try to skip over this instruction. If we don't anticipate this, it will
ended up either skipping over critical instructions, or on a desync address.
2023-09-19 16:59:45 +02:00
Yuxuan Shui
2508bb8363 user32: Make CallWindowProcA hotpatchable.
Needed for ntlea.
2023-09-19 16:59:45 +02:00
Yuxuan Shui
74027f3731 gdi32: Make GetStockObject hotpatchable.
Needed for ntlea.
2023-09-19 16:59:45 +02:00
Martin Storsjö
9a3266537d include: Update the d3d12 headers from vkd3d.
This corresponds to vkd3d as of commit
e597b0d80f39f716a8740cb0be55edc78f4599d6.

This brings in a function signature fix for the implementation
of ID3D12CommandQueue::UpdateTileMappings() as well, from
vkd3d commit e98e6c9b530995e68bd019a3319d90223ed864cf.

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-19 16:59:45 +02:00
Alexandre Julliard
cfaf09940a winebuild: Make the syscall thunks position-independent on ARM64. 2023-09-19 16:59:45 +02:00
Alexandre Julliard
40c1c498a9 winebuild: Add a few more SEH annotations. 2023-09-19 16:59:45 +02:00
Alexandre Julliard
e3aa775a63 winebuild: Remove unnecessary .cfi_startproc/endproc annotations. 2023-09-19 14:27:17 +02:00
Alexandre Julliard
6828fc8b3a winebuild: Add a separate helper for .seh annotations. 2023-09-19 14:27:17 +02:00
Alex Henrie
38a7e68af1 include: Move RTL functions that belong in winnt.h from winternl.h to winnt.h. 2023-09-19 14:27:17 +02:00
Jeff Smith
a51c15ff72 gdiplus: Fix GdipCreateFont character set initialization.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34789
2023-09-19 11:38:51 +02:00
Jeff Smith
13174a2f5f gdiplus/tests: Test GdipCreateFont character set initialization. 2023-09-19 11:38:50 +02:00
Piotr Caban
a240d38085 msvcr110: Use Context blocking functions in _StructuredTaskCollection class. 2023-09-18 20:35:58 +02:00
Piotr Caban
a035c63912 msvcr110: Simplify _StructuredTaskCollection finished task counter updating. 2023-09-18 20:35:58 +02:00
Piotr Caban
5833732b9a msvcp110: Add _Winerror_map implementation.
Based on patch by Myah Caron.
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
912f1a43de mshtml: Get rid of useless element destructors.
Just use the HTMLElement_destructor directly.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
1384295024 mshtml: Move node vtbl destructor methods down.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
6c1c1aaaa1 mshtml: Move node vtbl QI methods around.
So they're in a consistent ordering for dispex conversion.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
6e6cc7e286 mshtml: Move some SelectElement methods up.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
7977a6bd59 mshtml: Move some ObjectElement methods up.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
3ed71ab58c mshtml: Move some IFrame methods down.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
e5dbfad54c mshtml: Move some FrameElement methods down.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
3ae610ad32 mshtml: Move some FormElement methods up.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
0593b1d279 mshtml: Move some AreaElement methods up.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
65287103e9 mshtml: Move some AnchorElement methods up.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Gabriel Ivăncescu
66fd80baf9 mshtml: Move some Element methods around.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-18 20:35:58 +02:00
Rémi Bernon
5f0474009e dmime: Pass the DMUS_PMSG through the performance graph. 2023-09-18 20:35:58 +02:00
Rémi Bernon
0a93c69b13 dmime: Rename DMUS_PMSGToItem to message_from_DMUS_PMSG. 2023-09-18 20:35:58 +02:00
Rémi Bernon
61ebdbcbbd dmime: Remove unnecessary struct message members. 2023-09-18 20:35:58 +02:00
Rémi Bernon
db9758fb4e dmime: Use a struct list to keep performance messages. 2023-09-18 20:35:58 +02:00
Rémi Bernon
419ab9284a dmime: Get rid of the DMUS_PMSGItem typedef. 2023-09-18 20:35:58 +02:00
Rémi Bernon
6cd1c4e64a dmime: Convert DMUS_PMSG music and reference times in SendPMsg. 2023-09-18 20:35:58 +02:00
Rémi Bernon
eedde52809 dmime/tests: Test that SendPMsg also converts reference time.
And avoid checking a possibly freed message.
2023-09-18 20:35:58 +02:00
Eric Pouech
9a28dbfb27 dbghelp: Check that dwarf unwinder did actually unwind.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55560
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-18 20:35:58 +02:00
Connor McAdams
80a9c0efa8 include: Add missing WinEvent definitions.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-18 20:35:58 +02:00
Ally Sommers
998febf7cf server: Return WSAEOPNOTSUPP on listen() if the socket's type is SOCK_DGRAM. 2023-09-18 20:35:58 +02:00
Esme Povirk
bf6f255c14 user32/tests: Account for some messages from dual-monitor setups.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54031
2023-09-18 11:02:43 +02:00
Alistair Leslie-Hughes
07f50ee66b mfreadwrite/reader: Update to IMFSourceReaderEx.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-18 11:02:33 +02:00
Jinoh Kang
67fbcff745 wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
Windows seems to recognize Unicode codepoints above U+007F as a valid
identifier character regardless of their actual character class.
Mimic that behaviour.
2023-09-18 11:02:21 +02:00
Nikolay Sivov
0fac6c11f2 d3d10/effect: Implement 'mov' opcode for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-18 11:02:00 +02:00
Rémi Bernon
5626be6bb8 dmusic: Implement instrument articulation downloads. 2023-09-18 11:01:47 +02:00
Rémi Bernon
a788bf9641 dmusic: Parse instrument regions articulation lists. 2023-09-18 11:01:47 +02:00
Rémi Bernon
d32fb707ad dmusic: Implement downloading wave to port. 2023-09-18 11:01:47 +02:00
Rémi Bernon
f54b0a5a9b dmusic: Keep an internal ref on the instrument's collection. 2023-09-18 11:01:47 +02:00
Rémi Bernon
82d1794cd4 dmusic: Parse collection wave lists. 2023-09-18 11:01:46 +02:00
Rémi Bernon
2f5608efd1 dmusic: Parse collection wave table. 2023-09-18 11:01:46 +02:00
Rémi Bernon
120a743c96 dmusic: Rewrite downloading instrument to port. 2023-09-18 11:01:46 +02:00
Rémi Bernon
0cb208cec2 dmusic: Avoid swallowing collection Load failures. 2023-09-18 11:01:46 +02:00
Huw Davies
150b8dd013 gdiplus: Copy the compound array in GdipClonePen(). 2023-09-18 11:01:32 +02:00
Connor McAdams
f0525a5ff6 uiautomationcore: Implement UiaHasServerSideProvider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-18 11:01:25 +02:00
Connor McAdams
815e3889c6 uiautomationcore: Add a common helper function for creating HUIANODEs.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-18 11:01:25 +02:00
Connor McAdams
12b2d34976 uiautomationcore: Add UiaHasServerSideProvider stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-09-18 11:01:22 +02:00
Alexandre Julliard
cf5e073d14 Release 8.16. 2023-09-15 21:38:23 +02:00
Esme Povirk
b61ff6df21 user32/tests: Ignore other messages in test_broadcast.
If the SendMessageTimeout call takes a long time, we can get other
messages which also set the observed wparam value. Apparently,
this is especially likely on Windows 7.

This also removes the (wParam == 0xbaadbeef) check which may have
been intended to serve the same goal but doesn't work because the
observed wParam value is still assigned.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54194
2023-09-15 21:18:44 +02:00
Alex Henrie
f081205b92 http: Use CRT allocation functions. 2023-09-15 21:18:20 +02:00
Alex Henrie
b47a3305ad newdev: Use CRT allocation functions. 2023-09-15 21:18:14 +02:00
Eric Pouech
776ba1304e dbghelp: Don't insert dwz file map into module's file maps' chain.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-15 21:15:28 +02:00
Gabriel Ivăncescu
75f2ae3453 mshtml: Unlink document nodes and fragments using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
71f0ea7e1f mshtml: Traverse and unlink TextAreaElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
cbe7bf2c9b mshtml: Traverse and unlink TableElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
ec2461f779 mshtml: Traverse and unlink StyleElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
d66560c966 mshtml: Traverse and unlink SelectElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
e5c40735ca mshtml: Traverse and unlink ScriptElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
78c60c0718 mshtml: Traverse and unlink OptionElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Gabriel Ivăncescu
44e5d7d09d mshtml: Traverse and unlink ObjectElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-15 21:15:06 +02:00
Zebediah Figura
4108dbf1bb sensapi: Remove unnecessary includes. 2023-09-15 18:42:43 +02:00
Matteo Bruni
15df23a88b wined3d: Don't skip ARB fragment program selection when fog state is dirty.
This is in the same vein as e106bbdd39
and further fallout from 2ddb6b66a7.
2023-09-15 18:34:12 +02:00
Matteo Bruni
e5652dbdb4 wined3d: Skip acquiring a context for an offscreen resource in texture2d_read_from_framebuffer(). 2023-09-15 18:34:12 +02:00
Matteo Bruni
510e262676 wined3d: Don't force going through a texture when downloading from renderbuffers.
It can be unnecessary at best and unsupported at worst (e.g. no
ARB_texture_multisample or MultisampleTextures setting disabled).
2023-09-15 18:34:12 +02:00
Matteo Bruni
0b5bd25415 wined3d: Handle depth textures in texture2d_read_from_framebuffer(). 2023-09-15 18:34:12 +02:00
Matteo Bruni
7d5f9e42d3 wined3d: Rename wined3d_context_gl_apply_fbo_state_blit() function.
To wined3d_context_gl_apply_fbo_state_explicit(). It's not really
related to blitting in principle; what it does is attaching specific
textures to the FBO instead of the d3d render targets, which was the
"original" use of FBOs in wined3d.

BTW even that original use case (currently handled by
context_state_fb()) is not using render_targets[] directly anymore and
we end up kind of abusing the blit_targets[] arrays in struct
wined3d_context_gl. Maybe we could rename that array as well.
2023-09-15 18:34:12 +02:00
Matteo Bruni
4c93750ea7 wined3d: Don't setup FBO and draw buffers in wined3d_context_gl_apply_blit_state().
All the callers (i.e. the blitters) also call
context_gl_apply_texture_draw_state() that does that part of the setup
anyway.
2023-09-15 18:34:12 +02:00
Matteo Bruni
9448c7162e wined3d: Don't call wined3d_texture_load() from wined3d_context_gl_apply_blit_state().
It really isn't supposed to be its responsibility. All the callers of
the function (which are blitters) take care of it already.
2023-09-15 18:34:12 +02:00
Matteo Bruni
512ceb0856 wined3d: Don't bind the FBO to GL_READ_FRAMEBUFFER in wined3d_context_gl_apply_blit_state(). 2023-09-15 18:34:11 +02:00
Matteo Bruni
f57158c240 wined3d: Prepare/load the destination resource location in arbfp_blitter_blit().
Port of c0ab55700f to the ARB FP blitter.
2023-09-15 18:34:11 +02:00
Matteo Bruni
35634c42a9 wined3d: Prepare/load the destination resource location in ffp_blitter_blit().
Port of c0ab55700f to the FFP blitter.
2023-09-15 18:34:11 +02:00
Matteo Bruni
1e3ee36a71 wined3d: Don't call wined3d_context_gl_apply_blit_state() from texture2d_read_from_framebuffer().
None of the GL states set by wined3d_context_gl_apply_blit_state()
should matter for glReadPixels(), aside from the FBO read binding. So
just do that instead.

Some wined3d git archaeology suggests that the
wined3d_context_gl_apply_blit_state() call was added right before Wine
1.2 to workaround various driver issues with glReadPixels() that in
practice was erroneously affected by some GL states. If those kind of
issues are still a thing, it might be necessary to reintroduce some
limited state reset, possibly tied to a quirk.
2023-09-15 18:34:11 +02:00
Hans Leidekker
46e3f259c1 iphlpapi/tests: Call GetExtendedTcp/UdpTable() in a loop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54588
2023-09-15 18:34:11 +02:00
Hans Leidekker
c2c0fefb99 iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
As shown by the testbot, doubling is not always sufficient.
2023-09-15 18:34:11 +02:00
Paul Gofman
e802019d47 d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace(). 2023-09-15 18:34:11 +02:00
Paul Gofman
629c2f90d6 d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace(). 2023-09-15 18:34:11 +02:00
Alexandre Julliard
e0f98c0ce9 ntdll/tests: Mark some tests as todo for ARM64. 2023-09-15 18:33:29 +02:00
Alexandre Julliard
6cde96fb38 ntdll: Fix the SystemProcessorFeaturesInformation value on ARM platforms. 2023-09-15 15:58:40 +02:00
Alexandre Julliard
4fabaa6a28 ntdll: Fixup the pc address for breakpoint exceptions on ARM64. 2023-09-15 15:57:09 +02:00
Alexandre Julliard
75b3022aaa ntdll: Fix the hardcoded selector values for ARM64. 2023-09-15 15:56:37 +02:00
Piotr Caban
4d26d30574 wineps: Fix EMRPOLYDRAW16 printing.
It fixes EMRPOLYDRAW16 printing when -O2 option is used (in GCC 12.3.1). The
compiler assumes that apts table has 0 or 1 elements and optimizes the loop
out.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55486
2023-09-15 12:07:03 +02:00
Piotr Caban
a59336bc31 wineps: Remove dynamic glyph list.
We can't do much without unicode mapping.
2023-09-15 12:07:03 +02:00
Gerald Pfeifer
4ae4accac5 ntdll: Fix leave_handler for FreeBSD and NetBSD.
With recent changes leave_handler writes to some of its parameter's
fields (via DS_sig and ES_sig) on FreeBSD and NetBSD - which fails
since it is declared const. Accordingly strip const-ness.
2023-09-15 12:07:03 +02:00
Arkadiusz Hiler
e1f0318ec4 dsound: Get rid of the global device GUID arrays.
They are not used for anything anymore and just impose limit of 10
devices of a given type (capturer / renderer) without doing bound
checking.
2023-09-15 11:15:56 +02:00
Brendan Shanks
ca86155b1a winepulse: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:56 +02:00
Brendan Shanks
39864e80e6 wineoss: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:56 +02:00
Brendan Shanks
111e0cbd22 winecoreaudio: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:56 +02:00
Brendan Shanks
63c0f01c96 winealsa: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:56 +02:00
Brendan Shanks
5926718925 capi2032: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:55 +02:00
Brendan Shanks
e6219beef4 netapi32: Ensure unixlib function tables and enum stay in sync. 2023-09-15 11:15:55 +02:00
Rémi Bernon
f71315c849 dmusic: Add more parsed instruments traces. 2023-09-14 22:03:53 +02:00
Rémi Bernon
3fa399b145 dmusic: Parse instrument name from INFO list. 2023-09-14 22:03:53 +02:00
Rémi Bernon
d30f914de6 dmusic: Rewrite collection DLS chunk parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon
866d4998ed dmusic: Rewrite collection INFO list parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon
af79bf4f22 dmusic: Rewrite collection ptbl chunk parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon
bb2a8312b1 dmusic: Rewrite collection lins list parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon
4b787aa9b3 dmime: Implement IDirectMusicPerformance8_ClonePMsg. 2023-09-14 21:20:16 +02:00
Rémi Bernon
0c4e1e4352 dmime: Cleanup IDirectMusicPerformance_SendPMsg. 2023-09-14 21:20:16 +02:00
Rémi Bernon
4adeeb72d3 dmime: Cleanup IDirectMusicPerformance_FreePMsg. 2023-09-14 21:20:16 +02:00
Rémi Bernon
9d600ce191 dmime: Cleanup IDirectMusicPerformance_AllocPMsg. 2023-09-14 21:20:16 +02:00
Rémi Bernon
52ae3fada0 dmime: Implement MusicToReferenceTime and ReferenceToMusicTime. 2023-09-14 21:20:15 +02:00
Rémi Bernon
d407b3ca52 dmime: Rewrite IDirectMusicPerformance8_GetTime. 2023-09-14 21:20:15 +02:00
Jacek Caban
02ea15b1fb wow64win: Implement wow64_NtUserImmTranslateMessage. 2023-09-14 21:06:31 +02:00
Alfred Agrell
f8d9bf3651 quartz/tests: Fix segfault in changed3ddevice test. 2023-09-14 20:27:41 +02:00
Jacek Caban
918eeb0d73 ntdll/tests: Add tests for setting context on unsuspended thread.
Based on patch by Evan Tang.
2023-09-14 13:02:04 +02:00
Jacek Caban
a25ac1edb9 server: Store both contexts in pending context object.
And discard irrelevant parts in select request.
2023-09-14 13:02:01 +02:00
Alexandre Julliard
949681d8c3 localspl: Fix an uninitialized variable warning with clang. 2023-09-14 12:32:57 +02:00
Francois Gouget
c63b323e22 kernel32/tests: Allow a 0 removed entry count in the completion test.
This matches the ntdll:file fix.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54554
2023-09-14 12:30:33 +02:00
Esme Povirk
2830f98518 user32/tests: Account for ignored messages in PeekMessage call.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53435
2023-09-14 11:22:10 +02:00
Esme Povirk
2da42cec5b user32/tests: Delete a faulty test.
I prefer not to delete any tests, but I see no way to preserve
this one while accounting for the possibility of an ignored
message coming in during the 100 ms wait, and for the most part
it seems redundant with other tests.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53435
2023-09-14 11:22:03 +02:00
Alex Henrie
43f01a2fe5 winmm: Use CRT allocation functions. 2023-09-14 11:21:44 +02:00
Alex Henrie
38111eb3c5 winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc. 2023-09-14 11:21:44 +02:00
Piotr Caban
c57f5d98ab msvcp110: Add _Throw_C_error implementation. 2023-09-14 11:19:03 +02:00
Piotr Caban
d87d101af9 msvcp100: Fix failure class layout. 2023-09-14 11:19:03 +02:00
Zhiyi Zhang
109d15ab35 user32: Map WM_CHAR wparam in ASCII to Unicode in IsDialogMessageA() for CJK locales.
Fix displaying Chinese characters as "??" in some applications with Chinese locale.
2023-09-14 11:18:48 +02:00
Zhiyi Zhang
fe594a83d4 user32/tests: Test IsDialogMessageA() converting ASCII WM_CHAR messages. 2023-09-14 11:18:48 +02:00
Zebediah Figura
b3212327c7 wined3d: Do not set last_was_pshader from the GLSL fragment pipe.
It's only used by the arbfp, nvts, and ffp pipes.
2023-09-14 11:16:00 +02:00
Zebediah Figura
dc2f353884 wined3d: Remove the unused "current_vprogram_id" field from struct shader_arb_priv.
This has been unused since 1bd56b6ca5.
2023-09-14 11:15:58 +02:00
Zebediah Figura
95197f62a0 wined3d: Remove the unused "current_fprogram_id" field from struct shader_arb_priv.
This has been unused since 1bd56b6ca5.
2023-09-14 11:15:57 +02:00
Zebediah Figura
0c4bb26639 wined3d: Remove WINED3D_TEXTURE_NORMALIZED_COORDS.
This is no longer used. It was previously used in two places to perform
an open-coded wined3d_context_gl_draw_textured_quad(), but the latter checks
wined3d_texture_gl.target instead, which is set to GL_TEXTURE_2D or
GL_TEXTURE_RECTANGLE_ARB under the exact same conditions, making this flag
redundant even at the time.

The two uses were removed in 012f9b03f8 [which changed the relevant code to use
wined3d_context_gl_draw_textured_quad() instead], and cdacbd985 [which removed
the relevant code entirely.]
2023-09-14 11:15:55 +02:00
Zebediah Figura
37a60f580c wined3d: Remove the unused "sampler" local variable from wined3d_context_vk_load_shader_resources().
This was made unused by a42808b54a.
2023-09-14 11:15:53 +02:00
Zebediah Figura
85c89bd864 wined3d: Do not use EXT_transform_feedback if transformFeedback is not actually supported. 2023-09-14 11:15:38 +02:00
Zebediah Figura
067c8acd95 wined3d: Do not use EXT_host_query_reset if hostQueryReset is not actually supported. 2023-09-14 11:15:38 +02:00
Zebediah Figura
c87786b30e wined3d: Allow creating a feature level < 10 device if KHR_shader_draw_parameters is missing.
vkd3d-shader only needs it for SV_VertexID and SV_InstanceID, which are specific
to shader model 4 and higher.
2023-09-14 11:15:36 +02:00
Zebediah Figura
f959068788 wined3d: Enable shaderDrawParameters on Vulkan 1.1 if supported.
This fixes a validation error:

[ VUID-VkShaderModuleCreateInfo-pCode-01091 ] Object 0: handle = 0x7fbdb300, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa7bb8db6 | vkCreateShaderModule(): The SPIR-V Capability (DrawParameters) was declared, but none of the requirements were met to use it. The Vulkan spec states: If pCode declares any of the capabilities listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01091)
2023-09-14 11:15:31 +02:00
Alistair Leslie-Hughes
cfae1ceb04 d3drm: Correct D3DRMIMAGE validation. 2023-09-14 11:15:01 +02:00
Hans Leidekker
e85cab70ea winscard/tests: Skip tests when SCardListReadersA() returns an empty list. 2023-09-14 11:14:42 +02:00
Hans Leidekker
417dc2b40e wpcap/tests: Accept another return value from pcap_can_set_rfmon(). 2023-09-14 11:14:35 +02:00
Gabriel Ivăncescu
e6c2395fd4 mshtml: Traverse and unlink LinkElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
d47279b5b6 mshtml: Traverse and unlink ButtonElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
e5afc6886a mshtml: Traverse and unlink InputElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
a9e5a23311 mshtml: Traverse and unlink ImageElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
9d10b6399e mshtml: Traverse and unlink IFrames using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
015cfd9ec6 mshtml: Traverse and unlink FrameElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
35aeccf3b1 mshtml: Traverse and unlink FormElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
87a06268fc mshtml: Traverse and unlink BodyElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
20d8e72c65 mshtml: Traverse and unlink AreaElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Gabriel Ivăncescu
36d923e20e mshtml: Traverse and unlink AnchorElements using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-14 11:14:03 +02:00
Stefan Dösinger
b059052ece d3d9/tests: Mark hidden window WM_WINDOWPOSCHANGED tests unconditionally flaky.
kwin resizes hidden windows most of the time. I see the existing flaky
markers triggered on Windows 11 occasionally.
2023-09-14 11:13:50 +02:00
Stefan Dösinger
48a4f670d1 d3d8/tests: Mark the hidden test WM_WINDOWPOSCHANGED test flaky. 2023-09-14 11:13:50 +02:00
Stefan Dösinger
b14d7f2fa8 d3d9/tests: Fix skipping ATI2N in test_resource_access. 2023-09-14 11:13:36 +02:00
Stefan Dösinger
7bbf29644c d3d8/tests: Fix skipping ATI2N in test_resource_access. 2023-09-14 11:13:36 +02:00
Stefan Dösinger
ac85fa8d0f d3d9/tests: Request a 3 mip level cube texture in test_getdc().
If we let d3d9 decide we get a single-level texture on HW that does not
support mipmapped cubes, e.g. r200 GPUs. By explicitly requesting the 3
levels we need we'll skip the test.

The test demonstrates that only one subresource can be locked / have a
DC, so it makes sense to show that this applies to the whole texture and
not just one level.
2023-09-14 11:13:33 +02:00
Stefan Dösinger
b3e98cadfa d3d8/tests: Zero stride tests crash on Windows XP, r200 GPU. 2023-09-14 11:13:33 +02:00
Stefan Dösinger
da264c4d00 d3d9/tests: Zero stride tests crash on Windows XP, r200 GPU. 2023-09-14 11:13:33 +02:00
Arkadiusz Hiler
0b7b6d1050 dsound: Get rid of DSOUND_capturers and related lock.
Ever since dcaeb6b4fd ("dsound: Allow multiple buffers to capture from
the same device.") it's not used for anything.
2023-09-14 11:12:59 +02:00
Brendan Shanks
c95ec7236c winspool.drv: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:43 +02:00
Brendan Shanks
e8ea81cf7a dwrite: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:36 +02:00
Brendan Shanks
40051cfa5b winegstreamer: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:29 +02:00
Brendan Shanks
2fd33f6ce1 bcrypt: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:16 +02:00
Brendan Shanks
9492913dee ws2_32: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:05 +02:00
Brendan Shanks
798eff6a0e msv1_0: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:12:00 +02:00
Brendan Shanks
495e1a0c5b crypt32: Ensure unixlib function tables and enum stay in sync. 2023-09-14 11:11:55 +02:00
Rémi Bernon
aeea45946a dmime: Use PARENTSRC with dmusic. 2023-09-14 11:11:47 +02:00
Rémi Bernon
d6f049e8a5 dmscript: Use PARENTSRC with dmusic. 2023-09-14 11:11:46 +02:00
Rémi Bernon
f49b5ca85e dmscript: Use CRT allocation functions. 2023-09-14 11:11:46 +02:00
Rémi Bernon
b02b32f9b7 dmscript: Always return S_FALSE from DllCanUnloadNow. 2023-09-14 11:11:46 +02:00
Rémi Bernon
da8a8bbf9a dmloader: Use PARENTSRC with dmusic. 2023-09-14 11:11:46 +02:00
Rémi Bernon
307b13bcf5 dmloader: Use CRT allocation functions. 2023-09-14 11:11:46 +02:00
Rémi Bernon
30e5892c98 dmloader: Always return S_FALSE from DllCanUnloadNow. 2023-09-14 11:11:45 +02:00
Rémi Bernon
6798b73452 dmcompos: Use PARENTSRC with dmusic. 2023-09-14 11:11:45 +02:00
Rémi Bernon
8a02434cf0 dmcompos: Use CRT allocation functions. 2023-09-14 11:11:45 +02:00
Rémi Bernon
7d94983c73 dmcompos: Always return S_FALSE from DllCanUnloadNow. 2023-09-14 11:11:42 +02:00
Jacek Caban
81c05589af shell32: Use a signed value to assign single signed bitfields values. 2023-09-13 22:07:19 +02:00
Jacek Caban
50adef1949 shell32: Use unsigned types for bit fields. 2023-09-13 22:07:19 +02:00
Jacek Caban
555394b79c regedit: Use unsigned types for bitfields. 2023-09-13 22:07:19 +02:00
Jacek Caban
3d50c79b64 ole32/tests: Don't use bitfield for called_todo. 2023-09-13 22:07:19 +02:00
Jacek Caban
7848941a45 msvcrt: Use unsigned types for bitfields. 2023-09-13 22:07:19 +02:00
Jacek Caban
1913d265d7 mshtml: Use unsigned types for bitfields. 2023-09-13 22:07:19 +02:00
Alexandre Julliard
78c77ae3e0 ntdll/tests: Fix some test failures on ARM64 Windows. 2023-09-13 22:07:19 +02:00
Alexandre Julliard
d08723fbf7 include: Add DECLSPEC_NOINLINE macro. 2023-09-13 22:05:46 +02:00
Joel Holdsworth
50dfe977b7 ntdll/tests: Update link test to reflect Windows 11 behaviour.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-09-13 20:25:17 +02:00
Zebediah Figura
d63acb3b91 dsound: Do not include strmif.h.
dsound_private.h pulls in mediaobj.h, which previously pulled in strmif.h.
We were including that under the initguid.h, which meant that strmif.h GUIDs
were being defined in both dsound_main.o and uuid. Now that mediaobj.h does not
pull in strmif.h anymore, we don't need this include.
2023-09-13 20:24:17 +02:00
Zebediah Figura
b6d3e2ba0e include: Do not import strmif.idl in mediaobj.idl.
This means that mfobjects.idl no longer pulls in mediaobj.idl. Since it still
needs AM_MEDIA_TYPE to be declared (though not defined), add a typedef.

Reorder includes in a couple files to avoid multiple-definition errors.
strmiids and mfplat were getting strmif.h through mfobjects.h, and dsdmo was
getting it through dmo.h.
2023-09-13 20:24:17 +02:00
Zebediah Figura
8d61e9312c wmvcore: Explicitly include strmif.h.
For IReferenceClock.

Currently we rely on it getting included via the following path:

wmsdk.idl
 -> wmsdkidl.idl
    -> drmexternals.idl
       -> wmdrmsdk.idl
          -> mfobjects.idl
             -> mediaobj.idl
                -> strmif.idl

However, mediaobj.idl should not pull in strmif.idl.
2023-09-13 20:24:09 +02:00
Nikolay Sivov
a81535d8c9 ntdll/actctx: Accept empty assembly elements.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-13 20:23:44 +02:00
Nikolay Sivov
a14c6b737a kernel32/tests: Add activation context test with empty assembly manifest.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-13 20:23:43 +02:00
Alistair Leslie-Hughes
55ba9b17a4 wshom.ocx: Remove DECLSPEC_HIDDEN usage. 2023-09-13 11:13:11 +02:00
Alistair Leslie-Hughes
fbbcd2b34c user32: Remove DECLSPEC_HIDDEN usage. 2023-09-13 11:13:11 +02:00
Alistair Leslie-Hughes
016c29ad6e kernel32: Remove DECLSPEC_HIDDEN usage. 2023-09-13 11:13:11 +02:00
Alistair Leslie-Hughes
47526fbf13 qmgr: Remove DECLSPEC_HIDDEN usage. 2023-09-13 11:13:11 +02:00
Alistair Leslie-Hughes
55971cbee7 diasymreader: Remove DECLSPEC_HIDDEN usage. 2023-09-13 11:13:11 +02:00
Zebediah Figura
f0e6bc3521 d3dxof: Remove unnecessary includes.
And move the remaining common ones to d3dxof_private.h, as is usual practice
with d3d dlls.
2023-09-13 11:13:03 +02:00
Daniel Lehman
c66eb79ed1 msvcp110: Add std::_Throw_future_error. 2023-09-13 11:12:07 +02:00
Biswapriyo Nath
844efaeec5 include: Add IEnumTfPropertyValue definition in msctf.idl. 2023-09-13 11:11:54 +02:00
Jeff Smith
0c777a7d5c gdiplus: GdipIsVisiblePathPoint is not affected by world transform.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38823
2023-09-12 22:09:17 +02:00
Stefan Dösinger
c9f2f1c376 gitlab: Enable d3d8 and d3d9 device tests. 2023-09-12 20:39:49 +02:00
Esme Povirk
2ac81edb3e user32/tests: Detect win7's broken GetQueueStatus behavior. 2023-09-12 20:39:49 +02:00
Paul Gofman
578fc9c96f server: Don't set SO_RCVBUF below Windows default value on Unix socket. 2023-09-12 20:34:14 +02:00
Ziqing Hui
2e5ae803b1 winegstreamer: Create wg_muxer for media sink. 2023-09-12 20:32:57 +02:00
Ziqing Hui
e21fc494a0 winegstreamer: Implement seeking query for wg_muxer sink pad.
This makes muxer element know that it can perform seeking.
2023-09-12 20:32:55 +02:00
Ziqing Hui
0915f5f216 winegstreamer: Introduce new wg_muxer struct. 2023-09-12 20:32:55 +02:00
Alfred Agrell
f413e9ab7d quartz: Delete some redundant members from struct quartz_vmr. 2023-09-12 20:28:05 +02:00
Alfred Agrell
3855fc7a60 quartz/tests: Add test for VMR9SurfaceAllocatorNotify_ChangeD3DDevice. 2023-09-12 20:28:05 +02:00
Alfred Agrell
d93f930b3e quartz/tests: Add test for VMR9SurfaceAllocatorNotify_NotifyEvent. 2023-09-12 20:28:05 +02:00
Alfred Agrell
09e54b8919 quartz: Recreate surfaces in VMR9SurfaceAllocatorNotify_ChangeD3DDevice. 2023-09-12 20:28:05 +02:00
Alfred Agrell
7a5f36d50b quartz: Fill in VMR9SurfaceAllocatorNotify_NotifyEvent stub. 2023-09-12 20:28:05 +02:00
Rémi Bernon
1f84523800 dmime: Set the tool delivery type on the messages flags. 2023-09-12 20:28:05 +02:00
Rémi Bernon
09dc4a3f17 dmime: Implement performance IDirectMusicGraph_StampPMsg. 2023-09-12 20:28:05 +02:00
Rémi Bernon
98db0c753a dmime: Implement IDirectMusicGraph_StampPMsg. 2023-09-12 20:28:05 +02:00
Rémi Bernon
5d97483f22 dmime: Get rid of the IDirectMusicGraphImpl typedef. 2023-09-12 20:28:05 +02:00
Rémi Bernon
fec9d2c22e dmime: Rename DirectMusicGraph method prefix to graph. 2023-09-12 20:28:05 +02:00
Rémi Bernon
d8bce981d7 dmime: Rewrite IDirectMusicGraph tools iteration. 2023-09-12 20:28:05 +02:00
Rémi Bernon
1e70dbcfc2 dmime: Implement some performance IDirectMusicTool methods. 2023-09-12 20:28:05 +02:00
Rémi Bernon
4cb46f1bed dmime: Remove FIXME from performance IDirectMusicGraph methods. 2023-09-12 20:28:05 +02:00
Gabriel Ivăncescu
7725acd366 mshtml: Get rid of the custom qi for CSS Styles.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
9339317e17 mshtml: Forward objects' IUnknown methods to the DispatchEx.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
f0f4b50e0a mshtml: Get rid of outer in DispatchEx.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
e319026f0a mshtml: Use query_interface in the dispex vtbl for PerformanceTiming.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
81146cecfe mshtml: Use query_interface in the dispex vtbl for PerformanceNavigation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
75c9118d5b mshtml: Use query_interface in the dispex vtbl for Performance.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
0e6370bd33 mshtml: Use query_interface in the dispex vtbl for MediaQueryList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
431b89eab0 mshtml: Use query_interface in the dispex vtbl for Console.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
b17f77c8d6 mshtml: Use query_interface in the dispex vtbl for Navigator.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Gabriel Ivăncescu
b225b42800 mshtml: Use query_interface in the dispex vtbl for History.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-12 20:11:31 +02:00
Biswapriyo Nath
8f3cd46687 include: Add missing error codes in msctf.idl. 2023-09-12 20:11:31 +02:00
Dmitry Timoshkov
6dd11426e0 d2d1: Scale stroke width for D2D1_STROKE_TRANSFORM_TYPE_FIXED in DrawGeometry::ID2D1DeviceContext1().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-12 20:11:31 +02:00
Ryan Hendrickson
cd3ebad1ae regedit: Export hex(4) instead of dword if size isn't 4 bytes. 2023-09-12 20:11:31 +02:00
Hans Leidekker
ad0f483d8b iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54588
2023-09-12 20:11:31 +02:00
Hans Leidekker
5f7016d3f0 iphlpapi/tests: Use CRT allocation functions. 2023-09-12 20:11:31 +02:00
Rémi Bernon
31980e7450 dmstyle: Use PARENTSRC with dmusic. 2023-09-12 20:11:31 +02:00
Rémi Bernon
d18ec193de dmstyle: Use CRT allocation functions. 2023-09-12 20:11:31 +02:00
Rémi Bernon
994bcb4842 dmstyle: Awlays return S_FALSE from DllCanUnloadNow. 2023-09-12 20:11:31 +02:00
Rémi Bernon
b27a036eaf dswave: Use PARENTSRC with dmusic. 2023-09-12 20:11:31 +02:00
Rémi Bernon
8bcaec2552 dswave: Use CRT allocation functions. 2023-09-12 20:11:31 +02:00
Rémi Bernon
65f25a150f dswave: Always return S_FALSE from DllCanUnloadNow. 2023-09-12 15:54:06 +02:00
Rémi Bernon
649de39219 dmband: Use PARENTSRC with dmusic. 2023-09-12 15:54:06 +02:00
Rémi Bernon
b60ee21fb2 dmband: Use CRT allocation functions. 2023-09-12 15:54:06 +02:00
Rémi Bernon
c3ebc387f3 dmband: Always return S_FALSE from DllCanUnloadNow. 2023-09-12 15:54:06 +02:00
Alexandre Julliard
f41ac64a73 wow64: Don't add MEM_RESERVE for invalid flags combinations. 2023-09-12 15:54:06 +02:00
Alexandre Julliard
d76f5b4ab9 win32u: Use the correct length for kernel object names in object attributes. 2023-09-12 10:00:24 +02:00
Alexandre Julliard
a5463c88e2 ntdll: Add missing backslash to query image file execution options. 2023-09-12 09:51:50 +02:00
Dmitry Timoshkov
d289dfc2c0 server: Write terminating '\0' in the strings.
I have an application that creates its special registry key using
NtCreateKey(parent, "Something\0"), and then expects to be able to
open this key with NtOpenKey("Something\0") on start up. Currently
this fails because terminating '\0' in the key name doesn't survive
saving/loading the registry. parse_strW() helper already supports
loading such key names.

As the tests show after creating a kernel object with the name "Something\0"
it's possible to only open it as "Something\0", and an attempt opening it
as "Something" fails with STATUS_OBJECT_NAME_NOT_FOUND, and vice versa.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-12 09:40:52 +02:00
Alexandros Frantzis
1b987bfde6 winewayland.drv: Implement SetCursor using cursor bitmap data.
Set the cursor image used for Wayland surfaces by using the Windows
cursor bitmap data.
2023-09-11 20:45:10 +02:00
Alexandros Frantzis
b8b90e403d winewayland.drv: Handle pointer button and scroll events. 2023-09-11 20:45:08 +02:00
Alexandros Frantzis
0d250de0d9 winewayland.drv: Handle pointer motion events.
Also emit a synthetic motion event on pointer entry, to handle cases
where the compositor doesn't send an initial motion event itself.
2023-09-11 20:45:06 +02:00
Alexandros Frantzis
579d67e17d winewayland.drv: Handle pointer focus events.
Handle wl_pointer enter/leave events and maintain information about
the focused HWND. Since pointer information will be accessed
by any UI capable thread, ensure proper proper locking is in place.
2023-09-11 20:45:04 +02:00
Alexandros Frantzis
a3709b93ca winewayland.drv: Add initial stub for wl_pointer handling.
Track the availability of a pointer device for a seat. For now we assume only
a single seat and pointer.
2023-09-11 20:45:01 +02:00
Dmitry Timoshkov
0992d0978e user32: Listbox shouldn't send WM_COMMAND/LBN_DBLCLK notification if it has no items.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-11 20:44:10 +02:00
Lorenzo Ferrillo
516f68b64f ole32: Add debug info to RunningObjectTable critical section.
So it's possible to easily debug deadlocks involving the Internal ROT object

Signed-off-by: Lorenzo Ferrillo <lorenzofersteam@live.it>
2023-09-11 20:42:49 +02:00
Lorenzo Ferrillo
7860dd0641 ole32: Leave the RunningObjectTable Critical Section before umarshalling object.
Sometimes umarshalling an object from the RunningObjectTable can cause the routine to access the
table back inside another thread, causing a deadlock.
Visual Studio 2019 is an example of this behaviour.

Signed-off-by: Lorenzo Ferrillo <lorenzofersteam@live.it>
2023-09-11 20:42:49 +02:00
Gabriel Ivăncescu
50da8767e7 mshtml: Use query_interface in the dispex vtbl for HTMLScreen.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:49 +02:00
Gabriel Ivăncescu
cff43f8a8d mshtml: Use query_interface in the dispex vtbl for HTMLDOMImplementation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
d8200e0474 mshtml: Use query_interface in the dispex vtbl for HTMLSelectionObject.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
908cfec32c mshtml: Use query_interface in the dispex vtbl for DOM and Text Ranges.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
c4cf5bf748 mshtml: Use query_interface in the dispex vtbl for HTMLRect.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
5cf6c584f8 mshtml: Use query_interface in the dispex vtbl for DOMTokenList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
6192c0501f mshtml: Use query_interface in the dispex vtbl for MutationObserver.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:10 +02:00
Gabriel Ivăncescu
8985cf154f mshtml: Get rid of the custom query_interface for DOM Events.
Just use the dispex's query_interface.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:08 +02:00
Gabriel Ivăncescu
90f4455350 mshtml: Use query_interface in the dispex vtbl for DOM Events.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:08 +02:00
Gabriel Ivăncescu
2ec4105825 mshtml: Use query_interface in the dispex vtbl for HTMLEventObj.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:08 +02:00
Gabriel Ivăncescu
528fb917ce mshtml: Use query_interface in the dispex vtbl for HTMLDOMAttribute.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-11 20:42:08 +02:00
Esme Povirk
f9e4c0bc65 user32/tests: Register test_hvredraw class in temp desktop.
Windows v1709 has a bug that breaks GetClassLong on a
different desktop from where the class was registered.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55539
2023-09-11 20:41:59 +02:00
Mohamad Al-Jaf
5de4010eb9 appxdeploymentclient: Add IPackageManager2 stub interface.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55403
2023-09-11 20:41:35 +02:00
Mohamad Al-Jaf
0eb9e72336 include: Add Windows.Management.Deployment.IPackageManager2 interface definition. 2023-09-11 20:41:35 +02:00
Mohamad Al-Jaf
ec1b83ad9d appxdeploymentclient: Implement IActivationFactory::ActivateInstance(). 2023-09-11 20:41:35 +02:00
Mohamad Al-Jaf
0617824e0a appxdeploymentclient: Add stub DLL. 2023-09-11 20:41:35 +02:00
Daniel Lehman
2dcf0b5872 msxml3/tests: Fix failure messages. 2023-09-11 20:41:35 +02:00
Rémi Bernon
428eb3e87c dmime: Add a IDirectMusicTool interface to the performance. 2023-09-11 20:41:35 +02:00
Rémi Bernon
2e25af4fd3 dmime: Add a IDirectMusicGraph interface to the performance. 2023-09-11 20:41:35 +02:00
Rémi Bernon
e5ae7f90ee dmime: Fix indentation in IDirectMusicPerformance_QueryInterface. 2023-09-11 20:41:35 +02:00
Rémi Bernon
c927967a76 dmime: Get rid of IDirectMusicPerformance8Impl typedef. 2023-09-11 20:41:34 +02:00
Rémi Bernon
52f7ae4932 dmime: Rename IDirectMusicPerformance8Impl method prefix to performance. 2023-09-11 20:41:34 +02:00
Rémi Bernon
698605ce41 dmime: Fix indentation in DirectMusicPerformance class constructor. 2023-09-11 20:41:34 +02:00
Rémi Bernon
2dc15d3943 dmime: Use the correct interface methods. 2023-09-11 20:41:34 +02:00
Rémi Bernon
0feb0cda74 dmime: Use CRT allocation functions. 2023-09-11 20:41:34 +02:00
Rémi Bernon
6e1e7a88fd dmime: Always return S_FALSE from DllCanUnloadNow. 2023-09-11 20:41:34 +02:00
Rémi Bernon
4ae866a0a7 dmusic: Stop leaking instruments on collection release. 2023-09-11 20:41:34 +02:00
Rémi Bernon
572125edf6 dmusic: Cleanup collection instrument iteration loops. 2023-09-11 20:41:34 +02:00
Rémi Bernon
ff4cb785cb dmusic: Allocate and parse instruments in a single pass. 2023-09-11 20:41:34 +02:00
Rémi Bernon
01127ce474 dmusic: Rewrite instrument ins chunk parsing. 2023-09-11 20:41:34 +02:00
Rémi Bernon
b5fd618719 dmusic: Rewrite instrument lart list parsing. 2023-09-11 20:41:34 +02:00
Rémi Bernon
9e9b5d2980 dmusic: Rewrite instrument lrgn list parsing. 2023-09-11 20:41:34 +02:00
Rémi Bernon
7684880546 dmusic: Reset riff chunk type to 0 when it is invalid. 2023-09-11 20:41:34 +02:00
Rémi Bernon
52d3f7ab09 dmusic: Use a struct list for instrument regions. 2023-09-11 20:41:34 +02:00
Rémi Bernon
febe6a7810 dmusic: Use a struct list for instrument articulations. 2023-09-11 20:41:34 +02:00
Bartosz Kosiorek
f0d2022b45 gdiplus/tests: Extend DrawImage scaling tests.
Changing the colour of the second pixel of the source bitmap clarifies
the incorrect behaviour of PixelOffsetMode Half and HighQuality.

This also provides better proof that PixelOffsetMode None and Fast are
implemented correctly.
2023-09-11 20:41:34 +02:00
Julian Rüger
dedbbcd5a0 po: Update German translation. 2023-09-11 18:27:56 +02:00
Paul Gofman
733e4ca06e server: Support FileStandardInformation for pipes. 2023-09-11 13:15:15 +02:00
Alexandre Julliard
615d465bb1 ntdll: Don't save segment registers in the syscall frame on x86-64. 2023-09-11 11:50:58 +02:00
Alexandre Julliard
ea640f6cec ntdll: Ignore attempts to change segment registers on x86-64. 2023-09-11 11:46:33 +02:00
Alexandre Julliard
508b8b7279 ntdll: Always fetch the %fs register from the thread data. 2023-09-11 11:18:14 +02:00
Alexandre Julliard
2887be187b ntdll/tests: Use a valid buffer address for misalignment test. 2023-09-09 16:43:44 +02:00
Brendan Shanks
126363ea5f server: Remove the fallback epoll() syscalls. 2023-09-08 22:37:45 +02:00
Jeff Smith
c93cfb4aad dwrite: Treat null character as NO_VISUAL in script analyzer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55529
2023-09-08 22:00:25 +02:00
Rémi Bernon
223ba990b1 dmsynth: Implement IDirectMusicSynth_Download for instrument articulations. 2023-09-08 22:00:25 +02:00
Rémi Bernon
4fa0978394 dmsynth: Implement IDirectMusicSynth_Download for instrument regions. 2023-09-08 22:00:25 +02:00
Rémi Bernon
22f85dd9b8 dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves. 2023-09-08 22:00:25 +02:00
Rémi Bernon
56fc711a93 dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments. 2023-09-08 22:00:25 +02:00
Rémi Bernon
82436b1ee8 dmusic: Avoid passing invalid handle to IDirectMusicSynth_Unload. 2023-09-08 22:00:25 +02:00
Rémi Bernon
971d707273 dmsynth/tests: Test IDirectMusicSynth_Unload. 2023-09-08 22:00:25 +02:00
Tim Clem
c8bc841405 win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL. 2023-09-08 22:00:25 +02:00
Tim Clem
90f9b92762 win32u/tests: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
Co-authored-by: Jacek Caban <jacek@codeweavers.com>
2023-09-08 22:00:23 +02:00
Gabriel Ivăncescu
33dbc3c80a mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:33 +02:00
Gabriel Ivăncescu
947e8b0135 mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:33 +02:00
Gabriel Ivăncescu
2e02337146 mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:33 +02:00
Gabriel Ivăncescu
6be26997bf mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:33 +02:00
Gabriel Ivăncescu
5a53915532 mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
f57dd5ff6c mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
c539fb70c6 mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
9efd46b497 mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
f891c137b2 mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and collections.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
b9db8e0d11 mshtml: Use query_interface in the dispex vtbl for CSS Styles.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
fcde70d9a4 mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
ab0cc29c00 mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
6152fe70eb mshtml: Use query_interface in the dispex vtbl for builtin constructors.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Gabriel Ivăncescu
e03b5f0f3a mshtml: Unstub some implemented event handlers in IHTMLWindow7 interface.
We support these events now.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-08 17:47:32 +02:00
Dmitry Timoshkov
3acdfe3180 srvsvc: Add LanmanServer stub service.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-08 17:47:32 +02:00
Dmitry Timoshkov
d7c5797bee wevtsvc: Remove duplicate dwControlsAccepted initialization.
dwControlsAccepted is initialized a few lines earlier.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-08 17:47:32 +02:00
Dmitry Timoshkov
46a5454b79 schedsvc: Remove duplicate dwControlsAccepted initialization.
dwControlsAccepted is initialized a few lines earlier.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-08 17:47:32 +02:00
Huw Davies
152924c9e4 ntdll: Store the codepage data addresses in both PEBs.
Spotted by Jactry Zeng.
2023-09-08 17:18:08 +02:00
Hans Leidekker
3c2e980d8d ws2_32/tests: Call GetAdaptersAddresses() in a loop. 2023-09-08 11:51:08 +02:00
Hans Leidekker
e5df70ce6c ws2_32/tests: Use CRT allocation functions. 2023-09-08 11:29:54 +02:00
Biswapriyo Nath
e08435a891 include: Add IPackage2 definition in windows.applicationmodel.idl.
Required for GNOME/glib project.
2023-09-08 11:29:36 +02:00
Stefan Dösinger
763dc06450 d3d8/tests: Don't check messages when doing the minimization workaround dance. 2023-09-08 11:29:22 +02:00
Stefan Dösinger
49e1d2ea21 d3d9/tests: Don't check messages when doing the minimization workaround dance. 2023-09-08 11:29:18 +02:00
Stefan Dösinger
4bc8b73cf3 d3d9/tests: Don't fail test_reset_fullscreen if the WM resizes us.
fvwm does that for two independent reasons. The important thing is that
we don't receive a WM_SIZE during the reset call itself.
2023-09-08 11:29:16 +02:00
Alex Henrie
a0e28f3fdb winemenubuilder: Use CRT allocation functions. 2023-09-08 11:27:22 +02:00
Alex Henrie
dab59ded27 wineboot: Use CRT allocation functions. 2023-09-08 11:27:09 +02:00
Alex Henrie
58e62fff58 oleview: Use CRT allocation functions. 2023-09-08 11:26:55 +02:00
Alex Henrie
810bde3b25 extrac32: Use CRT allocation functions. 2023-09-08 11:26:48 +02:00
Alex Henrie
6db69d0281 wintrust: Use CRT allocation functions. 2023-09-08 11:20:51 +02:00
Alex Henrie
537bcadbe8 wintab32: Use CRT allocation functions. 2023-09-08 11:20:42 +02:00
Helix Graziani
6dae924d55 wldp: Add WldpQueryWindowsLockdownMode stub. 2023-09-08 11:06:19 +02:00
Rémi Bernon
5e68fa6394 dmime/tests: Test IDirectMusicTool message reception delay. 2023-09-08 11:05:23 +02:00
Rémi Bernon
2ac84e2b94 dmime/tests: Test IDirectMusicTool message reception filter. 2023-09-08 11:05:23 +02:00
Rémi Bernon
e80c1d90f1 dmime/tests: Test IDirectMusicPerformance_*PMsg methods. 2023-09-08 11:05:23 +02:00
Rémi Bernon
a874f60cae dmime/tests: Test IDirectMusicPerformance time conversion. 2023-09-08 11:05:23 +02:00
Rémi Bernon
cd5c9b800d dmime/tests: Test performance IDirectMusicGraph interface. 2023-09-08 11:05:23 +02:00
Rémi Bernon
5efaae40de dmime/tests: Test performance IDirectMusicTool interface. 2023-09-08 11:05:23 +02:00
Rémi Bernon
881e424683 dmime/tests: Test IDirectMusicGraph interface with a dummy tool. 2023-09-08 11:05:23 +02:00
Stefan Dösinger
08177b1b5e d3d9/tests: Don't fail d3d9ex if the window manager restores focus too soon. 2023-09-08 11:05:15 +02:00
Rémi Bernon
6afe77a259 ntoskrnl/tests: Use wine/test.h in the driver tests. 2023-09-07 22:38:40 +02:00
Rémi Bernon
8afa570893 windows.applicationmodel/tests: Report success and skipped tests counters. 2023-09-07 22:28:30 +02:00
Rémi Bernon
9523dec573 dinput/tests: Report the driver success and skipped tests counters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55535
2023-09-07 22:28:30 +02:00
Paul Gofman
18ff9ce622 wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW(). 2023-09-07 21:19:00 +02:00
Paul Gofman
7c248ff4c4 wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSessionsW(). 2023-09-07 21:19:00 +02:00
Paul Gofman
6c3399a9b3 wtsapi32: Improve WTSEnumerateSessionsW() stub. 2023-09-07 21:19:00 +02:00
Gabriel Ivăncescu
7c94e4243c mshtml: Trace the object name in dispex methods.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:17 +02:00
Gabriel Ivăncescu
6b9c214845 mshtml: Use query_interface in the dispex vtbl for XMLHttpRequest.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:17 +02:00
Gabriel Ivăncescu
070b51d7b7 mshtml: Use query_interface in the dispex vtbl for inner windows.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:17 +02:00
Gabriel Ivăncescu
47393c300e mshtml: Introduce query_interface in dispex vtbl and use it for DOM Nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:17 +02:00
Gabriel Ivăncescu
c7f18c3118 mshtml: Return interface directly from node vtbl's QI instead of HRESULT, without AddRef.
This will simplify it when the QI moves to the dispex's vtbl. The node's
QI does have a temporary workaround right now that will get removed.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:11 +02:00
Gabriel Ivăncescu
32ce98e94d mshtml: Expose an EventTarget interface on the outer window for events' target dispatch.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-07 17:17:05 +02:00
Alexandre Julliard
04a74bdb50 winebuild: Add SEH information to relay entry points on ARM64. 2023-09-07 17:12:55 +02:00
Alexandre Julliard
425bd55b02 winegcc: Don't disable unwind tables for PE targets. 2023-09-07 16:19:00 +02:00
Dmitry Timoshkov
a5563e259c comctl32: Use iswalnum() to filter alpha numeric characters from unicode messages.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-07 12:05:29 +02:00
Hans Leidekker
074069b885 wsdapi/tests: Call GetAdaptersAddresses() in a loop. 2023-09-07 10:54:25 +02:00
Hans Leidekker
1b83a37673 wsdapi/tests: Use CRT allocation functions. 2023-09-07 10:54:25 +02:00
Hans Leidekker
986732a5ba wsdapi: Call GetAdaptersAddresses() in a loop. 2023-09-07 10:54:25 +02:00
Hans Leidekker
22c293bda6 wsdapi: Use CRT allocation functions. 2023-09-07 10:54:25 +02:00
Yuxuan Shui
1e8393f976 urlmon: Fix NULL dereference in BindProtocol_UnlockRequest. 2023-09-07 10:48:53 +02:00
Yuxuan Shui
ac58b5fefd urlmon: Test http protocol through CreateBinding. 2023-09-07 10:48:51 +02:00
Esme Povirk
87b1cd12d6 user32/tests: Check all letters in test_hotkey.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55317
2023-09-06 22:32:53 +02:00
Dmitry Timoshkov
e7b4e883d1 gdiplus: In GdipImageSelectActiveFrame rely on codec->select_func() to fail.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-06 22:29:44 +02:00
Dmitry Timoshkov
408972cb4d gdiplus/tests: Add a test for calling GdipImageSelectActiveFrame() with invalid frame on a memory bitmap.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-06 22:29:44 +02:00
Dmitry Timoshkov
01aff6c9a0 gdiplus/tests: Fix compilation with PSDK compiler.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-06 22:29:44 +02:00
Rémi Bernon
0110dc2446 dmusic: Get rid of the IDirectMusicInstrumentImpl typedef. 2023-09-06 22:29:33 +02:00
Rémi Bernon
9abd659efd dmusic: Rename IDirectMusicInstrumentImpl method prefix to instrument. 2023-09-06 22:29:32 +02:00
Rémi Bernon
d6dc41c2ef dmusic: Simplify and cleanup IDirectMusicInstrument constructor. 2023-09-06 22:29:32 +02:00
Rémi Bernon
4a60c0f64f dmusic: Get rid of struct collection liWavePoolTablePosition member. 2023-09-06 22:29:32 +02:00
Rémi Bernon
a614527524 dmusic: Get rid of struct collection liCollectionPosition member. 2023-09-06 22:29:32 +02:00
Rémi Bernon
849c7a6ae1 dmusic: Get rid of the IDirectMusicCollectionImpl typedef. 2023-09-06 22:29:32 +02:00
Rémi Bernon
1502401042 dmusic: Rename IDirectMusicCollectionImpl method prefix to collection. 2023-09-06 22:29:32 +02:00
Rémi Bernon
ed4327eef2 dmusic: Move constructor parameter checks to class factory. 2023-09-06 22:29:32 +02:00
Rémi Bernon
54ed994ab1 dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate. 2023-09-06 22:29:27 +02:00
Rémi Bernon
f6deca5932 dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op. 2023-09-06 22:29:27 +02:00
Rémi Bernon
722262b023 dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink. 2023-09-06 22:29:27 +02:00
Rémi Bernon
2a1b03ccc3 dmsynth: Implement latency IReferenceClock interface on the sink. 2023-09-06 22:29:27 +02:00
Rémi Bernon
23b61b0dc8 include: Use IReferenceClock interface from strmif.idl in dmusicc.h. 2023-09-06 22:29:26 +02:00
Rémi Bernon
ec2a7a3251 dmsynth: Move constructor parameter checks to class factory. 2023-09-06 22:29:26 +02:00
Zhiyi Zhang
8ee2372812 user32/edit: Don't use WM_TIMER to update caret position.
An application subclasses edit control and crashes on unexpected WM_TIMER messages. A timer was
added a long time ago and it was for auto scrolling the view when the cursor is outside of the
client area. However, with a EDIT_EM_ScrollCaret() call in EDIT_WM_MouseMove(), the view can be
scrolled to the correct position automatically. So the timer is not necessary at all. This is tested
manually with a long text in the edit control with notepad on XP, Win7 and Win10. Before this patch,
the caret will move backwards every 100ms when the clicking the left mouse button on the bottom of
the text and then dragging the cursor upwards and outside of the client area. After this, the
behavior is the same as native.
2023-09-06 22:01:00 +02:00
Zhiyi Zhang
753ddd3a02 comctl32/edit: Don't use WM_TIMER to update caret position.
An application subclasses edit control and crashes on unexpected WM_TIMER messages. A timer was
added a long time ago and it was for auto scrolling the view when the cursor is outside of the
client area. However, with a EDIT_EM_ScrollCaret() call in EDIT_WM_MouseMove(), the view can be
scrolled to the correct position automatically. So the timer is not necessary at all. This is tested
manually with a long text in the edit control with notepad on XP, Win7 and Win10. Before this patch,
the caret will move backwards every 100ms when the clicking the left mouse button on the bottom of
the text and then dragging the cursor upwards and outside of the client area. After this, the
behavior is the same as native.
2023-09-06 22:00:59 +02:00
Etaash Mathamsetty
03d6a86786 ntoskrnl.exe/tests: Add KeInitializeDpc tests. 2023-09-06 12:05:49 +02:00
Etaash Mathamsetty
51f16a2f80 include: Update definition of KDPC. 2023-09-06 12:05:49 +02:00
Francois Gouget
a6d6f914b3 dmsynth/tests: Add the trailing linefeed to a win_skip() message.
The missing linefeed was causing the test summary line to be garbled.
2023-09-06 12:05:49 +02:00
Eric Pouech
91cce00dba cmd: Better handle ctrl-c events.
cmd shouldn't terminate itself when user hits ctrl-c.
cmd should terminate the currently running CUI child it
waits for upon ctrl-c.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-06 12:05:49 +02:00
Jacek Caban
b228e3df60 ntdll: Unconditionally forward console events to kernelbase.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-06 11:59:18 +02:00
Eric Pouech
e668cf356b kernel32/console: Add tests for GenerateConsoleCtrlEvent().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-06 11:59:15 +02:00
Brendan Shanks
5206c71472 tools: Use posix_spawn() instead of fork()/execvp(). 2023-09-06 11:12:10 +02:00
Hans Leidekker
757ea81a99 ipconfig: Call GetAdaptersAddresses() in a loop. 2023-09-06 11:10:26 +02:00
Hans Leidekker
3f9f4a4a0e ipconfig: Use CRT allocation functions. 2023-09-06 11:10:26 +02:00
Rémi Bernon
dcb1602124 makedep: Fix a string format specifier typo. 2023-09-06 11:09:57 +02:00
Esme Povirk
a6ff01f36f user32/tests: Wait for GetMessage call to complete.
It's possible otherwise for the second message to be sent before
GetMessage removes a posted message from the queue, in which case
GetMessage processes both sent messages.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54407
2023-09-05 23:18:00 +02:00
Esme Povirk
7deaf38191 user32/tests: Trace run number in test_SendMessage_other_thread. 2023-09-05 23:18:00 +02:00
Rémi Bernon
3610b54bd6 dmsynth: Implement SampleToRefTime and RefTimeToSample. 2023-09-05 23:18:00 +02:00
Rémi Bernon
10da838a78 dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub. 2023-09-05 23:18:00 +02:00
Rémi Bernon
1b3cc0ce49 dmsynth: Allow changing master clock while active. 2023-09-05 23:18:00 +02:00
Rémi Bernon
48536877fe dmsynth: Avoid leaking master clock references. 2023-09-05 23:18:00 +02:00
Rémi Bernon
be2cdd3cb2 dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub. 2023-09-05 23:18:00 +02:00
Rémi Bernon
d3b191503e dmusic: Implement IDirectMusicPortDownload_GetBuffer. 2023-09-05 23:10:28 +02:00
Rémi Bernon
73d1e06630 dmusic: Implement IDirectMusicPortDownload_(Download|Unload). 2023-09-05 23:10:28 +02:00
Rémi Bernon
30df87af09 dmusic: Implement IDirectMusicPortDownload_AllocateBuffer. 2023-09-05 23:10:28 +02:00
Rémi Bernon
45f61965dc dmusic: Implement synth port IDirectMusicPortDownload_GetDLId. 2023-09-05 23:10:28 +02:00
Rémi Bernon
770749491d dmusic: Rename IDirectMusicDownloadImpl method prefix to download. 2023-09-05 23:10:28 +02:00
Rémi Bernon
f96f53ea85 dmusic: Move IDirectMusicDownloadImpl struct to where it is used. 2023-09-05 23:10:28 +02:00
Rémi Bernon
ac25d09955 dmusic: Simplify and cleanup IDirectMusicDownload constructor. 2023-09-05 23:10:28 +02:00
Rémi Bernon
abc6ecc89d dmusic: Always return S_FALSE from DllCanUnloadNow. 2023-09-05 23:10:27 +02:00
Rémi Bernon
041b468b23 dmusic/tests: Test IDirectMusicPort_(Download|Unload)Instrument. 2023-09-05 23:10:27 +02:00
Rémi Bernon
d6e1e0efa2 dmusic/tests: Test IDirectMusic(Port)Download interfaces. 2023-09-05 23:10:27 +02:00
Rémi Bernon
bb9e54808c include: Fix incorrect IDirectMusicPortDownload_Unload macro. 2023-09-05 23:10:27 +02:00
Evan Tang
ab9e4dd3fa wined3d: Restart vk render pass on RT clear. 2023-09-05 23:10:22 +02:00
Evan Tang
8de2846c73 d3d11: Add tests for clearing RTs in the middle of a render. 2023-09-05 23:10:22 +02:00
Gabriel Ivăncescu
41396b5bcc mshtml: Implement querySelectorAll for document fragments.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-05 16:57:28 +02:00
Gabriel Ivăncescu
833286f485 mshtml: Implement querySelector for document fragments.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-09-05 16:57:28 +02:00
Hans Leidekker
80d629acbd wpcap: Call GetAdaptersAddresses() in a loop. 2023-09-05 16:18:39 +02:00
Hans Leidekker
d01e619c7b netprofm: Call GetAdaptersAddresses() in a loop. 2023-09-05 16:18:39 +02:00
Hans Leidekker
e5468c5484 wbemprox: Call GetAdaptersAddresses() in a loop. 2023-09-05 16:18:38 +02:00
Stefan Dösinger
1356f253b9 d3d9/tests: Skip big test_query loops if the d3d implementation is too slow. 2023-09-05 15:20:39 +02:00
Ziqing Hui
b3edb269ec winegstreamer: Add MFMPEG4SinkClassFactory. 2023-09-05 15:20:38 +02:00
Ziqing Hui
f98f36123a mf/tests: Use h264 and aac in mp4 media sink tests. 2023-09-05 15:20:38 +02:00
Ziqing Hui
b4be3b1b25 mf/tests: Add tests for h264 encoder. 2023-09-05 15:20:38 +02:00
Ziqing Hui
c22b9defe7 mf/tests: Call check_attributes in check_mft_get_output_current_type_. 2023-09-05 15:20:38 +02:00
Ziqing Hui
320383c594 winegstreamer: Add codec data to h264 format. 2023-09-05 15:20:38 +02:00
Ziqing Hui
97555dff0e winegstreamer: Add push_event wrapper. 2023-09-05 15:20:38 +02:00
Alexandre Julliard
aa15f41d04 makedep: Make the spec file optional for native modules. 2023-09-05 15:20:38 +02:00
Alexandre Julliard
f1ff3179aa makedep: Make the spec file optional for data-only dlls. 2023-09-05 13:20:34 +02:00
Alexandre Julliard
cfcf5ca286 makedep: Make the spec file optional for testdll resources. 2023-09-05 12:45:15 +02:00
Rémi Bernon
9ac4f151c0 windows.applicationmodel/tests: Test executing a WinRT package application. 2023-09-05 12:44:59 +02:00
Rémi Bernon
8609fef5c8 windows.applicationmodel/tests: Test IPackageManager_RegisterPackageAsync. 2023-09-05 12:44:59 +02:00
Rémi Bernon
19c1cc1c3e makedep: Support generating .exe TESTDLL resources. 2023-09-05 12:44:57 +02:00
Rémi Bernon
81da9ff0f8 makedep: Use #pragma makedep testdll for TESTDLL resources. 2023-09-05 12:44:34 +02:00
Rémi Bernon
2f8fa39ddf windows.applicationmodel/tests: Add some IPackageManager tests. 2023-09-05 12:00:11 +02:00
Mohamad Al-Jaf
04c26b455f windows.applicationmodel: Add stub DLL. 2023-09-05 12:00:11 +02:00
Biswapriyo Nath
9ae771bac8 include: Add AudioEffectsManager runtimeclass in windows.media.effects.idl. 2023-09-05 11:36:58 +02:00
Biswapriyo Nath
d53e989b5a include: Add AudioRenderEffectsManager runtimeclass in windows.media.effects.idl. 2023-09-05 11:36:58 +02:00
Biswapriyo Nath
cc1692bb0a include: Add AudioCaptureEffectsManager runtimeclass in windows.media.effects.idl. 2023-09-05 11:36:58 +02:00
Paul Gofman
a602e37069 ntdll/tests: Adjust test_raiseexception_regs() for Win11 results. 2023-09-05 11:36:41 +02:00
Paul Gofman
53bf758a96 ntdll/tests: Adjust test_extended_context() for Win11 results. 2023-09-05 11:36:41 +02:00
Paul Gofman
7eaa5119b7 ntdll/tests: Adjust test_nested_exception() for Win11 results.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55238
2023-09-05 11:36:41 +02:00
Paul Gofman
9cf5505632 include: Define up to date exception flags. 2023-09-05 11:36:40 +02:00
Paul Gofman
782b008de9 ntdll/tests: Adjust test_virtual_unwind() for Win11 results. 2023-09-05 11:36:38 +02:00
Rémi Bernon
ce40b4d8fc dmsynth/tests: Test DirectMusicSynth class in isolation.
And more specifically how generating samples with Render works.
2023-09-04 21:13:30 +02:00
Rémi Bernon
a2dac48f6c dmsynth/tests: Test DirectMusicSynthSink class in isolation. 2023-09-04 21:13:29 +02:00
Rémi Bernon
e477e3e30d dmsynth/tests: Import and use a check_interface helper. 2023-09-04 21:13:29 +02:00
Rémi Bernon
40dcb5954b dmsynth/tests: Avoid dynamic format string. 2023-09-04 21:13:29 +02:00
Paul Gofman
9ff0569667 kernelbase: Support masks suggesting no extension in FindNextFile(). 2023-09-04 20:41:54 +02:00
Paul Gofman
a90f695f78 kernelbase: Get unprocessed mask in FindFirstFileExW(). 2023-09-04 20:41:54 +02:00
Paul Gofman
68fecd77eb kernelbase: Duplicate file name matching code for FindNextFileW(). 2023-09-04 20:41:54 +02:00
Paul Gofman
6f3c76c9a5 kernel32/tests: Add more tests for FindFirstFile with wildcards. 2023-09-04 20:41:54 +02:00
Paul Gofman
98c929d73e ntdll/tests: Test NtQueryDirectoryFile with wildcards. 2023-09-04 20:41:54 +02:00
Paul Gofman
9e04cd31bc ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToNtPathName_U with mask. 2023-09-04 20:41:54 +02:00
Jeff Smith
5c1f901294 xaudio2/tests: Improve IID_IXAudio2 interface version checking.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55108
2023-09-04 20:41:54 +02:00
Dmitry Timoshkov
0cc49f360a dnsapi: Set correct wDataLength for DNS_TYPE_SRV records.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-04 20:41:54 +02:00
Dmitry Timoshkov
a36e0a16cd dnsapi: Accept name records of exact size at the end of the packet.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-04 20:41:54 +02:00
Dmitry Timoshkov
c3c477b77d dnsapi/tests: Add some tests for DNS_TYPE_SRV messages.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-04 20:41:54 +02:00
Hans Leidekker
be68006628 webservices/tests: Fully initialize xmlstr. 2023-09-04 20:41:54 +02:00
Hans Leidekker
9c238a5dc0 wtsapi/tests: Use a heap buffer for the user SID.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55227
2023-09-04 20:41:54 +02:00
Jinoh Kang
fa038c3c37 user32/tests: Isolate window update region tests in a temporary desktop.
Today, user32:msg window update region tests may fail if there are
visible topmost windows in the current desktop, which conceals test
windows and thus affects update regions.

Fix this by introducing a temporary desktop to isolate fragile tests in.

Take a precaution to check for unexpected USER environment.  user32
tests are often hard to debug due to its graphical nature, especially in
batch WineTest runs.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55465
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55374
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54202
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53891
2023-09-04 20:41:54 +02:00
Billy Laws
23736e69ce include: Add CHPEV2 CPU area definitions. 2023-09-04 20:41:54 +02:00
Alex Henrie
859d5e68dd cmd: Handle if exist with an empty string argument.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55505
2023-09-04 20:41:54 +02:00
Alex Henrie
61c5d2a0e3 mpr: Use CRT allocation functions. 2023-09-04 20:41:42 +02:00
Alex Henrie
d89665847f uiautomationcore: Use CRT allocation functions. 2023-09-04 11:42:36 +02:00
Alex Henrie
f62464dd46 snmpapi: Use CRT allocation functions. 2023-09-04 11:42:32 +02:00
Alex Henrie
0a6ea2d324 shlwapi: Use CRT allocation functions. 2023-09-04 11:42:28 +02:00
Alex Henrie
294be17370 shcore: Use CRT allocation functions. 2023-09-04 11:42:25 +02:00
Alex Henrie
161f1b7b6f msctf: Use CRT allocation functions. 2023-09-04 11:42:21 +02:00
Jinoh Kang
da74da2939 loader: Don't return from __stack_chk_fail() stub in preloader.
GCC expects __stack_chk_fail() to be noreturn[1].  Returning from
__stack_chk_fail() can thus lead to subtle failures.

When crashing, use a volatile NULL pointer dereference.  Ideally we
would like to "abort()" here, but doing so would require two more
syscall definitions just for a cold function.  After all, the function
isn't even used at all if -fno-stack-protector is specified.

Also, don't say "stack smashing" (unlike glibc).  The preloader
currently initializes the stack canary value to a fixed value (0), which
serves little value in protecting against actual buffer overrun attacks.

[1]: https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gccint/Stack-Smashing-Protection.html
2023-09-04 11:40:38 +02:00
Jinoh Kang
81f7329f4c loader: Fix calculation of thread_data address in Linux x86-64 preloader.
Fixes: ac1761d1da
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55508
2023-09-04 11:39:14 +02:00
Dmitry Timoshkov
73c9bb0710 kerberos: Add ISC_REQ_DELEGATE to the list of supported flags.
Both ISC_REQ_DELEGATE and ISC_RET_DELEGATE are properly translated
by the Unix side.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-04 11:38:57 +02:00
Alex Henrie
16e4b086f2 wldap32: Implement setting LDAP_OPT_CLIENT_CERTIFICATE.
Since most LDAP servers do not require mTLS, for now the callback
function is saved but not called.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55507
2023-09-04 11:38:51 +02:00
Alex Henrie
ca249a915d wldap32: Rename cert_callback to server_cert_callback. 2023-09-04 11:38:51 +02:00
Dmitry Timoshkov
2e5a8595ed wldap32: Add support for ldap_set_option(LDAP_OPT_HOST_NAME).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-04 11:38:46 +02:00
Rémi Bernon
6dedfec9c3 dmsynth: Use CRT allocation functions. 2023-09-04 11:38:41 +02:00
Rémi Bernon
5e29d14789 dmsynth: Get rid of the IDirectMusicSynth8Impl typedef. 2023-09-04 11:38:41 +02:00
Rémi Bernon
011dd289e6 dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth. 2023-09-04 11:38:41 +02:00
Rémi Bernon
68b356142c dmsynth: Move IDirectMusicSynthImpl struct to where it is used. 2023-09-04 11:38:41 +02:00
Rémi Bernon
1f990e59c0 dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef. 2023-09-04 11:38:41 +02:00
Rémi Bernon
1f7629dc0a dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink. 2023-09-04 11:38:41 +02:00
Rémi Bernon
da256c4426 dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used. 2023-09-04 11:38:41 +02:00
Rémi Bernon
3b5160c975 dmsynth: Always return S_FALSE from DllCanUnloadNow. 2023-09-04 11:38:41 +02:00
Rémi Bernon
23b8988464 dmsynth: Remove unnecessary comments. 2023-09-04 11:38:41 +02:00
Jacob Czekalla
1accde204f comctl32/status: Invalidate entire status bar on WM_SIZE. 2023-09-04 11:38:21 +02:00
Alexandre Julliard
db43ece90a oleaut32/tests: Mark the win9x behavior as todo on Wine. 2023-09-01 23:36:10 +02:00
Alexandre Julliard
8103907d54 kernel32/tests: Also remove stack pointer checks on 64-bit. 2023-09-01 23:21:58 +02:00
Alexandre Julliard
0cea9c78fa Release 8.15. 2023-09-01 21:36:35 +02:00
Louis Lenders
b71a0e33ac wldp: Add WldpGetLockdownPolicy stub. 2023-09-01 19:48:46 +02:00
Alistair Leslie-Hughes
e9003720d6 msvcrt: Remove DECLSPEC_HIDDEN usage. 2023-09-01 19:48:03 +02:00
Alexandre Julliard
f078d5b4f9 gdi32: Fix buffer size parameter in GetFontFileData for 64-bit. 2023-09-01 18:06:02 +02:00
Alexandre Julliard
f69bb9d6c5 scrrun: Fix pointer hashing on 64-bit. 2023-09-01 18:06:02 +02:00
Alexandre Julliard
863c57e956 winmm/tests: Fix a pointer truncation issue on 64-bit. 2023-09-01 18:06:02 +02:00
Alexandre Julliard
ab959b91cd oleaut32/tests: Fix a pointer truncation issue on 64-bit. 2023-09-01 18:06:02 +02:00
Alexandre Julliard
ff1dfb42b9 ntdll/tests: Work around a Windows pointer truncation bug in CPU info. 2023-09-01 18:06:02 +02:00
Alexandre Julliard
5bd5fecbeb ntdll/tests: Allow more invalid length values on Windows. 2023-09-01 16:08:16 +02:00
Alexandre Julliard
e33cd0d18a ntdll/tests: Fix alignment issues on 64-bit. 2023-09-01 16:07:10 +02:00
Alexandre Julliard
d3dfed51b3 kernel32/tests: Remove tests for the exact value of the stack pointer.
Stack pointer is randomized on Windows.
2023-09-01 16:02:23 +02:00
Alexandre Julliard
620306ffd1 kernel32/tests: Make the generated dlls relocatable. 2023-09-01 15:03:18 +02:00
Alexandre Julliard
211293eab2 kernel32/tests: Fix alignment issues on 64-bit. 2023-09-01 15:03:18 +02:00
Alexandre Julliard
d64200805b kernel32/tests: Remove some workarounds for old Windows versions. 2023-09-01 15:03:18 +02:00
Biswapriyo Nath
5d8e135c12 include: Add Windows.Media.Effects.AudioEffect runtimeclass.
This is required for chromium and fixes the following compiler error.

In file included from media/audio/win/audio_low_latency_input_win.cc:5:
./media/audio/win/audio_low_latency_input_win.h:64:10: fatal error:
windows.media.effects.h: No such file or directory
   64 | #include <windows.media.effects.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
2023-09-01 11:28:38 +02:00
Jeff Smith
95efcca315 shlwapi: Fix SHFormatDateTime implementation during DST. 2023-09-01 11:28:15 +02:00
Jeff Smith
9bc503b6bb shlwapi/tests: Fix SHFormatDateTime test during DST.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54683
2023-09-01 11:28:15 +02:00
Davide Beatrici
cdfb85220f mmdevapi: Move name string duplication in MMDevice_Create() from caller. 2023-09-01 11:27:38 +02:00
Davide Beatrici
b1b231f370 mmdevapi: Simplify load_driver_devices() by combining loops and removing unneeded allocation(s). 2023-09-01 11:27:37 +02:00
Brendan Shanks
516c6af58e winebus.sys: Ensure unixlib function tables and enum stay in sync. 2023-09-01 11:27:26 +02:00
Brendan Shanks
9139d8705d mountmgr.sys: Ensure unixlib function tables and enum stay in sync. 2023-09-01 11:27:19 +02:00
Rémi Bernon
42100f2de6 win32u: Init vsc2char in NtUserMapVirtualKeyEx only if necessary. 2023-08-31 19:53:17 +02:00
Rémi Bernon
9a3e6ca381 win32u: Init vsc2vk in NtUserMapVirtualKeyEx only if necessary. 2023-08-31 19:53:17 +02:00
Rémi Bernon
7c95eb676a win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary. 2023-08-31 19:53:16 +02:00
Dmitry Timoshkov
a52cf805d2 ntdll: Implement NtCreateToken().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-08-31 19:53:16 +02:00
Rémi Bernon
509483356d dinput: Get rid of duplicated winetest helpers. 2023-08-31 19:53:16 +02:00
Rémi Bernon
e3b2cfed9e include: Avoid using strcmp directly in wine/test.h.
It's not available in kernel driver code.
2023-08-31 19:53:16 +02:00
Rémi Bernon
add4d6ef8d include: Introduce winetest wrappers for vprintf and GetTickCount. 2023-08-31 19:53:16 +02:00
Rémi Bernon
9bab243d90 include: Pass a temporary buffer to winetest_elapsed.
Using wine_dbg_sprintf pulls various things that are not available
in the driver tests.
2023-08-31 19:53:16 +02:00
Rémi Bernon
e199e02176 include: Rename winetest_printf to winetest_print_location. 2023-08-31 19:53:16 +02:00
Rémi Bernon
8f12e2a2db include: Initialize winetest global counters to 0.
Fixes: ef3e97dbc2
2023-08-31 19:53:16 +02:00
Matteo Bruni
a5b00bd03f d3dcompiler/tests: Avoid interpolation filters in test_samplers(). 2023-08-31 15:01:28 +02:00
Gabriel Ivăncescu
c786ff0596 mshtml: Implement Cycle Collection for XMLHttpRequest.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:16 +02:00
Gabriel Ivăncescu
6a16a72dcf mshtml: Implement Cycle Collection for HTMLPerformanceTiming.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
7bba2546e9 mshtml: Move PerformanceTiming related fields to the window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
15c7470ae0 mshtml: Move HTMLPerformanceNavigation related fields to the window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
6dc7c3cda3 mshtml: Implement Cycle Collection for inner windows.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
1c4a15cc78 mshtml: Get rid of NULL checks for the dispex vtbl.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
6b8b83fac0 mshtml: Implement Cycle Collection for outer windows.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
81324e4032 mshtml: Implement Cycle Collection for HTMLLocation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
c993bc6e5f mshtml: Separate the HTMLLocation from the outer window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Gabriel Ivăncescu
74735ba015 mshtml: Actually traverse the object-specific edges.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-31 15:01:15 +02:00
Biswapriyo Nath
64dd6d2883 include: Add Windows.Media.Render.AudioRenderCategory enumeration.
Required for Windows.Media.Effects.IAudioEffectsManagerStatics interface.
2023-08-31 11:29:46 +02:00
Paul Gofman
546f823ed1 dinput: Unregister raw input on foreground loss. 2023-08-31 11:28:49 +02:00
Brendan Shanks
a144c0899f kerberos: Ensure unixlib function tables and enum stay in sync. 2023-08-31 11:28:44 +02:00
Alistair Leslie-Hughes
4c2c896af9 comctl32: Remove DECLSPEC_HIDDEN usage. 2023-08-30 21:05:53 +02:00
Esme Povirk
7dadc7d4c9 user32/tests: Mark an occasional Windows behavior as broken.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54655
2023-08-30 19:22:26 +02:00
Gabriel Ivăncescu
88c1ef974a winex11: Avoid querying GPU properties in get_host_primary_monitor_rect.
Since we only need the id, and vkGetRandROutputDisplayEXT can be extremely
expensive.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55500
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-30 19:22:09 +02:00
Alexis Murzeau
2cc573aef9 wpcap: Handle negative count for pcap_dispatch and pcap_loop.
According to WinPcap documentation of `pcap_dispatch`
(https://www.winpcap.org/docs/docs_41b5/html/group__wpcapfunc.html#g60ce104cdf28420d3361cd36d15be44c):

> A cnt of -1 processes all the packets received in one buffer when
> reading a live capture, or all the packets in the file when reading a
> ``savefile''

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55487
Signed-off-by: Alexis Murzeau <amubtdx@gmail.com>
2023-08-30 17:25:45 +02:00
Alexandre Julliard
1942cc3017 wow64: Also send notifications for failed memory management calls. 2023-08-30 13:54:59 +02:00
Rémi Bernon
ef3e97dbc2 include: Make general winetest helpers static inline. 2023-08-30 11:19:18 +02:00
Rémi Bernon
4b9507d600 include: Prefix winetest color constants with winetest_. 2023-08-30 11:19:18 +02:00
Rémi Bernon
615ceb3be3 include: Rename winetest thread data struct and getter. 2023-08-30 11:19:17 +02:00
Rémi Bernon
58ec77757c include: Prefix winetest global counters with winetest_. 2023-08-30 11:19:17 +02:00
Biswapriyo Nath
a0b28edabe include: Add Windows.Media.Capture.MediaCategory enumeration.
Required for Windows.Media.Effects.IAudioEffectsManagerStatics interface.
2023-08-30 11:14:55 +02:00
Paul Gofman
b34c216376 user32/msgbox: Implement MB_TOPMOST. 2023-08-30 11:14:32 +02:00
Paul Gofman
adf77c1abe user32/tests: Test more flags for MessageBox. 2023-08-30 11:14:31 +02:00
Wonjun Jung
b4280a486f wbemprox: Add NetConnectionID, NetEnabled properties in Win32_NetworkAdapter. 2023-08-29 21:54:03 +02:00
Wonjun Jung
b27d1809c7 wbemprox: Add Caption property in Win32_SoundDevice. 2023-08-29 21:54:03 +02:00
Wonjun Jung
fe28e61580 wbemprox: Add Win32_SoundDevice query test for Caption property. 2023-08-29 21:54:01 +02:00
Jeff Smith
c8171e02b7 gdiplus: Fix GdipCreateBitmapFromHICON bitmap data. 2023-08-29 21:53:56 +02:00
Jeff Smith
9341798c40 gdiplus/tests: Add test for bitmap locked data from GdipCreateBitmapFromHICON. 2023-08-29 21:53:56 +02:00
Jeff Smith
375d93a149 gdiplus/tests: Add test for non-square icon with GdipCreateBitmapFromHICON. 2023-08-29 21:53:56 +02:00
Jeff Smith
c5ae02c6d5 gdiplus/tests: Add test for 32 bpp icon with GdipCreateBitmapFromHICON. 2023-08-29 21:53:56 +02:00
Esme Povirk
909ff72892 mscoree/tests: Catch expected exception in loadpaths.exe.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54202
2023-08-29 20:47:54 +02:00
Rémi Bernon
57bd5b10a1 mf/session: Increase the request count when requests are already queued. 2023-08-29 16:02:05 +02:00
Rémi Bernon
4d30ce831e mf/session: Request more samples from upstream when necessary. 2023-08-29 16:02:04 +02:00
Rémi Bernon
986d82d147 mf/session: Push transform input samples directly to ProcessInput. 2023-08-29 16:02:03 +02:00
Rémi Bernon
5d51349276 mf/session: Use helpers to push and pop samples for transform streams. 2023-08-29 16:02:01 +02:00
Rémi Bernon
b60db1693e mf/session: Drain remaining requests in transform_node_deliver_samples. 2023-08-29 16:02:00 +02:00
Rémi Bernon
6946c761bf mf/session: Drain transform node input streams individually. 2023-08-29 16:01:59 +02:00
Rémi Bernon
46743a0546 mf/session: Use a helper to deliver transform node requested samples. 2023-08-29 16:01:57 +02:00
Rémi Bernon
b3e4a52fcc mf/session: Use local variables to access transform node streams. 2023-08-29 16:01:55 +02:00
Biswapriyo Nath
9b4ae4129a include: Add AudioProcessing enum in windows.media.idl.
Required for Windows.Media.Effects.IAudioEffectsManagerStatics interface.
2023-08-29 12:38:03 +02:00
Alex Henrie
929e4eb168 wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55459
2023-08-29 12:28:54 +02:00
Esme Povirk
afb00f7d98 user32/tests: Always generate a description for WM_NCCALCSIZE.
It's confusing to look at a dumped sequence and see empty lines.
2023-08-28 21:56:25 +02:00
Esme Povirk
33c2aa3ae1 user32/tests: Distinguish between extra and missing messages.
This may not be very clever, but it should make the
output much more readable when sequences fail.
2023-08-28 21:56:25 +02:00
Esme Povirk
05435becff user32/tests: Share code between ok_sequence and dump_sequence. 2023-08-28 21:56:25 +02:00
Esme Povirk
ea7b52b080 user32: Remove some todo's for working tests. 2023-08-28 21:56:25 +02:00
Esme Povirk
b1fe5339cb user32/tests: Use winetest context in ok_sequence. 2023-08-28 21:56:25 +02:00
Nikolay Sivov
3174e86abe wldp: Add WldpIsDynamicCodePolicyEnabled() stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-28 21:56:25 +02:00
Mohamad Al-Jaf
fedf4c2e68 apisetschema: Add ext-ms-win-dxcore-l1-1-0.
Needed by Affinity Photo.
2023-08-28 21:56:25 +02:00
Mohamad Al-Jaf
e3823af09e dxcore: Add DXCoreCreateAdapterFactory() stub. 2023-08-28 21:56:25 +02:00
Mohamad Al-Jaf
0aeed1a497 dxcore: Add stub DLL. 2023-08-28 21:56:25 +02:00
Mohamad Al-Jaf
3c4c935f64 include: Add dxcore.h file. 2023-08-28 21:56:25 +02:00
Mohamad Al-Jaf
ef79bf9111 include: Add dxcore_interface.h file. 2023-08-28 21:56:25 +02:00
Lorenzo Ferrillo
3957f937fc secur32: Increment iteration index after load_package error.
Otherwise if a package fail to load the routine is stuck in a
continuous loop trying to load the package, resulting in a loader
deadlock.

Restore the behaviour before commit 021547cabc.

Signed-off-by: Lorenzo Ferrillo <lorenzofersteam@live.it>
2023-08-28 21:56:25 +02:00
Alexandre Julliard
afb8d94e2f winebuild: Ignore syscalls that point to an alias. 2023-08-28 21:56:12 +02:00
Alexandre Julliard
b892d12c8c ntdll/tests: Add tests for cross-process notifications. 2023-08-28 17:53:15 +02:00
Alexandre Julliard
0b0dbf6acc wow64: Implement Wow64ProcessPendingCrossProcessItems(). 2023-08-28 13:49:16 +02:00
Alexandre Julliard
f6dbcccab9 wow64: Send cross-process notifications. 2023-08-28 13:47:47 +02:00
Alexandre Julliard
b521507591 ntdll: Implement RtlOpenCrossProcessEmulatorWorkConnection(). 2023-08-28 11:39:42 +02:00
Alexandre Julliard
f6ccadda8a wow64: Create the cross-process work list. 2023-08-28 11:33:59 +02:00
Alexandre Julliard
049fb065c4 ntdll: Implement the cross-process work list functions. 2023-08-28 11:32:18 +02:00
Zebediah Figura
dbe7788817 server: Signal AFD_POLL_BIT_WRITE at the same time as AFD_POLL_BIT_CONNECT.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55333
2023-08-28 11:22:22 +02:00
Piotr Caban
846636274f msvcr120/tests: Add Context::IsCurrentTaskCollectionCanceling tests. 2023-08-28 11:19:56 +02:00
Piotr Caban
5c574f68b8 msvcr120/tests: Add _Cancellation_beacon tests. 2023-08-28 11:19:56 +02:00
Piotr Caban
5672c08086 msvcr120/tests: Remove workaround for not implemented _StructuredTaskCollection::ctor(). 2023-08-28 11:19:56 +02:00
Piotr Caban
969ed7edea msvcr110: Add _Cancellation_beacon class implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54756
2023-08-28 11:19:54 +02:00
Piotr Caban
3f55fb72ca msvcr110: Add Context::IsCurrentTaskCollectionCanceling implementation. 2023-08-28 11:19:54 +02:00
Alex Henrie
4ef31ae987 dmusic: Use CRT allocation functions. 2023-08-28 11:19:37 +02:00
Biswapriyo Nath
096377be42 uiautomationcore: Fix typo with TreeScope_Subtree name. 2023-08-28 11:19:30 +02:00
Marcus Meissner
7d72397a08 cryptui: LoadStringW gets characters as size, not bytes. 2023-08-28 11:19:19 +02:00
Alex Henrie
afdd219194 mpr: Fix double free in WNetGetResourceInformationA. 2023-08-28 11:19:02 +02:00
Alexandre Julliard
221d5aba3f wow64: Reimplement syscall resolution using the syscall dispatcher name table. 2023-08-25 22:52:45 +02:00
Alexandre Julliard
7ee9c19687 ntdll: Also store syscall id and names following the syscall dispatcher pointer. 2023-08-25 22:52:45 +02:00
Zebediah Figura
5bc6ab56d0 wined3d: Move the wined3d_gl.h include to individual files. 2023-08-25 22:52:45 +02:00
Zebediah Figura
3c7f325fc9 wined3d: Move the remaining GL-specific definitions to wined3d_gl.h. 2023-08-25 22:52:45 +02:00
Zebediah Figura
9a73d1d647 wined3d: Move struct wined3d_format_gl to wined3d_gl.h. 2023-08-25 22:52:45 +02:00
Zebediah Figura
3581fb19f6 wined3d: Move the remaining wined3d_gl_info functions to wined3d_gl.h. 2023-08-25 22:52:45 +02:00
Zebediah Figura
6c1eb2cf40 wined3d: Move struct wined3d_swapchain_gl to wined3d_gl.h. 2023-08-25 22:52:45 +02:00
Zebediah Figura
a555afc76e wined3d: Move struct wined3d_unordered_access_view_gl to wined3d_gl.h. 2023-08-25 22:52:45 +02:00
Dmitry Sokolov
7e4715149a cmd: Fixed var substring in 'enableDelayedExpansion' mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55402
2023-08-25 22:52:42 +02:00
Alex Henrie
bd10252332 mmdevapi: Use CRT allocation functions. 2023-08-24 20:30:05 +02:00
Piotr Caban
67ca3e71a3 winprint: Implement TEXT print processor. 2023-08-24 20:29:58 +02:00
Piotr Caban
be5ca1be7c localspl: Try fallback print processor if datatype is not supported. 2023-08-24 20:29:49 +02:00
Piotr Caban
3a47720697 localspl: Store fallback print processor in AddPrinterDriver. 2023-08-24 20:29:49 +02:00
Piotr Caban
c73bea16eb ntdll: Don't overwrite last byte of RuntimeInfo if odd number of bytes is used.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55287
2023-08-24 20:29:35 +02:00
Akihiro Sagawa
322c175cf0 cmd: DIR command outputs free space for the path.
When the path contains a mountpoint on Unix or a junction point to
another drive on Windows, cmd.exe should show free space for the
path instead of the root of the drive.
2023-08-24 16:44:26 +02:00
Akihiro Sagawa
91de94ab99 cmd: Use towlower()/towupper() for WCHARs.
Found with Coccinelle.
2023-08-24 16:44:26 +02:00
Torge Matthies
75488b303b crypt32: Fix CMS SignedData encoding.
Several items here were encoded conditionally even though they aren't marked
as optional in the spec.

Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-24 16:40:59 +02:00
Zebediah Figura
62510642a0 wined3d: Move struct wined3d_shader_resource_view_gl to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Zebediah Figura
ec7465864c wined3d: Move struct wined3d_rendertarget_view_gl to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Zebediah Figura
b492199b62 wined3d: Move struct wined3d_buffer_gl to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Zebediah Figura
3308c44b23 wined3d: Move struct wined3d_sampler_gl to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Zebediah Figura
8618b09eef wined3d: Move struct fbo_entry to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Zebediah Figura
951d0e94c4 wined3d: Move struct wined3d_texture_gl to wined3d_gl.h. 2023-08-24 16:26:45 +02:00
Piotr Caban
74eae57e0f msvcrt/tests: Make registry handle inheritable in test_invalid_stdin tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55286
2023-08-24 16:26:35 +02:00
Alex Henrie
7428b17647 mlang: Use CRT allocation functions. 2023-08-24 16:26:26 +02:00
Alex Henrie
0f3c4eb319 mciavi32: Use CRT allocation functions. 2023-08-24 16:26:26 +02:00
Jeff Smith
19b7d1dbab gdiplus: Fix GdipCreateBitmapFromICON return status with mask-only icon. 2023-08-24 16:26:26 +02:00
Jeff Smith
a548bef8d0 gdiplus/tests: Add test for mask-only icon with GdipCreateBitmapFromHICON. 2023-08-24 16:26:26 +02:00
Jeff Smith
159e346547 gdiplus/tests: Add test for cursor with GdipCreateBitmapFromHICON. 2023-08-24 16:26:26 +02:00
Jeff Smith
5e5b7d560f gdiplus/tests: Create helper function for testing image properties. 2023-08-24 16:26:26 +02:00
Jeff Smith
5e7877da82 gdiplus/tests: Simplify ICONINFO initialization. 2023-08-24 16:26:26 +02:00
Esme Povirk
1855782ee0 user32/tests: Test cross-platform use of scroll functions. 2023-08-24 16:26:26 +02:00
Etaash Mathamsetty
caadb1fccb wevtapi: Add stub for EvtCreateBookmark. 2023-08-23 19:00:14 +02:00
Etaash Mathamsetty
240556e2b8 kernelbase: Add GetPackagePathByFullName stub. 2023-08-23 18:56:29 +02:00
Piotr Caban
195ff4bce7 msvcr90/tests: Reorder locale refcount tests to workaround leak in _create_locale.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54718
2023-08-23 17:46:17 +02:00
Piotr Caban
6245e2f3a8 msvcr90/tests: Restore thread locale settings in _getptd tests to avoid side effects. 2023-08-23 17:46:17 +02:00
Rémi Bernon
8143a57500 mf/scheme_handler: Implement http(s):// scheme handler using urlmon. 2023-08-23 17:38:51 +02:00
Rémi Bernon
70970429a0 mf/scheme_handler: Split file scheme handler to scheme_handler.c. 2023-08-23 17:38:51 +02:00
Rémi Bernon
fd3d0113f9 mf/tests: Add some network scheme resolver tests. 2023-08-23 17:38:51 +02:00
Rémi Bernon
e2aee50aa6 include: Add MF_BYTESTREAM_EFFECTIVE_URL GUID declaration. 2023-08-23 17:38:51 +02:00
Eric Pouech
3b7baae6e9 kernelbase: Correctly handle new process group flag in CreateProcess.
(when CREATE_NEW_CONSOLE is used).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech
38906e8f70 kernel32/tests: Extend to new process group tests for CreateProcess.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech
82b0bb3c24 server: Separate console and new group flag (CreateProcess).
We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
- rightfully, as a sign to block ctrl-c events from being processed by
  handlers (and by default, terminating the process)
- But this was also used to request for the creation of a new process group.

This patch properly separates the two use cases, by using the
ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
behaves as this patch in RtlCreateUserProcess wrt.
RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).

Introduce process_group_id in startup_info_t and use it to pass it to
server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
set.

Note: this will change some external behavior.
- before this patch, a child process created with Ctrl-C disabled
  (ConsoleFlags set), couldn't turn it on as the process was detached
  from unix console.
- now, SIGINT handling is moved to kernelbase (and can be turned on/off at
  application will),
- when creating a new windows group id, the child will be detached from
  unix console, so will no longer receives the SIGINT from ctrl-c in unix
  console (if parent was attached to this unix console).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech
ad148dfe88 kernel32/tests: Add tests for group and console flags in CreateProcess.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech
43f4a32127 kernel32/tests: Only access ProcessGroupId field when present.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech
7899577c97 kernel32/tests: Fix spurious failures in console:test_wait() test.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Rémi Bernon
61d9065315 winegstreamer: Don't append videoconvert for video/x-wmv output. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
dd6515c9ba schedsvc: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
6b49215203 netcfgx: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
92d7b284e0 dxdiagn: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
23c75adf2d hhctrl.ocx: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
5971885680 evr: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
65c3ad91d4 avifil32: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Alistair Leslie-Hughes
e77638a883 opcservices: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Davide Beatrici
6831b71f99 wineoss: Remove GetEndpointIDs. 2023-08-23 17:33:48 +02:00
Davide Beatrici
9b681e03f6 winecoreaudio: Remove GetEndpointIDs. 2023-08-23 17:33:47 +02:00
Davide Beatrici
d800159d0c winealsa: Remove GetEndpointIDs. 2023-08-23 17:33:47 +02:00
Davide Beatrici
09a84020de winepulse: Move GetEndpointIDs into mmdevapi. 2023-08-23 17:33:47 +02:00
Davide Beatrici
a8963c0067 mmdevapi: Import get_device_guid() from driver. 2023-08-23 17:33:47 +02:00
Davide Beatrici
11a676dab5 winepulse: Export get_device_guid(). 2023-08-23 17:33:47 +02:00
Davide Beatrici
c2ac63f73f wineoss: Export get_device_guid(). 2023-08-23 17:33:47 +02:00
Davide Beatrici
b8952d8f6d winecoreaudio: Export get_device_guid(). 2023-08-23 17:33:47 +02:00
Davide Beatrici
ac324a06e2 winealsa: Export get_device_guid(). 2023-08-23 17:33:47 +02:00
Davide Beatrici
557a6a1ba6 winepulse: Open/create driver registry key in get_device_guid(). 2023-08-23 17:33:47 +02:00
Davide Beatrici
ef1e9aa051 wineoss: Update device cache in get_device_guid(). 2023-08-23 17:33:47 +02:00
Daniel Lehman
8fb70648d1 include: Add [_w]getenv_s. 2023-08-23 17:33:47 +02:00
Alex Henrie
73695eff14 cryptui: Use CRT allocation functions. 2023-08-23 17:33:47 +02:00
Piotr Caban
707d299da6 wmic: Fix output when redirected to pipe. 2023-08-22 21:01:22 +02:00
Piotr Caban
846d164092 wmic: Use fwprintf to output error messages. 2023-08-22 21:01:22 +02:00
Rémi Bernon
9c661ff3f1 include: Add Windows.ApplicationModel.IPackage3 interface definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
4752e1d86a include: Add Windows.ApplicationModel.Core.AppListEntry runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
3b7398b403 widl: Guard against re-import of the main input file. 2023-08-22 21:00:56 +02:00
Rémi Bernon
3395ce23ee include: Add Windows.ApplicationModel.PackageStatus runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
ff6333c2b3 include: Add Windows.ApplicationModel.AppDisplayInfo runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
d48a1d15d6 include: Add Windows.Storage.Streams.RandomAccessStreamReference runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
f6fd79a3b9 include: Add Windows.Management.Deployment.PackageManager runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
cdf3355dc8 include: Add Windows.Management.Deployment.PackageUserInformation runtimeclass definition. 2023-08-22 21:00:56 +02:00
Rémi Bernon
a936bcad14 include: Add Windows.Management.Deployment.DeploymentResult runtimeclass definition. 2023-08-22 21:00:55 +02:00
Gabriel Ivăncescu
f6d9eb6712 mshtml: Implement Cycle Collection for DOM Events.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
81c681fc17 mshtml: Implement Cycle Collection for HTMLEventObj.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
f888c91bd9 mshtml: Implement Cycle Collection for HTMLSelectionObject.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
684aa5bbfb mshtml: Implement Cycle Collection for HTMLDOMRange.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
32d372ed60 mshtml: Implement Cycle Collection for HTMLTextRange.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
98e0cd8577 mshtml: Implement Cycle Collection for MediaQueryList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
48dd94713c mshtml: Implement Cycle Collection for HTMLDOMImplementation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
17dc0be965 mshtml: Implement Cycle Collection for MutationObserver.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
de720483da mshtml: Implement Cycle Collection for DOMTokenList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
e7d5c06b7a mshtml: Implement Cycle Collection for HTMLRect.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
06b08c4080 mshtml: Implement Cycle Collection for HTMLRectCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
a1f91539aa mshtml: Implement Cycle Collection for HTMLElementCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
bd16542cf4 mshtml: Implement Cycle Collection for HTMLDOMChildrenCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Gabriel Ivăncescu
3b9269905e mshtml: Use actual name when traversing variant.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-22 16:58:25 +02:00
Piotr Caban
254dd0a2b2 msvcr70: Don't set SSE2 control register in _control87.
Restores old function behavior in msvcr70 and msvcr71.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55414
2023-08-22 16:58:25 +02:00
Alex Henrie
f8cb15b13a mshtml: Define skip_prefix without using a magic number. 2023-08-22 16:58:25 +02:00
Alex Henrie
e8b8a80b3c activeds: Use CRT allocation functions. 2023-08-22 10:39:18 +02:00
Eric Pouech
e09dde5c94 kernelbase: Implement WaitForDebugEventEx().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:39:18 +02:00
Eric Pouech
090fb2cc19 kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
Also modifying WaitForDebugEvent() to force resending the ansi
DBG_PRINTEXCEPTION_C exception instead.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:37:10 +02:00
Eric Pouech
514f63f3b5 ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:37:10 +02:00
Eric Pouech
33db5b78bc ntdll/tests: Introduce enumeration to handle stages in test_debugger().
It'll be easier to add stages.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:37:10 +02:00
Eric Pouech
b7004335c5 ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:37:10 +02:00
Anton Baskanov
b9db434034 winex11.drv: Mark drawable as dirty when setting pixel format.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55341
2023-08-22 10:37:10 +02:00
Davide Beatrici
31e5218286 winepulse: Fix crash when requesting exclusive mode with an unsupported format.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55362
2023-08-22 10:37:10 +02:00
Bartosz Kosiorek
797a8bb192 gdiplus: Add support for GdipPathIterNextPathType. 2023-08-21 22:47:43 +02:00
Bartosz Kosiorek
27989a0a3a gdiplus: Improve performance by switching loops and fix size. 2023-08-21 22:47:42 +02:00
Etaash Mathamsetty
948412f0fe ntdll: Add semi-stub for NtOpenKeyTransactedEx. 2023-08-21 22:47:42 +02:00
Biswapriyo Nath
1326f53025 include: Add IRandomAccessStream generic types in windows.storage.streams.idl.
This fixes the following error.

windows.storage.h:3992:9: error:
unknown type name '__FIAsyncOperation_1_Windows__CStorage__CStreams__CIRandomAccessStream'
2023-08-21 22:47:42 +02:00
Biswapriyo Nath
9227d8abff include: Add ApplicationData runtimeclass in windows.storage.idl. 2023-08-21 22:47:42 +02:00
Biswapriyo Nath
148ff982dc include: Add KnownFolders runtimeclass in windows.storage.idl. 2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
56ced91b8e mshtml: Implement Cycle Collection for HTMLStyleSheetRule.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
2412c5f76c mshtml: Implement Cycle Collection for HTMLStyleSheetRulesCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
99d968c0e4 mshtml: Implement Cycle Collection for HTMLStyleSheetsCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
af7283deb0 mshtml: Implement Cycle Collection for HTMLStyleSheet.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
4ee59922fe mshtml: Implement Cycle Collection for HTMLCSSStyleDeclaration.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
2ee74c592b mshtml: Implement Cycle Collection for HTMLAttributeCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
4b2bcdb651 mshtml: Implement Cycle Collection for HTMLDOMAttribute.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
84847d7de9 mshtml: Implement Cycle Collection for objects that don't require traversal.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
4e0e50e2a6 mshtml: Implement Cycle Collection for HTMLPerformanceNavigation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
0c0cbb5ae1 mshtml: Implement Cycle Collection for HTMLPerformance.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
0afb0b6bc2 mshtml: Use destructor in the vtbl for PerformanceTiming.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Gabriel Ivăncescu
c32616c502 mshtml: Traverse variants using a helper function.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-21 22:47:42 +02:00
Eric Pouech
ced42c449a dbghelp: Fix sign extension issues on 32bit compilation.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-21 22:47:42 +02:00
Alex Henrie
4021336223 xaudio2_7: Use CRT allocation functions. 2023-08-21 22:47:42 +02:00
Alex Henrie
7df4a81ff2 shell32: Use CRT allocation functions. 2023-08-21 22:47:42 +02:00
Etaash Mathamsetty
4d6d580b66 ntdll: Allow NULL timeout in NtCreateNamedPipeFile. 2023-08-21 22:47:42 +02:00
Alex Henrie
7d2bd1e40d windowscodecs: Use CRT allocation functions. 2023-08-21 22:47:41 +02:00
Alexandre Julliard
7d013ed86c winex11: Work around a false positive gcc warning. 2023-08-21 12:12:10 +02:00
Alexandre Julliard
ec3b773872 Release 8.14. 2023-08-18 21:57:17 +02:00
Tim Clem
9d6aabb202 ntdll: Add error and warning logs in more cases of memory exhaustion. 2023-08-18 18:44:05 +02:00
Stefan Dösinger
ab6c51f28a dxgi/tests: Test swapchains with zero dimensions. 2023-08-18 18:44:05 +02:00
Stefan Dösinger
77fb8e04e4 wined3d: Move zero swapchain parameter fixup to wined3d_swapchain_state_init. 2023-08-18 18:44:05 +02:00
Stefan Dösinger
215a32d643 wined3d: Make wined3d_swapchain_desc in wined3d_swapchain_create const. 2023-08-18 18:44:05 +02:00
Stefan Dösinger
eba2523ac1 dxgi: Read back the swapchain size assigned by wined3d. 2023-08-18 18:34:10 +02:00
James Beddek
2846111765 mshtml: Check for non-NULL plugin host before trying to hold ref.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55457
Signed-off-by: James Beddek <telans@posteo.de>
2023-08-18 18:33:16 +02:00
Billy Laws
3ff81e3a41 wow64: Add BT module thread termination callback. 2023-08-18 18:32:44 +02:00
Alex Henrie
65e2c3844b wldap32: Map LDAP_OPT_AUTO_RECONNECT to LDAP_OPT_RESTART and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55450
2023-08-18 18:32:27 +02:00
Alex Henrie
f339506f4f find: Use CRT allocation functions. 2023-08-18 18:31:32 +02:00
Alex Henrie
dcc049ad4c oledb32: Use CRT allocation functions. 2023-08-18 18:31:29 +02:00
Alex Henrie
aa8e2a1643 shell32: Combine the two strdupAtoW functions. 2023-08-18 18:31:24 +02:00
Nikolay Sivov
42811d775b mf: Implement MFCreateSequencerSegmentOffset().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-17 23:26:13 +02:00
Alexandre Julliard
572cc841a6 ntdll/tests: Add some more tests for the contents of the WOW64INFO structure. 2023-08-17 23:26:13 +02:00
Eric Pouech
626f8d75e8 msvcrt: Fix freopen() on FILE with invalid underlying fd.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-17 23:26:13 +02:00
Eric Pouech
65b6e237cd msvcrt/tests: Add tests for freopen().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-17 23:26:13 +02:00
Alex Henrie
3505cdbf55 joy: Remove size argument to set_config_key function. 2023-08-17 23:26:13 +02:00
Paul Gofman
a743f085df winex11.drv: Release old drawables after setting new ones in sync_context(). 2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
bf1b0d5f10 include: Add IStorageFolder interface definition. 2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
dcc809627d include: Add windows.storage.search.idl file.
Needed by StorageFolder.
2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
ba392b4cef include: Add IStorageItem interface definition.
Needed by IStorageFolder.
2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
90cdfc5157 include: Add windows.storage.fileproperties.idl file.
Needed by IStorageItem.
2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
915db53124 include: Add IStorageFile interface definition.
Needed by IStorageFolder.
2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
711f9e1fc5 include: Add IRandomAccessStream interface definition.
Needed by IStorageFile.
2023-08-17 10:40:37 +02:00
Mohamad Al-Jaf
fe877fdf8a include: Add IPackageStatics interface definition. 2023-08-17 10:40:37 +02:00
Alex Henrie
c27f8f72d1 cmd: Introduce an option_equals helper for WCMD_parse_forf_options. 2023-08-17 10:40:37 +02:00
Alex Henrie
79e78218ec odbccp32: Use CRT allocation functions. 2023-08-17 10:37:19 +02:00
Alex Henrie
81a5a8f46b inetcpl: Use CRT allocation functions. 2023-08-17 10:37:19 +02:00
Alex Henrie
64d9d63fec adsldp: Use CRT allocation functions. 2023-08-17 10:37:19 +02:00
Alex Henrie
7abcc31298 advapi32: Use CRT allocation functions. 2023-08-17 10:29:30 +02:00
Tim Clem
fd67d67850 winemac.drv: Support cooperative app activation in macOS 14 Sonoma.
Starting in Sonoma, apps can no longer force themselves to the
foreground with -activateIgnoringOtherApps:. winemac currently does
that in a few places - when an app creates its first window, and in
the implementation of APIs like SetFocus.

There's nothing we can do to work around the new behavior in the
general case. This patch makes Wine apps running in the same prefix
yield to one another, so that windows from multiple EXEs can at least
behave as intended.
2023-08-16 21:26:01 +02:00
Jacek Caban
a1d429dabd cscript: Build as CUI application. 2023-08-16 21:19:47 +02:00
Ziqing Hui
a7594900ea winegstreamer: Implement GetStreamSinkById for media sink. 2023-08-16 16:06:18 +02:00
Ziqing Hui
59adbf6670 winegstreamer: Implement GetStreamSinkByIndex for media sink. 2023-08-16 16:06:18 +02:00
Ziqing Hui
6de1cbfe3c winegstreamer: Implement GetStreamSinkCount for media sink. 2023-08-16 16:06:18 +02:00
Ilia Docin
161e34bd86 sane.ds: Fix pixel type setting.
Remove extra memory access operator.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55375
2023-08-16 15:34:58 +02:00
Jacek Caban
3f276c836b ieframe/tests: Use less strict checks in session count tests. 2023-08-16 15:31:54 +02:00
Alexandre Julliard
3ac808e46e ntdll: Set Wow64 user space limit based on LARGE_ADDRESS_AWARE.
Based on a patch by Billy Laws.
2023-08-16 15:31:54 +02:00
Vitaly Lipatov
5f1b91e568 secur32: Print name for EXTENDED_NAME_FORMAT argument. 2023-08-16 15:31:54 +02:00
Vitaly Lipatov
d5a983ebec advapi32: Print name for POLICY_INFORMATION_CLASS argument. 2023-08-16 15:31:54 +02:00
Vitaly Lipatov
d173bc6a53 include: Add standalone LSA_OBJECT_ATTRIBUTES prototype if ntdef.h is not included. 2023-08-16 13:36:15 +02:00
Vitaly Lipatov
de354e8d45 include: Add initial activeds.h. 2023-08-16 13:36:15 +02:00
Vitaly Lipatov
7377b53681 include: Add missing PCWCHAR to winnt.h. 2023-08-16 13:36:15 +02:00
Vitaly Lipatov
aa4d0dd818 include: Include ncrypt.h in wincrypt.h. 2023-08-16 13:36:15 +02:00
Vitaly Lipatov
6bcdbbe573 include: Add specstrings_strict.h with some defines. 2023-08-16 13:36:15 +02:00
Vitaly Lipatov
caae33a853 include: Use compatible file guard name (_NTSECAPI_, _NTSECPKG_). 2023-08-16 09:07:39 +02:00
Vitaly Lipatov
de17a77b2f include: Add some missing defines. 2023-08-16 09:07:36 +02:00
Alex Henrie
9d509c0383 include: Add __WINE_ALLOC_SIZE to the definition of FNALLOC. 2023-08-16 08:51:58 +02:00
Ilia Docin
b830a46dfb sane.ds: Set monochrome DIB color table. 2023-08-16 08:51:32 +02:00
Gabriel Ivăncescu
76f622a663 mshtml: Release the event target during node unlink.
The event target can participate in a cycle. Also since release_event_target
can now potentially be called multiple times, we have to NULL the rb tree
to make it re-entrant safe.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:27 +02:00
Gabriel Ivăncescu
a54b322f6b mshtml: Implement node cycle collection using the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:27 +02:00
Gabriel Ivăncescu
ac572bc4ae mshtml: Move ccref from the node to the dispex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:27 +02:00
Gabriel Ivăncescu
d4770578c4 mshtml: Rename EventTarget_QI to EventTarget_QI_no_cc.
The new EventTarget_QI will use the cycle collector later.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:25 +02:00
Gabriel Ivăncescu
07923da1cf mshtml: Rename dispex_query_interface to dispex_query_interface_no_cc.
The new dispex_query_interface will use the cycle collector later.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
965040f04b mshtml: Use designated initializers in node vtables.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
b4f9aee68c mshtml: Use designated initializers in dispex and event target vtables.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
dfd32a332a mshtml: Make all event target vtbls const.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
4e08d7e200 mshtml: Split IUnknown methods for outer windows into separate vtable.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
5e8210bb94 mshtml: Move console to the inner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:23 +02:00
Gabriel Ivăncescu
c81c0aa7a3 mshtml: Use ASCII strings for dispex object names.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-16 08:51:21 +02:00
Yuxuan Shui
5cd11ade21 jscript: Fix Array.prototype.splice with omitted deleteCount in ES5+ mode. 2023-08-15 18:57:12 +02:00
Alexandre Julliard
20afe43832 Remove unused NONAMELESS defines. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
1f9c6e83bd include: Get rid of the NONAMELESS access macros in tests. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
232512660b windowscodecs/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
df20791bdb dxgi/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
62cd08f387 ddraw/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
47cd5b1499 d3dx9/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
8bec6d399f d3dx10/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
43add34963 d3drm/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
43d4956c27 d3d9/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
8d86c6d9d9 d3d8/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
e293a6c669 d3d11/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
e441577a59 d3d10core/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
aa73def84e d3d10_1/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
359229289b secur32: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
29191436b4 mmdevapi: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Alexandre Julliard
b5edd14814 configure: Use AC_CHECK_HEADER for headers that don't need to be in config.h. 2023-08-15 18:56:44 +02:00
David McFarland
4a4d352441 configure: Don't require pcsclite header for winscard.
The header is unused, and the header check fails with:

configure:7860: checking for PCSC/pcsclite.h
configure:7860: gcc -m32 -c -g -O2  conftest.c >&5
In file included from conftest.c:50:
[...]/include/PCSC/pcsclite.h:45:10:
fatal error: wintypes.h: No such file or directory
   45 | #include <wintypes.h>
         |          ^~~~~~~~~~~~

Fixes: d405a688ba
2023-08-15 18:55:21 +02:00
Zebediah Figura
5c3159052c wined3d: Move struct wined3d_device_gl to wined3d_gl.h. 2023-08-15 17:04:21 +02:00
Zebediah Figura
f8eebdf468 wined3d: Move struct wined3d_adapter_gl to wined3d_gl.h. 2023-08-15 17:04:21 +02:00
Zebediah Figura
f48fe6851f wined3d: Move GL-specific blitter create function declarations to wined3d_gl.h. 2023-08-15 17:04:21 +02:00
Zebediah Figura
965023386a wined3d: Pass a wined3d_adapter instead of wined3d_gl_info to FFP pipe emulation mask methods. 2023-08-15 17:04:21 +02:00
Zebediah Figura
35b8bcf7d5 wined3d: Move struct wined3d_context_gl to wined3d_gl.h. 2023-08-15 17:04:20 +02:00
Bartosz Kosiorek
c4248e97c2 gdiplus: Add new test cases to GdipCreateCustomLineCap. 2023-08-15 09:14:54 +02:00
Paul Gofman
af3014b3e1 winex11.drv: Fix buffer allocation size in import_xdnd_selection().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55443
2023-08-15 09:01:57 +02:00
Torge Matthies
8f76cc687d wintrust: Decode a zero-length OID to an empty string.
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Torge Matthies
c58c42ad93 wintrust: Encode algorithm id without parameters if pszObjId is NULL.
The only user of this function is CRYPT_AsnEncodeSPCDigest, whose only user is WVTAsn1SpcIndirectDataContentEncode, so
this behavior might be specific to that function.

Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Torge Matthies
402091048c wintrust: Encode SPC_INDIRECT_DATA_CONTENT digest as an octet string.
Instead of raw data. See SpcIndirectDataContent specification.

Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Torge Matthies
a35d2b17a5 wintrust: Fix segfault in CRYPT_AsnEncodeAttributeTypeValue.
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Torge Matthies
2f2fbefb69 wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentDecode.
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Torge Matthies
46e0f76514 wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentEncode.
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 18:11:23 +02:00
Stefan Dösinger
de7604b6c6 ntdll: Try to raise the file limit above OPEN_MAX on MacOS.
OPEN_MAX is 10240, which is usually lower than the kern.maxfilesperproc sysctl
value. Said value from sysctl works on Mojave to Monterey (and most likely
earlier Mac OS versions, but I can't test). Since Big Sur we can successfully
set the reported rlim_max value.
2023-08-14 18:11:23 +02:00
Piotr Caban
57943168c4 magnification: Add stub dll. 2023-08-14 18:11:23 +02:00
Jactry Zeng
a3068d7bd9 mshtml: Call UrlUnescapeW() with URL_UNESCAPE_AS_UTF8 in is_gecko_path().
This fixes an issue when the path includes non-ASCII characters.
2023-08-14 18:01:40 +02:00
Jactry Zeng
9cef334800 shlwapi/tests: Test UrlUnescapeW() with URL_UNESCAPE_AS_UTF8. 2023-08-14 18:01:40 +02:00
Jactry Zeng
d482010042 kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW(). 2023-08-14 18:01:40 +02:00
Jactry Zeng
75d0ab0839 shlwapi/tests: Test UrlUnescapeW() with independent data. 2023-08-14 18:01:40 +02:00
Biswapriyo Nath
24e7055f1d include: Add windows.ui.xaml.hosting.desktopwindowxamlsource.idl file. 2023-08-14 17:53:17 +02:00
Biswapriyo Nath
624c5870e7 include: Add xamlom.idl file. 2023-08-14 17:53:17 +02:00
Biswapriyo Nath
a34267e87e include: Add IXAudio2Extension in xaudio2.idl.
Required for rpcs3 project.
2023-08-14 17:53:17 +02:00
Maxim Karasev
aa3beb88b3 whoami: Refactor and add more commands.
Particularly it implements '/logonid' and '/user' options,
as well as adds stubs for '/upn' and '/fqdn'.
2023-08-14 17:53:17 +02:00
Maxim Karasev
5abe9de59f secur32: Add stub message for unimplemented name types in GetUserNameExW. 2023-08-14 17:53:17 +02:00
Paul Gofman
51b6715327 opengl32: Skip debug callback messages called from native thread. 2023-08-14 17:17:21 +02:00
Alex Henrie
6bd87223bf include: Annotate PALLOCATE_FUNCTION(_EX) with __WINE_ALLOC_SIZE. 2023-08-14 17:10:15 +02:00
Alex Henrie
6354cd9f56 include: Annotate PRTL_(AVL|GENERIC)_ALLOCATE_ROUTINE with __WINE_ALLOC_SIZE. 2023-08-14 17:10:15 +02:00
Alex Henrie
a4752dcf9f include: Annotate PFLT_CONTEXT_ALLOCATE_CALLBACK with __WINE_ALLOC_SIZE. 2023-08-14 17:10:15 +02:00
Alex Henrie
73883f918c include: Annotate PERF_MEM_ALLOC with __WINE_ALLOC_SIZE. 2023-08-14 17:10:01 +02:00
Alex Henrie
69a92659c0 include: Annotate PLSA_ALLOCATE_(LSA_HEAP|SHARED_MEMORY) with __WINE_ALLOC_SIZE. 2023-08-14 17:10:01 +02:00
Alex Henrie
cf1c69c085 include: Annotate CFP_(RE)ALLOCPROC with __WINE_ALLOC_SIZE. 2023-08-14 17:10:01 +02:00
Alex Henrie
8f60004995 include: Annotate PFNALLOC with __WINE_ALLOC_SIZE. 2023-08-14 17:10:00 +02:00
Zebediah Figura
06be26daa1 opengl32: Preserve the remainder of the version string when limiting the version to 4.3. 2023-08-14 16:53:07 +02:00
Rémi Bernon
efbf28afa5 mfplat: Use MFASYNC_CALLBACK_QUEUE_IO for byte stream async requests. 2023-08-14 16:50:19 +02:00
Rémi Bernon
94cd658446 mfplat/tests: Test that BeginRead doesn't use MFASYNC_CALLBACK_QUEUE_STANDARD. 2023-08-14 16:50:19 +02:00
Rémi Bernon
848fe4a741 mfplat/tests: Create the test_callback event in the constructor. 2023-08-14 16:50:19 +02:00
Zebediah Figura
cda2886fd3 configure: Fail if --enable-archs is used and any cross-compiler is missing.
For example, currently, if --enable-archs=i386,x86_64 is used, and there is an
x86_64 cross compiler present but no i386 cross compiler, Wine will silently
remove i386 from the list of cross-compiled architechtures, and only compile
PE code for x86_64. This seems quite undesirable.

I am not aware of any practical reason for this to happen. Debian does ship
i686 and x86_64 MinGW compilers in separate packages, though, so it is possible
in theory.
2023-08-14 15:56:00 +02:00
David McFarland
d405a688ba configure: Fix caching of PCSCLITE_LIBS on mac.
ac_cv_lib_pcsclite_SCardEstablishContext=yes would be cached, causing
AC_CHECK_LIB to use -lpcsclite on the second run.

Fixes: f74c4af257
2023-08-14 13:34:12 +02:00
Torge Matthies
91f8926023 server: Don't consider non-pending poll requests when reselecting socket.
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-14 13:32:26 +02:00
Santino Mazza
f8cf88dcf4 evr: Remove process input handling from streaming thread. 2023-08-14 13:32:16 +02:00
Santino Mazza
fa3ebd5044 evr: Don't lock presenter allocator when calling NotifyRelease.
The changes in the video sample allocator are not part of the public
api specification, it's only made for internal use in the evr presenter
implementation.
2023-08-14 13:32:14 +02:00
Santino Mazza
7c0731e184 evr: Create critical section for sample queue. 2023-08-14 13:32:14 +02:00
Santino Mazza
072fe5d62a evr: Release sample queue when streaming ends. 2023-08-14 13:32:14 +02:00
Shaun Ren
cff2e87e03 sapi/tests: Increase timeout in tts test_spvoice. 2023-08-14 13:32:04 +02:00
Shaun Ren
b9dbe482ee sapi: Change ISpObjectToken::SetId FIXME to TRACE. 2023-08-14 13:32:04 +02:00
Shaun Ren
738bbeb9b7 sapi/tests: Add test for implicit MTA initialized by SpVoice.
Based on a patch by Connor McAdams.
2023-08-14 13:32:02 +02:00
Shaun Ren
cdc3eeb776 sapi: Start async queue in ISpVoice::SetOutput. 2023-08-14 13:32:02 +02:00
Shaun Ren
679e3a9d00 sapi: Call CoInitializeEx/CoUninitialize in async_worker. 2023-08-14 13:32:02 +02:00
Alistair Leslie-Hughes
f54646d7a9 setupapi: Remove DECLSPEC_HIDDEN usage. 2023-08-14 13:30:39 +02:00
Alistair Leslie-Hughes
90081ca843 wmp: Remove DECLSPEC_HIDDEN usage. 2023-08-14 13:30:39 +02:00
Ilia Docin
b8c38f4186 sane.ds: Use BGR order to store 24 bit color DIB pixels. 2023-08-14 13:30:31 +02:00
Zhiyi Zhang
5daa21f961 mfmediaengine: Implement media_engine_GetSeekable(). 2023-08-14 13:30:23 +02:00
Zhiyi Zhang
4f0a7cd89a mfmediaengine/tests: Test IMFMediaEngine::GetSeekable(). 2023-08-14 13:30:23 +02:00
Zhiyi Zhang
3893db0a20 mfmediaengine/tests: Fix a test failure in test_GetDuration().
d19af88f59 happens to change test_transfer_notify_EventNotify() and
that affects test_GetDuration().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55422
2023-08-14 13:30:22 +02:00
Floris Renaud
7f4225e3b0 po: Update Dutch translation. 2023-08-14 13:29:54 +02:00
Mohamad Al-Jaf
8a31ad6b22 windows.devices.enumeration/tests: Add IDeviceInformationStatics::CreateWatcherAqsFilter() tests. 2023-08-14 13:29:49 +02:00
Mohamad Al-Jaf
586cc5ee35 windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcherAqsFilter().
Needed by Lenovo Ready For Assistant.
2023-08-14 13:29:47 +02:00
Mohamad Al-Jaf
cf7048d63c windows.devices.enumeration: Add IDeviceInformationStatics stub interface. 2023-08-14 13:29:46 +02:00
Mohamad Al-Jaf
ebb0a399a5 include: Add IDeviceInformationStatics interface definition. 2023-08-14 13:29:46 +02:00
Gabriel Ivăncescu
db53e46bad mshtml: Skip windows with no URI when deciding whether to send storage events.
They're not going to match anyway.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-14 13:29:21 +02:00
Ziqing Hui
1946c2dcf0 winegstreamer: Add async command handling to media sink. 2023-08-14 13:29:13 +02:00
Ziqing Hui
21729200a8 winegstreamer: Add IMFClockStateSink stubs to media sink. 2023-08-14 13:29:13 +02:00
Ziqing Hui
5b36d392c2 winegstreamer: Implement IMFMediaEventGenerator for media sink. 2023-08-14 13:29:13 +02:00
Ziqing Hui
bc9c106135 winegstreamer: Add IMFMediaTypeHandler stubs to stream sink. 2023-08-14 13:29:13 +02:00
Ziqing Hui
f8ecc08148 winegstreamer: Implement IMFMediaEventGenerator for stream sink. 2023-08-14 13:29:13 +02:00
Ziqing Hui
44c49b23aa winegstreamer: Add stubs for stream sink. 2023-08-14 13:29:12 +02:00
Ziqing Hui
0aeab6b7ee winegstreamer: Add stubs for media sink. 2023-08-14 13:29:10 +02:00
Tim Clem
b2a099b3ce server: Avoid a mach port leak on Apple Silicon.
Check for Rosetta before extracting the port right, since we won't need
it in that case anyway.
2023-08-10 10:02:35 +09:00
Bartosz Kosiorek
1135543dff gdiplus: Fix returned value of GdipDrawImagePointsRect according to native lib. 2023-08-10 10:02:14 +09:00
Bartosz Kosiorek
90c2949b25 gdiplus: Add support support for 1, 4 and 8 bpp indexed pixel format conversion.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=20694
2023-08-10 10:01:49 +09:00
Piotr Caban
f86c49695f bcrypt/tests: Add LEGACY_RSAPRIVATE_BLOB key import tests. 2023-08-10 10:01:08 +09:00
Piotr Caban
59ffbf204d bcrypt: Add support for importing LEGACY_RSAPRIVATE_BLOB keys. 2023-08-10 10:01:08 +09:00
Piotr Caban
9b92ee76a1 include: Add LEGACY_RSA*_BLOB definitions. 2023-08-10 10:01:07 +09:00
Piotr Caban
65b90ab367 bcrypt: Add BCRYPT_KEY_STRENGTH key property implementation. 2023-08-10 10:01:07 +09:00
Billy Laws
a632ac55d9 wow64win: Skip WM_CREATE/WM_NCCREATE lParam conversion if NULL.
lParam being NULL is handled in win32u/defwnd.c so make sure to pass the NULL
through rather than relying on the pointer always being valid since it may not
be in this case.
2023-08-10 10:00:48 +09:00
Alistair Leslie-Hughes
83b86d18dc d3dx11: Add D3DX11LoadTextureFromTexture stub. 2023-08-10 10:00:20 +09:00
Alistair Leslie-Hughes
9f375360d6 include: Added D3DX11_TEXTURE_LOAD_INFO struct. 2023-08-10 10:00:18 +09:00
Ilia Docin
e69785eee1 sane.ds: Add maximum scanning dimensions setting support. 2023-08-10 09:59:51 +09:00
Alistair Leslie-Hughes
0774873ea2 dmime: Store WAVE data when Loading. 2023-08-10 09:54:37 +09:00
Jeff Smith
fc78134d5f gdiplus: Set PNG palette histogram property when present. 2023-08-10 09:54:21 +09:00
Jeff Smith
78e6a53d67 gdiplus: Set PNG date-time property when present. 2023-08-10 09:54:21 +09:00
Jeff Smith
40d6b4a18b gdiplus: Set PNG unit properties always. 2023-08-10 09:54:21 +09:00
Jeff Smith
c171fbc01f gdiplus: Refactor png_metadata_reader. 2023-08-10 09:54:21 +09:00
Jeff Smith
f9c653a811 gdiplus/tests: Factor out check_properties functions. 2023-08-10 09:54:21 +09:00
Jeff Smith
287eb4e84b ddraw/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:54:02 +09:00
Zebediah Figura
c6b9aa7a7c wined3d: Implement a copy-on-write scheme for whole buffer uploads.
For discard maps on deferred contexts, we currently blit from the upload buffer
to the resource. This is necessary because command lists can be reused and
submitted multiple times—we cannot simply have the buffer take ownership, as for
discard maps on immediate contexts.

However, it is very common for applications to use command lists only once
before throwing them away—in essence taking advantage of the feature only for
the multithreading advantages it allows.

Therefore we take advantage of this pattern by trying to rename the buffer
anyway. In order to do this we introduce a refcount for BO pointers. When
writing to a buffer BO, we first check whether the buffer "owns" the BO—i.e.
whether it has a refcount of 1—and if not, we create a new BO for the buffer and
copy the contents of the old BO to the new BO. That is, we perform
mostly-transparent copy-on-write.

This improves performance, and reduces CPU usage, in Assassin's Creed: Unity.
2023-08-10 09:53:17 +09:00
Zebediah Figura
de71649102 wined3d: Separate a wined3d_context_vk_load_buffers() helper.
Mostly just because wined3d_context_vk_apply_draw_state() is large and it's nice
to split it up a bit.
2023-08-10 09:53:16 +09:00
Zebediah Figura
b2f13103d7 wined3d: Remove BO users from the list when invalidating them.
This makes it easier to invalidate in the case where multiple resources share
the same BO, which in turn is necessary to implement copy-on-write semantics for
BOs.

This is also necessary if we ever want to evict resources which have views,
although it's not clear if this will ever be necessary. If nothing else, though,
it removes that implicit dependency.
2023-08-10 09:53:14 +09:00
Zebediah Figura
8b5a3bc832 wined3d: Allocate GPU BOs for discard maps on deferred contexts. 2023-08-10 09:53:13 +09:00
Zebediah Figura
4e21945812 wined3d: Store the map pointer in the wined3d_deferred_upload structure. 2023-08-10 09:53:13 +09:00
Nikolay Sivov
f7157408f2 d3d11/tests: Fix typos in a test cleanup (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-10 09:52:58 +09:00
Jeff Smith
468ace0c50 d3drm/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:52:41 +09:00
Jeff Smith
a6d828b367 d3d9/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:52:40 +09:00
Jeff Smith
f6f25c5ed1 d3d8/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:52:38 +09:00
Jeff Smith
c29459c901 d3d11/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:52:36 +09:00
Jeff Smith
162a8e1217 d3d10core/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-10 09:52:34 +09:00
Zebediah Figura
22fcf28f05 wined3d: Release push constant buffers in wined3d_device_uninit_3d().
Fixes: c065b4fe0b
2023-08-10 09:52:16 +09:00
Evan Tang
7339135438 wined3d: Update reported driver versions. 2023-08-10 09:51:59 +09:00
Vitaly Lipatov
ee1d3a19a4 ntdll: Use COMPRESSION_FORMAT_MASK instead of ~COMPRESSION_ENGINE_MAXINUM. 2023-08-08 21:13:29 +09:00
Vitaly Lipatov
115403dc5b include: Update COMPRESSION_ defines and move it to ddk/ntifs.h. 2023-08-08 21:13:29 +09:00
Zhiyi Zhang
a2eec34678 mfmediaengine: Use a mftime_to_seconds() helper to convert time. 2023-08-08 21:11:31 +09:00
Zhiyi Zhang
613d7b0999 mfmediaengine/tests: Test IMFMediaEngine::GetDuration(). 2023-08-08 21:11:31 +09:00
Mohamad Al-Jaf
6b8ecfd289 hvsimanagementapi: Implement IIsolatedWindowsEnvironmentHostStatics::get_IsReady().
Needed for MS Office 365.
2023-08-08 21:11:31 +09:00
Mohamad Al-Jaf
3d12331476 hvsimanagementapi/tests: Add IIsolatedWindowsEnvironmentHostStatics::get_IsReady() tests. 2023-08-08 21:11:31 +09:00
Mohamad Al-Jaf
f3aa576aad hvsimanagementapi: Add IIsolatedWindowsEnvironmentHostStatics stub interface. 2023-08-08 21:11:30 +09:00
Mohamad Al-Jaf
8840087d9e hvsimanagementapi: Add stub DLL. 2023-08-08 21:11:30 +09:00
Mohamad Al-Jaf
b14d9ae881 include: Add windows.security.isolation.idl file. 2023-08-08 21:11:30 +09:00
Bernhard Kölbl
13106b2b38 mfmediaengine: Implement RemoveAllEffects().
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Bernhard Kölbl
ffba650a33 mfmediaengine/tests: Add tests for RemoveAllEffects().
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Bernhard Kölbl
d19af88f59 mfmediaengine/tests: Make effect tests more consistent.
Do this by waiting for the first available frame with a
separate ready event and removing flaky ref checks.

Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Ilia Docin
5590294cf3 sane.ds: Do the reverse conversion of frame edges before setting.
Sane backends must attach a unit of either pixels or millimeters to scan area options.
2023-08-08 21:11:30 +09:00
Jeff Smith
ed29473e60 msvcp120/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 21:11:30 +09:00
Jeff Smith
7febd8db5d d2d1/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 12:00:01 +09:00
Jeff Smith
0a8610f9ba d3dcompiler_43/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 11:57:30 +09:00
Jeff Smith
11516e7cee d3dx10_43/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 11:57:23 +09:00
Jeff Smith
c449da64e1 d3dx9_36/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 11:57:21 +09:00
Sven Baars
076d064140 strmbase: Fix a critical section leak (Valgrind). 2023-08-08 11:56:59 +09:00
Sven Baars
5d97f12521 quartz/tests: Fix some memory leaks in test_add_source_filter() (Valgrind). 2023-08-08 11:56:59 +09:00
Sven Baars
c1b832cdfe quartz: Fix a system clock leak (Valgrind). 2023-08-08 11:56:58 +09:00
Davide Beatrici
a1f52a9520 winealsa: Remove GetPropValue. 2023-08-08 11:56:30 +09:00
Davide Beatrici
906ad69b0a winepulse: Move GetPropValue into mmdevapi. 2023-08-08 11:56:30 +09:00
Davide Beatrici
c03170a9b7 wineoss: Add get_prop_value stub in unixlib. 2023-08-08 11:56:30 +09:00
Davide Beatrici
62b5ee8be1 winecoreaudio: Add get_prop_value stub in unixlib. 2023-08-08 11:56:30 +09:00
Gabriel Ivăncescu
0c99a89b15 mshtml: Use unlink and destructor in the vtbl for HTMLElementCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:08 +09:00
Gabriel Ivăncescu
20b769dcb9 mshtml: Use unlink and destructor in the vtbl for HTMLDOMChildrenCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:08 +09:00
Gabriel Ivăncescu
6919d553aa mshtml: Use unlink and destructor in the vtbl for HTMLAttributeCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
d5e6c2a581 mshtml: Use unlink and destructor in the vtbl for HTMLFiltersCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
ee24cfe6be mshtml: Use unlink and destructor in the vtbl for DOMTokenList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
ab784433bc mshtml: Use unlink and destructor in the vtbl for HTMLRectCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
adefacfd12 mshtml: Use unlink and destructor in the vtbl for HTMLRect.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
7913019fd0 mshtml: Use unlink and destructor in the vtbl for XMLHttpRequest.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
ce02f4d98a mshtml: Use unlink and destructor in the vtbl for MutationObserver.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
7bf4cd17ea mshtml: Use unlink and destructor in the vtbl for MediaQueryList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Gabriel Ivăncescu
a916bc768d mshtml: Use unlink and destructor in the vtbl for Console.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-08 11:56:07 +09:00
Jinoh Kang
915c391014 server: Avoid relying on linux/ipx.h to define SOL_IPX.
musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
macro.  However, it still provides linux/ipx.h from Linux uAPI header
files if it exists.

Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
although IPX support has already been marked obsolete since 2018.

Fix this by not defining HAS_IPX if linux/ipx.h has been included but
nothing defines the SOL_IPX macro.

Status of IPX support from other libcs are noted below:

- bionic: netipx/ipx.h does not exist.  linux/ipx.h may or may not
  exist.  Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
  missing.

- glibc: netipx/ipx.h exists.  In this case, Wine assumes IPX support
  even if the operating system does not support it in runtime.

- BSD variants: netipx/ipx.h may or may not exist.  linux/ipx.h does not
  exist.  Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.

Fixes: 41cc117b3f
2023-08-05 10:45:10 +09:00
Jinoh Kang
0deab78dc5 ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.
musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
macro.  However, it still provides linux/ipx.h from Linux uAPI header
files if it exists.

Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
although IPX support has already been marked obsolete since 2018.

Fix this by not defining HAS_IPX if linux/ipx.h has been included but
nothing defines the SOL_IPX macro.

Status of IPX support from other libcs are noted below:

- bionic: netipx/ipx.h does not exist.  linux/ipx.h may or may not
  exist.  Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
  missing.

- glibc: netipx/ipx.h exists.  In this case, Wine assumes IPX support
  even if the operating system does not support it in runtime.

- BSD variants: netipx/ipx.h may or may not exist.  linux/ipx.h does not
  exist.  Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.

Fixes: da4e359a70
2023-08-05 10:45:07 +09:00
Jinoh Kang
14d4a896bd ntdll: Avoid relying on linux/ipx.h to define SOL_IPX.
musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
macro.  However, it still provides linux/ipx.h from Linux uAPI header
files if it exists.

Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
although IPX support has already been marked obsolete since 2018.

Fix this by not defining HAS_IPX if linux/ipx.h has been included but
nothing defines the SOL_IPX macro.

Status of IPX support from other libcs are noted below:

- bionic: netipx/ipx.h does not exist.  linux/ipx.h may or may not
  exist.  Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
  missing.

- glibc: netipx/ipx.h exists.  In this case, Wine assumes IPX support
  even if the operating system does not support it in runtime.

- BSD variants: netipx/ipx.h may or may not exist.  linux/ipx.h does not
  exist.  Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.

Fixes: 954bf9e050
2023-08-05 10:45:04 +09:00
Alistair Leslie-Hughes
f8aca52718 d3dx11_43/tests: Add a trailing '\n' to ok() calls. 2023-08-05 10:43:59 +09:00
Paul Gofman
e195aafe54 d3d11/tests: Add basic tests for keyed mutexes. 2023-08-05 10:43:24 +09:00
Jeff Smith
0b34786097 gdiplus/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-05 10:43:06 +09:00
Zebediah Figura
0057357ffd wined3d: Move struct wined3d_rendertarget_info to wined3d_gl.h. 2023-08-05 10:42:48 +09:00
Zebediah Figura
ca954a0571 wined3d: Move struct wined3d_query_gl to wined3d_gl.h. 2023-08-05 10:42:48 +09:00
Zebediah Figura
0f1679f379 wined3d: Move struct wined3d_fence to wined3d_gl.h. 2023-08-05 10:42:48 +09:00
Zebediah Figura
a9cd6112dc wined3d: Avoid using GL-specific types in struct wined3d_stream_info. 2023-08-05 10:42:48 +09:00
Zebediah Figura
2ace2166a1 wined3d: Move struct wined3d_bo_gl to wined3d_gl.h. 2023-08-05 10:42:46 +09:00
Jacek Caban
f1749b0808 win32u: Pack input param for CB_GETCOMBOBOXINFO message.
Based on patch by Tim Clem.
2023-08-04 19:21:03 +09:00
Gabriel Ivăncescu
59865c9e51 mshtml: Use unlink and destructor in the vtbl for HTMLNamespaceCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
21abb999d9 mshtml: Use unlink and destructor in the vtbl for HTMLPerformance.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
8dac93e6d1 mshtml: Use unlink and destructor in the vtbl for HTMLPerformanceNavigation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
6306e86bfd mshtml: Use unlink and destructor in the vtbl for Navigator.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
530c68d829 mshtml: Use unlink and destructor in the vtbl for HTMLMimeTypesCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
679617179c mshtml: Use unlink and destructor in the vtbl for HTMLPluginsCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
d373377765 mshtml: Use unlink and destructor in the vtbl for History.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
94c85bf9bf mshtml: Use unlink and destructor in the vtbl for HTMLScreen.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
5a687bb49c mshtml: Use unlink and destructor in the vtbl for HTMLDOMImplementation.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
62d39e86b3 mshtml: Use unlink and destructor in the vtbl for HTMLDOMAttribute.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
1904dd0be3 mshtml: Use unlink and destructor in the vtbl for HTMLTxtRange.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
5c3f4e4b7c mshtml: Use unlink and destructor in the vtbl for HTMLDOMRange.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
159b6d75d0 mshtml: Use unlink and destructor in the vtbl for HTMLSelectionObject.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
9541020f16 mshtml: Use unlink and destructor in the vtbl for HTMLStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:39 +09:00
Gabriel Ivăncescu
392a15cdc9 mshtml: Unlink variants using a helper function.
And move the clear to the destructor.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-04 19:20:36 +09:00
Hans Leidekker
ff5db66c43 secur32: Also copy user function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext(). 2023-08-04 18:56:47 +09:00
Ilia Docin
b43ba81e17 sane.ds: Add array of resolutions support.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55378
2023-08-04 18:56:30 +09:00
Biswapriyo Nath
26e72a7580 include: Add missing default value in IXAudio2.
This was removed in 14c44d0b0a commit.
2023-08-04 18:07:42 +09:00
Piotr Caban
e2414b55b6 winedump: Support REG_QWORD values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
49c40d502c winedump: Support dumping UTF16 value names in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
2908537f3f winedump: Don't dump volatile keys from regf file. 2023-08-04 18:07:42 +09:00
Piotr Caban
1a58a7032a winedump: Enlarge buffer in dump_want_n helper. 2023-08-04 18:07:42 +09:00
Piotr Caban
bed6f9dfb3 winedump: Skip data blocks when dumping regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
b4fb0aef0d winedump: Support REG_MULTI_SZ values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
037677932b winedump: Support REG_BINARY values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
814d8d74f6 winedump: Support REG_NONE values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
c6c844f172 winedump: Support REG_EXPAND_SZ values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
1727302892 winedump: Fix empty string handling in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
654a83a583 winedump: Support dumping default values without VAL_COMP_NAME flag. 2023-08-04 18:07:42 +09:00
Piotr Caban
8242dbe5a0 winedump: Support REG_DWORD values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
b17fed0255 winedump: Add support for decoding data stored in offset in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban
8885aea089 winedump: Fix non null terminated strings printing in regf files. 2023-08-04 18:07:42 +09:00
Vitaly Lipatov
982f1983c4 include: Update SECURITY_LOGON_TYPE and SECURITY_LOGON_SESSION_DATA in ntsecapi.h.
Signed-off-by: Vitaly Lipatov <lav@etersoft.ru>
2023-08-04 09:51:41 +09:00
Mohamad Al-Jaf
0b3b28c245 widl: Add support for default_overload attribute.
Needed for IDeviceInformationStatics.
2023-08-04 09:51:24 +09:00
Hans Leidekker
b26ec54e6f ldap: Set trailer size when sasl_client_start() succeeds. 2023-08-03 20:46:11 +09:00
Hans Leidekker
07d5bd7a33 ldap: Set SSF when sasl_client_start() succeeds.
This can happen when credentials are cached.
2023-08-03 20:46:08 +09:00
Hans Leidekker
51571ba577 ldap: Use SECPKG_ATTR_SESSION_KEY to retrieve the key size. 2023-08-03 20:46:08 +09:00
Hans Leidekker
26c19ea681 kerberos: Implement SECPKG_ATTR_SESSION_KEY. 2023-08-03 20:46:08 +09:00
Hans Leidekker
da750b77bd msv1_0: Implement SECPKG_ATTR_SESSION_KEY. 2023-08-03 20:46:08 +09:00
Hans Leidekker
922372e64c secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_SESSION_KEY). 2023-08-03 20:46:08 +09:00
Dmitry Timoshkov
835d73379f secur32/tests: Add some tests for "Negotiate" LSA package.
Fixed test failures under some Windows versions.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-08-03 20:45:37 +09:00
Dmitry Timoshkov
519f5cc20a secur32: Add a better stub for LsaApCallPackageUntrusted(NegGetCallerName).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-08-03 20:45:37 +09:00
Dmitry Timoshkov
021547cabc secur32: Convert "Negotiate" to an LSA package.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-08-03 20:45:36 +09:00
Bernhard Kölbl
ef1b964826 winegstreamer: Leave media source critical section before unlocking workqueue.
Today, if media_source_Shutdown is called around the same time
as a work item is put on the async_commands_queue, we end up in
a deadlock if Shutdown enters media source's cs first, as it
waits for the queue's callback to finish, which, in turn,
waits for the object's cs to be released.

To avoid this leave the cs, before unlocking the workqueue,
to let any callback on the queue finish running.

Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-03 20:45:16 +09:00
Sven Baars
35cff9ec6e quartz/tests: Fix some media type leaks (Valgrind). 2023-08-03 20:44:25 +09:00
Sven Baars
c5ca3b0011 quartz: Fix some critical section leaks (Valgrind). 2023-08-03 20:44:25 +09:00
Zebediah Figura
f03ae651e6 qcap/audiorecord: Enumerate the currently set media type first. 2023-08-03 20:43:22 +09:00
Zebediah Figura
b0f7f84327 qcap/tests: Add more tests for audio record media types. 2023-08-03 20:43:22 +09:00
Michael Stefaniuc
c84e7d6714 msxml3/tests: Use wide strings to generate BSTRs in schema.c. 2023-08-03 20:43:04 +09:00
Nikolay Sivov
e0ab89b856 d2d1: Keep effect shader objects at device level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Nikolay Sivov
9e4ee3e4e0 d2d1: Use device instance pointer in device context structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Nikolay Sivov
cf2e1db7b5 d2d1/tests: Add some more tests for effect shader loading.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Tim Clem
198917ee1e wow64: Correct a reversed strcpy in wow64_NtQuerySystemInformation(SystemModuleInformation). 2023-08-03 20:42:06 +09:00
Mohamad Al-Jaf
79140eb277 graphicscapture: Trim default debug channel.
The maximum size for a debug channel name is 15.
2023-08-03 20:41:12 +09:00
Jacek Caban
61b80f6704 win32u: Remove no longer needed NtUserSendDriverMessage.
All messages are packed now anyway.
2023-08-02 20:03:51 +09:00
Jacek Caban
f693d66086 win32u: Remove no longer needed needs_unpack from win_proc_params. 2023-08-02 20:03:51 +09:00
Jacek Caban
813e04e655 win32u: Remove no longer needed process_packed_message. 2023-08-02 20:03:51 +09:00
Jacek Caban
b9740fcf4b win32u: Move more of unpack_message implementation from user32. 2023-08-02 20:03:51 +09:00
Jacek Caban
140f9e82f9 win32u: Use user message packing for WM_DEVICECHANGE. 2023-08-02 20:03:51 +09:00
Jacek Caban
c1a5b42cdc win32u: Remove no longer needed NtUserWinProcResult. 2023-08-02 20:03:51 +09:00
Jacek Caban
ad45d84a65 win32u: Use user message packing for WM_MDIGETACTIVE. 2023-08-02 20:03:51 +09:00
Jacek Caban
8561e8e958 win32u: Use user message packing for CB_GETCOMBOBOXINFO. 2023-08-02 20:03:51 +09:00
Esme Povirk
676e325832 comctl32/tests: Test MSAA events for tab controls. 2023-08-02 20:03:51 +09:00
Esme Povirk
35930f2d87 comctl32: Add support for MSAA events on tab controls. 2023-08-02 20:03:51 +09:00
Mohamad Al-Jaf
7ac4bbb2de msvcp140_codecvt_ids: Add DLL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55344
2023-08-02 20:03:51 +09:00
David Kahurani
08d9f9b60b gdiplus: Use get_log_fontW in GdipGetLogFontW.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-08-02 20:03:51 +09:00
David Kahurani
326a9e18bb gdiplus: Use helper to calculate transform properties.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-08-02 20:03:51 +09:00
Gabriel Ivăncescu
f937b89cd7 mshtml: Use unlink and destructor in the vtbl for the MutationObserver constructor.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:33 +09:00
Gabriel Ivăncescu
2e5ac78a7c mshtml: Use unlink and destructor in the vtbl for HTMLXMLHttpRequestFactory.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:32 +09:00
Gabriel Ivăncescu
67d7cb3a62 mshtml: Use unlink and destructor in the vtbl for HTMLOptionElementFactory.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:32 +09:00
Gabriel Ivăncescu
df6316cdbc mshtml: Use unlink and destructor in the vtbl for HTMLImageElementFactory.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:32 +09:00
Gabriel Ivăncescu
9019e969ad mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheet.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:32 +09:00
Gabriel Ivăncescu
cfe112d70c mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetsCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:32 +09:00
Gabriel Ivăncescu
2e188c9681 mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRulesCollection.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:27 +09:00
Gabriel Ivăncescu
6d63a630fe mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRule.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:27 +09:00
Gabriel Ivăncescu
ae9aa7ec23 mshtml: Use unlink and destructor in the vtbl for CSSStyle.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:27 +09:00
Gabriel Ivăncescu
6ad4dd01dd mshtml: Use unlink and destructor in the vtbl for inner windows.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:27 +09:00
Gabriel Ivăncescu
9bad7be301 mshtml: Use unlink and destructor in the vtbl for HTMLEventObj.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:27 +09:00
Gabriel Ivăncescu
548b681185 mshtml: Use separate dispex destructors for different event types.
And get rid of the destroy method. This especially simplifies it when
traversal and unlinking is implemented.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:26 +09:00
Gabriel Ivăncescu
6a2ca11c65 mshtml: Use unlink and destructor in the vtbl for function disps.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:26 +09:00
Gabriel Ivăncescu
3c92edfdf2 mshtml: Introduce unlink_ref helper.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:25 +09:00
Gabriel Ivăncescu
7b30e3d34e mshtml: Use the common HTMLElement dispex vtbl in the dispex definitions.
Rather than filling it during initialization, which was a bit confusing,
even more later on when dispex will handle Cycle Collection.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-02 19:59:23 +09:00
Francois Gouget
5d377d8a5f webservices: Make alloc_float_text() static. 2023-08-02 19:58:46 +09:00
Zebediah Figura
d163ef089e wined3d: Do not load UAV locations when clearing if not necessary.
Don't load the buffer location if we are clearing the whole buffer, and never
load the texture location (for Vulkan; GL already did this). Only prepare them
instead.
2023-08-02 19:58:23 +09:00
Zebediah Figura
9373cd5e3e wined3d: Pass map flags to wined3d_context_copy_bo_address().
This is a step towards implementing D3D11_COPY_FLAGS.
2023-08-02 19:58:18 +09:00
Zebediah Figura
2f84616e02 wined3d: Avoid uploading deferred context maps more than once. 2023-08-02 19:58:18 +09:00
Zebediah Figura
34245154e8 wined3d: Move more miscellaneous GL declarations to wined3d_gl.h. 2023-08-02 19:57:58 +09:00
Zebediah Figura
dcdba8d571 wined3d: Move the ffp_attrib_ops to wined3d_gl_info.
They are quite GL-specific.
2023-08-02 19:57:56 +09:00
Zebediah Figura
77e282d7a1 wined3d: Remove the no longer used "specular_func_3ubv" declaration. 2023-08-02 19:57:56 +09:00
Zebediah Figura
421f70710a wined3d: Move some wined3d_gl_info functions to wined3d_gl.h. 2023-08-02 19:57:56 +09:00
Zebediah Figura
bafb02efbe wined3d: Move struct wined3d_gl_info to wined3d_gl.h.
And its dependencies.
2023-08-02 19:57:54 +09:00
Petrichor Park
17d64ac1e0 wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting_footer. 2023-08-01 21:57:47 +09:00
Petrichor Park
79b92a6d39 wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting. 2023-08-01 21:57:47 +09:00
Petrichor Park
b79c4e7de6 wined3d: Implement a zero-safe normalize function for FFP.
DirectX's FFP normalizes the zero vector to the zero vector, but GLSL
normalizes them to all NaN.

This patch creates ffp_normalize, which normalizes vectors but
has DirectX's behavior on 0 vectors. Further patches in this set switch
other calls from GLSL's normalize to the 0-safe version.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36564
2023-08-01 21:57:45 +09:00
Gabriel Ivăncescu
954dd16fb1 jscript: Use the object containing the prop for builtin getters.
Since they act like values.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-01 21:51:13 +09:00
Gabriel Ivăncescu
1b1d09724a jscript: Call the getter with the proper 'this' in invoke_prop_func.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-08-01 21:51:13 +09:00
Paul Gofman
4098a05ea8 iphlpapi: Link NotifyAddrChange and CancelIPChangeNotify to nsi implementation. 2023-08-01 21:51:13 +09:00
Paul Gofman
a58f3e0401 nsiproxy.sys: Implement change notifications for NSI_IP_UNICAST_TABLE. 2023-08-01 21:51:13 +09:00
Paul Gofman
79165b1624 nsi: Implement NsiCancelChangeNotification(). 2023-08-01 21:51:13 +09:00
Paul Gofman
a72f91f5f5 nsi: Forward request to nsiproxy from NsiRequestChangeNotification(). 2023-08-01 21:51:13 +09:00
Michael Stefaniuc
dbe9f348d4 shell32/tests: Get rid of the a2bstr() helper. 2023-08-01 21:51:13 +09:00
Michael Stefaniuc
a16cf63858 vbscript/tests: Remove the last usage of a2bstr() in vbscript.c. 2023-08-01 21:50:34 +09:00
Michael Stefaniuc
c8a72b458c vbscript/tests: Avoid using a2bstr() in the vbscript.c helpers. 2023-08-01 21:50:34 +09:00
Michael Stefaniuc
a489b7ef30 vbscript/tests: Avoid using a2bstr() in the run.c helpers. 2023-08-01 21:50:34 +09:00
Michael Stefaniuc
23e2eb3984 vbscript/tests: Avoid using a2bstr() for static strings. 2023-08-01 21:50:34 +09:00
Michael Stefaniuc
2ca50c0817 vbscript/tests: Remove the need for a2bstr() in createobj.c. 2023-08-01 21:50:34 +09:00
Michael Skorokhodov
973ed25791 win32u: Add DriverVersion string for GPUs to registry.
Some applications (e.g. UE4) require the DriverVersion string in the registry.

Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
2023-08-01 21:50:34 +09:00
David Kahurani
40f06d46a3 gdiplus: Move Flatten() tests into the same function.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-08-01 21:50:34 +09:00
David Kahurani
d58d990256 gdiplus: Reject zero-width/zero-height rectangles.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55351
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-08-01 21:50:34 +09:00
Jacek Caban
99f0d3d790 win32u: Move packed structures declaration from ntuser.h. 2023-08-01 21:50:34 +09:00
Jacek Caban
3aa7f9d33b win32u: Use user message packing for WM_MDICREATE. 2023-08-01 21:50:34 +09:00
Jacek Caban
de26401c02 win32u: Use user message packing for WM_MOVING and WM_SIZING. 2023-08-01 21:50:34 +09:00
Jacek Caban
347e392799 win32u: Use user message packing for WM_NEXTMENU. 2023-08-01 21:50:34 +09:00
Jacek Caban
c66984d174 win32u: Use user message packing for LB_GETSELITEMS. 2023-08-01 21:50:34 +09:00
Jacek Caban
6b592e8102 win32u: Use user message packing for CB_GETLBTEXT and LB_GETTEXT. 2023-08-01 21:50:34 +09:00
Jacek Caban
216979bd08 win32u: Use user message packing for more messages passing string. 2023-08-01 21:50:34 +09:00
Jacek Caban
844177d517 win32u: Use user message packing for EM_SETTABSTOPS and LB_SETTABSTOPS. 2023-08-01 21:50:34 +09:00
Zhao Yi
314c94e100 comctl32/listview: Reset bNoItemMetrics to make sure that listview items can be arranged correctly.
Signed-off-by: Zhao Yi <zhaoyi@uniontech.com>
2023-08-01 21:50:34 +09:00
Sven Baars
4fd56146a8 ldap: Free the output buffer after every InitializeSecurityContextA() call (Valgrind). 2023-08-01 21:50:34 +09:00
Sven Baars
2d17c0ff72 wldap32: Fix a message leak in ldap_parse_resultW() (Valgrind). 2023-08-01 21:50:34 +09:00
Sven Baars
ca692fb39c wldap32: Fix a mod_type leak (Valgrind). 2023-08-01 21:50:34 +09:00
Piotr Caban
3345404cbe wineps.drv: Flush spool data even if there are no pages to print.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55291
2023-08-01 21:50:34 +09:00
Alistair Leslie-Hughes
0442d18363 windowscodecs: Remove DECLSPEC_HIDDEN usage. 2023-08-01 21:50:34 +09:00
Alistair Leslie-Hughes
88cc465934 hidclass.sys: Remove DECLSPEC_HIDDEN usage. 2023-08-01 21:45:03 +09:00
Alistair Leslie-Hughes
1b99f38bf3 dinput: Remove DECLSPEC_HIDDEN usage. 2023-08-01 21:45:01 +09:00
Piotr Caban
b80ea4153b winedump: Add initial support for dumping Windows NT Registry Files (REGF). 2023-07-31 21:05:07 +09:00
Yuxuan Shui
724e54d54f mshtml: Add stubs for MutationObserver methods. 2023-07-31 21:04:23 +09:00
Yuxuan Shui
02994bdd10 mshtml: Implement window.MutationObserver with MutationObserver stub. 2023-07-31 21:04:21 +09:00
Alistair Leslie-Hughes
17841cd529 webservices: Remove DECLSPEC_HIDDEN usage. 2023-07-31 21:04:08 +09:00
Alistair Leslie-Hughes
273c7318bd wbemprox: Remove DECLSPEC_HIDDEN usage. 2023-07-31 21:04:08 +09:00
Paul Gofman
3b69baaee8 winhttp: Skip unexpected completions in netconn_wait_overlapped_result(). 2023-07-31 21:03:53 +09:00
Paul Gofman
96b6bf6111 winhttp: Set FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on sockets. 2023-07-31 21:03:53 +09:00
Francois Gouget
abdca2f74b ntdll/tests: Fix the basic file informations failure messages.
Set the messages to accurately reflect what is being tested, make them
unique and trace bad values.
2023-07-31 18:26:50 +09:00
Alistair Leslie-Hughes
39ca507d7a msxml3: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:25 +09:00
Alistair Leslie-Hughes
1447471af0 shell32: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:09 +09:00
Alistair Leslie-Hughes
67b5c77af6 mciavi32: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:09 +09:00
Alistair Leslie-Hughes
4d14f2ddea inetcpl.cpl: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Alistair Leslie-Hughes
3969c56ef1 scrrun: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Alistair Leslie-Hughes
30c67775f0 wuapi: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Alistair Leslie-Hughes
b97a22fb1c wldap32: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Alistair Leslie-Hughes
4961e89875 msvfw32: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Alistair Leslie-Hughes
4b296f0e3e wiaservc: Remove DECLSPEC_HIDDEN usage. 2023-07-31 18:26:07 +09:00
Jeff Smith
432d8229ec windowscodecs: Handle PNG last-modification time (tIME) chunk type. 2023-07-31 18:25:13 +09:00
Jeff Smith
60f6539f43 windowscodecs/tests: Move compare_metadata function so it can be used earlier. 2023-07-31 18:25:13 +09:00
Rémi Bernon
28fe6207e9 winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
Esme Povirk
1dc8cdae25 user32/tests: Add optional message sequence from win7.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55354
2023-07-31 18:24:28 +09:00
Sven Baars
753b5b3582 uiautomationcore: Fix a sizeof() argument (Coverity). 2023-07-31 18:24:02 +09:00
Georg Lehmann
08499d17e1 winevulkan: Update to VK spec version 1.3.260. 2023-07-31 18:23:40 +09:00
Hans Leidekker
0a880e5706 klist: Match native output for encryption type. 2023-07-31 18:23:21 +09:00
Jacek Caban
a5c909221e win32u: Use user message packing for EM_GETLINE. 2023-07-31 18:22:26 +09:00
Jacek Caban
1e409563c7 win32u: Use user message packing for messages passing RECT struct. 2023-07-31 18:22:26 +09:00
Jacek Caban
0dbafa8496 win32u: Use user message packing for EM_GETSEL. 2023-07-31 18:22:26 +09:00
Jacek Caban
10254e326f win32u: Use user message packing for scroll info messages. 2023-07-31 18:22:26 +09:00
Jacek Caban
a883b3c5c7 win32u: Use user message packing for WM_GETDLGCODE. 2023-07-31 18:22:25 +09:00
Jacek Caban
61e0190a52 win32u: Use user message packing for WM_STYLECHANGING. 2023-07-31 18:22:25 +09:00
Jacek Caban
e7aa894555 win32u: Use user message packing for WM_HELP. 2023-07-31 18:22:25 +09:00
Jacek Caban
69834a3095 win32u: Use user message packing for WM_COPYDATA. 2023-07-31 18:22:25 +09:00
Paul Gofman
b8fa6de2c2 nsi: Cache nsi device handle. 2023-07-31 18:22:09 +09:00
Paul Gofman
64c6819553 nsi/tests: Add test for change notifications. 2023-07-31 18:22:09 +09:00
Paul Gofman
e06093cbae nsi: Add stub for NsiCancelChangeNotification. 2023-07-31 18:22:09 +09:00
Paul Gofman
671412d3bb nsi: Add stubs for NsiRequestChangeNotification[Ex]. 2023-07-31 18:22:08 +09:00
Hans Leidekker
a577d28a8b winscard: Handle different type sizes on macOS. 2023-07-31 18:21:29 +09:00
Rémi Bernon
1b5ddc1e2f winegstreamer: Avoid releasing wg_allocator memory samples twice.
When the sample size is too small, we were releasing it from the memory,
but kept the next_sample pointer set. Later, when the transform removes
the sample from the allocator, its refcount was decremented one more
time, effectively leaking the sample.
2023-07-31 18:20:44 +09:00
Lauri Kenttä
762dda3837 po: Update Finnish translation. 2023-07-31 18:20:25 +09:00
Gabriel Ivăncescu
19d2dc0dfc win32u: Don't clip captured mouse pointer if it's done by the system.
We have similar checks in X11DRV_SetCapture for example, where this would
have been moved before the merge to win32u.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55231
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-31 18:19:10 +09:00
Francois Gouget
fddb797768 dbghelp/tests: Fix the case of a comment. 2023-07-27 16:36:14 +09:00
Francois Gouget
3c947bba95 winewayland.drv: Fix the spelling of a comment. 2023-07-27 16:36:12 +09:00
Francois Gouget
5792307c61 windows.media.speech/tests: Fix the spelling of some speech ok() messages. 2023-07-27 16:36:10 +09:00
Francois Gouget
541695ae00 ntdll/tests: Fix the spelling of some exception ok() messages. 2023-07-27 16:36:09 +09:00
Francois Gouget
0b275e5b8e win32u/tests: Fix the spelling of a comment. 2023-07-27 16:36:09 +09:00
Francois Gouget
aeeaad0ea5 dxgi: Fix a typo in a comment. 2023-07-27 16:36:09 +09:00
Rémi Bernon
428120441b imm32: Hide the composition window if the string is empty.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55258
2023-07-27 13:12:06 +09:00
Maxim Karasev
1b26b17e05 kerberos: Implement KerbQueryTicketCacheExMessage. 2023-07-27 13:12:06 +09:00
Gijs Vermeulen
f74c4af257 configure: Use PCSC.framework when pcsclite is not available on macOS. 2023-07-27 13:12:06 +09:00
Francois Gouget
37885b04f9 mfmediaengine: Add the trailing linefeed to a WARN() message.
Also add a trailing period for consistency with this module's other
messages.
2023-07-27 13:12:06 +09:00
Gabriel Ivăncescu
9e8c4fd940 mshtml: Add some basic documentation for the dispex and its vtbl.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-27 13:12:06 +09:00
Francois Gouget
c7e6f208d6 winex11.drv: Add a trailing linefeed to a WARN() message. 2023-07-27 13:12:06 +09:00
Francois Gouget
2f57803114 ntdll/tests: Fix the NtSetInformationFile() test on Windows 10 <= 1709.
It does not support FileDispositionInformationEx and returns various
error codes.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55331
2023-07-27 13:12:06 +09:00
Rémi Bernon
4151acb4e8 dinput: Unacquire only DISCL_FOREGROUND devices on foreground changes.
Fixes broken input in Final Fantasy XIII after main window focus loss.
2023-07-27 13:12:06 +09:00
Victor Chiletto
fd2ddf8f2a msvcrt: Remove uses of wcsncpy from locale_to_sname. 2023-07-27 13:12:06 +09:00
Victor Chiletto
46596db7ed msvcrt: Fix memory leak in create_locinfo. 2023-07-27 13:12:06 +09:00
Victor Chiletto
85317b51cb msvcrt: Remove unused struct locale_search_t member. 2023-07-27 13:12:06 +09:00
Fabian Maurer
36c3a51d6a gdiplus: Prevent infinite loops due to floating point inaccuracy.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52492
2023-07-27 13:12:06 +09:00
Jeff Smith
57f692aef5 windowscodecs: Handle PNG histogram (hIST) chunk type. 2023-07-27 13:12:06 +09:00
Jeff Smith
36e5836e5d windowscodecs: PROPVARIANT fields should use CoTaskMem allocation. 2023-07-27 13:12:06 +09:00
Paul Gofman
c77642ec52 ntdll: Match Windows used block filling.
Test rewritten by Rémi Bernon.
2023-07-27 13:12:06 +09:00
Rémi Bernon
0c9e8e655b winegstreamer: Use a fixed size type for wg_sample data pointer. 2023-07-27 13:12:06 +09:00
Zebediah Figura
7c814a3e01 wined3d: Move struct wined3d_gl_info to struct wined3d_adapter_gl. 2023-07-27 11:54:21 +09:00
Zebediah Figura
3624e1191d wined3d: Store the sample count in struct wined3d_d3d_info.
Read that in wined3d_swapchain_apply_sample_count_override().
2023-07-27 11:54:21 +09:00
Zebediah Figura
1cab38b6ae wined3d: Track WINED3D_GL_NORMALIZED_TEXRECT in struct wined3d_d3d_info as well. 2023-07-27 11:54:21 +09:00
Zebediah Figura
6b0984dc3f wined3d: Use the varying count from struct wined3d_d3d_info in pixel_shader_init().
These two fields are always identical.
2023-07-27 11:54:21 +09:00
Zebediah Figura
9a19e34bf8 d3d11/tests: Mark test failures specific to the Vulkan or GL renderers. 2023-07-27 11:54:21 +09:00
Zebediah Figura
c065b4fe0b wined3d: Store push constants in wined3d_buffers in struct wined3d_state.
We will need them in buffers for Vulkan, as well as for software
vertex shaders. Currently we simply store them in sysmem buffers and
read directly back out of them to load GL uniforms.

This does decrease memory usage a bit for d3d10+.
2023-07-27 11:54:21 +09:00
Zebediah Figura
5323042f7a wined3d: Add helpers to retrieve shader constants from a wined3d_stateblock. 2023-07-27 11:54:21 +09:00
Zebediah Figura
31eacea31a wined3d: Remove states not used by d3d10+ from wined3d_device_context_set_state(). 2023-07-27 11:54:21 +09:00
Zebediah Figura
a10540753c wined3d: Move wined3d_device_apply_stateblock() to stateblock.c.
All other code touching stateblocks is in stateblock.c; this is a more intuitive
and modular place for it. This may merit renaming the function, but should be a
subsequent commit.
2023-07-27 11:54:21 +09:00
Piotr Caban
94812b1265 userenv: Fix setting ALLUSERSPROFILE and ProgramData in CreateEnvironmentBlock.
This syncs the code with dlls/ntdll/unix/env.c add_registry_environment.
It fixes ALLUSERSPROFILE and ProgramData environment variables value
in services.
2023-07-27 11:54:21 +09:00
Jacek Caban
9b400f3f3e win32u: Use user message packing for WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED. 2023-07-27 11:54:03 +09:00
Jacek Caban
f231c7bed0 win32u: Use user message packing for WM_COMPAREITEM. 2023-07-27 11:54:03 +09:00
Jacek Caban
7f4ffc7c10 win32u: Use user message packing for WM_DELETEITEM. 2023-07-27 11:54:03 +09:00
Jacek Caban
58dece677f win32u: Use user message packing for WM_MEASUREITEM. 2023-07-27 11:54:03 +09:00
Jacek Caban
0be2078531 win32u: Use user message packing for WM_DRAWITEM. 2023-07-27 11:54:03 +09:00
Jacek Caban
f104be399b win32u: Use user message packing for WM_GETMINMAXINFO. 2023-07-27 11:54:03 +09:00
Jacek Caban
4777bd62ae win32u: Use user message packing for messages passing string. 2023-07-27 11:54:03 +09:00
Jacek Caban
78a4bad8c5 win32u/tests: Fully initialize lparam_buffer before each test. 2023-07-27 11:54:03 +09:00
Jacek Caban
271feee4ba win32u: Use user message packing for WM_GETTEXT and WM_ASKCBFORMATNAME. 2023-07-27 11:54:03 +09:00
Alistair Leslie-Hughes
61d51b69d0 mmsystem.dll16: Remove DECLSPEC_HIDDEN usage. 2023-07-27 11:54:03 +09:00
Alistair Leslie-Hughes
9095854e1a krnl386.exe16: Remove DECLSPEC_HIDDEN usage. 2023-07-27 11:54:03 +09:00
Alistair Leslie-Hughes
3b6bf90ae0 user.exe16: Remove DECLSPEC_HIDDEN usage. 2023-07-27 11:54:03 +09:00
Paul Gofman
7b243afc63 nsiproxy.sys: Detect wireless interface type on Linux. 2023-07-27 11:54:03 +09:00
Davide Beatrici
ad3a0b767f winepulse: Remove GetAudioSessionWrapper. 2023-07-27 11:47:38 +09:00
Davide Beatrici
b0d1625300 wineoss: Remove GetAudioSessionWrapper. 2023-07-27 11:47:38 +09:00
Davide Beatrici
e1eb454904 winecoreaudio: Remove GetAudioSessionWrapper. 2023-07-27 11:47:37 +09:00
Davide Beatrici
41e4506996 winealsa: Remove GetAudioSessionWrapper. 2023-07-27 11:47:37 +09:00
Davide Beatrici
b26bad578a mmdevapi: Implement AudioClient_Create. 2023-07-27 11:47:34 +09:00
Davide Beatrici
55b6cded64 mmdevapi: Introduce wine_unix_call helper. 2023-07-27 11:47:34 +09:00
Davide Beatrici
a5e3e5efa0 mmdevapi: Import get_device_name_from_guid() from driver. 2023-07-27 11:47:34 +09:00
Davide Beatrici
dd6807b408 winepulse: Export get_device_name_from_guid(). 2023-07-27 11:47:34 +09:00
Davide Beatrici
10075a9e92 wineoss: Export get_device_name_from_guid(). 2023-07-27 11:47:33 +09:00
Davide Beatrici
5a0d3fc31d winecoreaudio: Export get_device_name_from_guid(). 2023-07-27 11:47:33 +09:00
Davide Beatrici
fbb03f929b winealsa: Export get_device_name_from_guid(). 2023-07-27 11:47:30 +09:00
Georg Lehmann
b5e19a33c9 winevulkan: Update to VK spec version 1.3.259. 2023-07-24 22:52:22 +02:00
Aurimas Fišeras
330ef7a10b po: Update Lithuanian translation. 2023-07-24 22:52:22 +02:00
Zebediah Figura
3d02e9870a httpapi/tests: Do not test that a local TCP port is closed.
I suspect the intent of this test was to verify that httpapi really doesn't bind
to that port. That HttpAddUrlToUrlGroup() fails implies this, but paranoia in a
case like this is rarely unwarranted.

However, this test cannot reliably succeed; some other operating system
component may open a TCP port in the meantime, and it appears that on Windows 10
this does in fact happen.

Since the goal of the test is just extra paranoia, I don't think it's worth
keeping.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55127
2023-07-24 22:52:22 +02:00
Zebediah Figura
01afb21bf2 ws2_32: Move the event reset in WSAEnumNetworkEvents() to the server.
So that it is done atomically with retrieving events.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=52474
2023-07-24 22:51:06 +02:00
Zebediah Figura
0a33ac4a53 server: Move the implementation of IOCTL_AFD_GET_EVENTS to a dedicated server call. 2023-07-24 22:51:00 +02:00
Zebediah Figura
8ab7120bad ws2_32/tests: Execute test_iocp() near the end.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54413
2023-07-24 22:49:40 +02:00
Zebediah Figura
ca02b8e4bc ws2_32/tests: Use closesocket(), not close(). 2023-07-24 22:49:40 +02:00
Zebediah Figura
5dc0b0ef88 ws2_32/tests: Update test_write_watch() for Windows 11.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54546
2023-07-24 22:49:40 +02:00
Zebediah Figura
9a43d51e06 ws2_32/tests: Give an event test marked todo a bit more time to fail on Wine.
We are testing that FD_CLOSE isn't generated, but Wine currently generates
FD_CLOSE anyway. However, sometimes Wine does not generate FD_CLOSE immediately,
causing the test to intermittently succeed inside the todo block.

This test is difficult to fix properly—it would involve either (arbitrary?)
buffering in the server, or support from the host OS.

However, we also don't want to make the Windows tests take longer, so add the
200 ms of leeway only on Wine.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54073
2023-07-24 22:49:40 +02:00
Zebediah Figura
f523609219 ws2_32/tests: Increase the timeout on some FD_CLOSE tests.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54073
2023-07-24 22:48:42 +02:00
Fabian Maurer
7da5dff88c gdiplus: Make flatten_bezier_add iterative. 2023-07-24 22:30:38 +02:00
Connor McAdams
a8697c43a7 uiautomationcore: Implement IUIAutomation::{Add/Remove}FocusChangedEventHandler.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-24 22:12:10 +02:00
Connor McAdams
63330c6168 uiautomationcore/tests: Add IUIAutomationFocusChangedEventHandler tests.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-24 22:12:10 +02:00
Connor McAdams
53376c5568 uiautomationcore: Add support for calling COM event handlers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-24 22:12:10 +02:00
Connor McAdams
9ab915a7fb uiautomationcore: Introduce custom clientside event callback function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-24 22:12:10 +02:00
Connor McAdams
7844a544af uiautomationcore: Use the free threaded marshaler to marshal IUIAutomationElement interfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-24 22:12:10 +02:00
David Kahurani
cfc50b2887 gdiplus/font: Fix GdipGetLogFontW/A with gdi_transform.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-07-24 22:11:52 +02:00
Jinoh Kang
062ef22c45 xmllite: Eliminate DECLSPEC_HIDDEN. 2023-07-24 21:28:04 +02:00
Rémi Bernon
f185161235 mf/tests: Add missing line end in test message. 2023-07-24 14:01:40 +02:00
Rémi Bernon
495cf276d0 mf/tests: Shutdown MF if MP4 source isn't supported. 2023-07-24 14:01:40 +02:00
Jeff Smith
4245b1199c gdiplus: Set correct frame delay when GCE is missing. 2023-07-24 12:09:32 +02:00
Jeff Smith
8c6e578864 gdiplus: Return GIF frame property only if set. 2023-07-24 12:09:32 +02:00
Jeff Smith
f6ef0205b8 gdiplus: Set GIF frame delay and loop count properties correctly.
These properties are expected to be present even if frame count is 1.
2023-07-24 12:09:31 +02:00
Jeff Smith
ba564e2aba gdiplus: Expose GIF background index property only when global color table present. 2023-07-24 12:09:30 +02:00
Jeff Smith
07fa0082bb gdiplus/tests: Allow for testing properties of multiple GIF samples. 2023-07-24 12:09:30 +02:00
Jeff Smith
96540638e7 gdiplus/tests: Factor out property_test_data struct. 2023-07-24 12:09:30 +02:00
Zebediah Figura
70dc4a6a1d amstream/tests: Fix a leak in test_ddrawstream_begin_flush_end_flush(). 2023-07-24 12:09:10 +02:00
Zebediah Figura
97d7d32191 amstream: Release the previous ddraw in ddraw_IAMMediaStream_Initialize(). 2023-07-24 12:09:10 +02:00
Zebediah Figura
e6cc4ae4b4 quartz: Call EnumMatchingFilters() once in autoplug().
Instead of iterating through types one by one and calling EnumMatchingFilters()
on each one, build a list of all media types exposed by the pin and call the
function once.

This avoids trying to pointless autoplug the same filter multiple times, which
speeds up autoplugging greatly for cases when a given filter connects less than
instantaneously. The most prominent example of such a filter is the AVI
decompressor, which has to call ICLocate() on connection. ICLocate() is not a
fast API on Wine, and it is even slower on Windows; this reduces the number of
times we try to call it greatly.
2023-07-24 12:09:05 +02:00
Mohamad Al-Jaf
ce3ccccb2c windows.networking.hostname: Duplicate passed HSTRING in IHostNameFactory::CreateHostName(). 2023-07-24 11:53:28 +02:00
Mohamad Al-Jaf
95bfbdc87f windows.networking.hostname/tests: Check if passed HSTRING is duplicated. 2023-07-24 11:53:26 +02:00
Mohamad Al-Jaf
fc4813ff2f windows.devices.usb/tests: Add IUsbDeviceStatics::GetDeviceSelectorVidPidOnly() tests. 2023-07-24 11:53:21 +02:00
Mohamad Al-Jaf
d78579a24b windows.devices.usb: Implement IUsbDeviceStatics::GetDeviceSelectorVidPidOnly().
Needed for Lenovo Ready for Assistant.
2023-07-24 11:53:21 +02:00
Mohamad Al-Jaf
1450dd791e windows.devices.usb: Add IUsbDeviceStatics stub interface. 2023-07-24 11:53:21 +02:00
Mohamad Al-Jaf
701a050641 windows.devices.usb: Add stub DLL. 2023-07-24 11:53:21 +02:00
Mohamad Al-Jaf
08d0512113 include: Add windows.devices.usb.idl file. 2023-07-24 11:53:01 +02:00
Mohamad Al-Jaf
4871777b78 include: Add support for IAsyncOperation parameterized type IBuffer.
Needed by windows.devices.usb.idl.
2023-07-24 11:52:59 +02:00
Mohamad Al-Jaf
36e3122329 include: Add support for IAsyncOperation UINT32.
Needed by windows.devices.usb.idl.
2023-07-24 11:52:58 +02:00
Jacek Caban
c9a17eb503 win32u: Use user message packing for WM_NCCALCSIZE. 2023-07-24 11:52:55 +02:00
Jacek Caban
9b3aa96899 win32u: Pack messages in WH_CALLWNDPROCRET hooks. 2023-07-24 11:52:55 +02:00
Jacek Caban
7cc06fb999 win32u: Pack messages in WH_CALLWNDPROC hooks. 2023-07-24 11:52:55 +02:00
Jacek Caban
af95fc8c4f win32u: Use user message packing for HCBT_CREATEWND hooks. 2023-07-24 11:52:55 +02:00
Jacek Caban
2d8b65c214 win32u: Use CREATESTRUCTW struct layout to pass WM_CREATE message params to client. 2023-07-24 11:52:53 +02:00
Alexandre Julliard
eac34b9c85 Release 8.13. 2023-07-21 22:25:58 +02:00
Paul Gofman
a7ba208679 user32/tests: Change display mode for correct monitor in check_preferred_mode().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55065
2023-07-21 21:44:50 +02:00
Jacek Caban
de0738f925 win32u/tests: Add tests for handling LPARAM in window procs and hooks. 2023-07-21 21:27:45 +02:00
Piotr Caban
4a4f138fe9 msvcrt: Set sname_match in locale_to_sname when returning cached result. 2023-07-21 21:27:44 +02:00
Piotr Caban
f93f31dec5 msvcrt: Improve locale_to_sname error handling. 2023-07-21 21:27:44 +02:00
Piotr Caban
092e68b2e0 msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo. 2023-07-21 21:27:44 +02:00
Piotr Caban
93736efa80 services: Exit early in process_send_start_message if ConnectNamedPipe fails.
HasOverlappedIoCompleted returns true after CancelIo call.
2023-07-21 21:27:44 +02:00
Billy Laws
a9d0988d01 ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
CFI directives allow the context that was stored on the stack by
raise_func_trampoline to be used to unwind to any exception handlers as
required when dispatching an exception. However, as the dispatcher may change
its input context in e.g. BTCpuResetToConsistentState and these changes also
need to be used when unwinding, have the trampoline CFI directly refer to the
input context rather than a copy of it.
2023-07-21 21:27:44 +02:00
Billy Laws
b7d6e0a416 ntdll: Add aarch64 DWARF register definitions. 2023-07-21 21:27:44 +02:00
Maxim Karasev
9e09d0a762 include: Add more Kerberos cache info types. 2023-07-21 21:27:44 +02:00
Maxim Karasev
c29dc0064e klist: Add a program that lists Kerberos tickets.
It's a clean-room reimplementation that mimics Windows 10 program's output format.
It prints all the information that is available via KerbQueryTicketCacheMessage.

Also tested to work on Windows if dynamically linked + built with winegcc.

For further extension of the functionality, implementing
KerbQueryTicketCacheEx{,2,3}Message is required.
2023-07-21 21:27:44 +02:00
Georg Lehmann
eb5be00eb0 winevulkan: Update to VK spec version 1.3.258.
This does not enable VK_NV_device_generated_commands_compute because
the extension will likely see an API breaking naming fix.
2023-07-21 21:27:44 +02:00
Shaun Ren
61ad9174e2 sapi: Implement ISpVoice::WaitUntilDone. 2023-07-21 21:27:36 +02:00
Shaun Ren
b89c5361bb sapi: Return wait status in async_wait_queue_empty. 2023-07-21 21:27:36 +02:00
Shaun Ren
ee8c8f6533 sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume. 2023-07-21 21:27:36 +02:00
Shaun Ren
0d09ab378e sapi: Implement ISpTTSEngineSite::Write. 2023-07-21 21:27:36 +02:00
Shaun Ren
303bdc2e4b sapi: Implement ISpVoice::Speak speak_proc. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
42a861388a wintrust/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
30ee1d1080 winspool.drv/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
e7e43b4507 winmm/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
e12e7a3a10 wininet/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
091aeca774 windowscodecs/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
534476a0ac wevtapi/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
faf49ed39a user32/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
e9e7301b59 urlmon/tests: Use nameless unions/structs. 2023-07-21 21:27:36 +02:00
Alexandre Julliard
3d52c87d01 shlwapi/tests: Use nameless unions/structs. 2023-07-21 21:27:35 +02:00
Alexandre Julliard
a345f985c0 rpcrt4/tests: Use nameless unions/structs. 2023-07-21 21:27:35 +02:00
Alexandre Julliard
6474ceb312 quartz/tests: Use nameless unions/structs. 2023-07-21 21:27:35 +02:00
Alexandre Julliard
679b57f1ce pdh/tests: Use nameless unions/structs. 2023-07-21 21:27:35 +02:00
Alexandre Julliard
86721b874b oledb32/tests: Use nameless unions/structs. 2023-07-21 21:27:35 +02:00
Aurimas Fišeras
35f7ebfef8 po: Update Lithuanian translation. 2023-07-21 10:50:33 +02:00
Gabriel Ivăncescu
3ab9a1da45 jscript: Properly set JS_E_WRONG_THIS as a TypeError.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:40 +02:00
Gabriel Ivăncescu
62cee99658 mshtml/tests: Add tests for WeakMap.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:40 +02:00
Gabriel Ivăncescu
1b14d7b46d jscript: Implement WeakMap.has().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
6a22b304b2 jscript: Implement WeakMap.clear().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
56c74e381b jscript: Implement WeakMap.delete().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
bc1b8b277a jscript: Implement WeakMap.get().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
b4373a9e18 jscript: Implement WeakMap.set().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
b8dbee6916 jscript: Implement WeakMap instance stub and constructor.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Gabriel Ivăncescu
3f20b8aa3e jscript: Convert unlink_props to a helper that unlinks the entire object.
It will be useful for other cases, and we don't need the gc_ctx for
unlinking. Also set the PROP_PROTREFs to PROP_DELETED since we're unliking
the prototype.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-20 21:48:39 +02:00
Yuxuan Shui
f66c897212 msvcrt: Fix out-of-bound access in create_locinfo.
Fixes regression introduced by 24a2b62554.

Signed-off-by: Yuxuan Shui <yshui@codeweavers.com>
2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
36ef8327ac d3dx9_36: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
964025e279 ddraw: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
85a88076f8 d2d1: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
f65705df9d d3dx10_43: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
8f360d7434 d3d11: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
83ea03bcc8 dxgi: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alistair Leslie-Hughes
b9849d2f00 ddrawex: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
59ee798d51 ntdll/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
490aee03e4 msi/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
175d873c72 mshtml/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
75455010e0 mfplat/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
708d13b035 kernel32/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
3069b98b10 iphlpapi/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
d578e7981a inetcomm/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
17bccc860a imagehlp/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
8fe23255a5 ieframe/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
6077ea6946 gdiplus/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard
207bdd01ca gdi32/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Paul Gofman
03c1930b74 server: Cancel pipe asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
Paul Gofman
57095a91b0 server: Cancel socket asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
Paul Gofman
6360f56931 ws2_32/tests: Add test for async cancel on socket's last process handle close. 2023-07-20 21:48:39 +02:00
Paul Gofman
f311bb5fba ntdll/tests: Add test for async cancel on pipe's last process handle close. 2023-07-20 21:48:39 +02:00
Shaun Ren
68660958f6 sapi: Introduce ISpTTSEngineSite stub. 2023-07-20 21:48:38 +02:00
Shaun Ren
86a3144683 sapi: Implement synchronous ISpVoice::Speak. 2023-07-20 11:30:17 +02:00
Shaun Ren
a234bbc748 sapi: Partially implement ISpVoice::Speak SPF_ASYNC. 2023-07-20 11:30:17 +02:00
Shaun Ren
f9dff8a6fa sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
Also introduce an async task queue.
2023-07-20 11:30:15 +02:00
Shaun Ren
9d407a1117 sapi: Reset empty event after queuing a task in async_queue_task. 2023-07-20 11:30:15 +02:00
Shaun Ren
4bfd0a2370 sapi: Handle queue not initialized in async_empty_queue. 2023-07-20 11:30:15 +02:00
Shaun Ren
5f3dee9702 include: Fix ISpTTSEngineSite::GetActions return type. 2023-07-20 11:30:15 +02:00
Davide Beatrici
024189aecd mmdevapi: Implement get_audio_session. 2023-07-20 11:29:56 +02:00
Davide Beatrici
ebd3fa86ba mmdevapi: Don't link to uuid. 2023-07-20 11:29:54 +02:00
Brendan Shanks
de18372065 winecoreaudio: Fix missing struct member in get_position() Wow64 thunk. 2023-07-19 21:55:10 +02:00
Zhiyi Zhang
35193586f7 winex11.drv: Move the dummy parent window to (0, 0).
Move the dummy parent window from (-1, -1) to (0, 0) so that the window is considered visible by
Wayland. The X11 window region is set to an empty rectangle so that the window is still in fact
invisible. If Xshape support is not compiled in, then fall back to using (-1, -1).

This fixes poor performance when running Office 2016 on Xwayland. It's caused by glXWaitForSbcOML()
in glxdrv_wglSwapBuffers() taking 1 second every time it gets called. The timeout is from
TIMER_LEN_FLIP (1000ms) in xwl_present_reset_timer() in the xserver source code hw/xwayland/xwayland-present.c.
Xwayland doesn't actually know when a frame is visible on screen[1][2]. It relies on a timer to
simulate the process and when the window is invisible it uses a timer with a 1000ms timeout. This
patch makes the dummy parent window visible so that Xwayland will use the timer with a 17ms timeout(~60fps),
which also means that there will still be a 60fps limit for some windows when running on Xwayland.

[1]: https://gitlab.freedesktop.org/xorg/xserver/-/issues/971
[2]: https://gitlab.freedesktop.org/xorg/xserver/-/issues/973
2023-07-19 16:55:04 +02:00
Gabriel Ivăncescu
8713e2ad64 mshtml: Grab the binding while aborting it.
Holding the BindStatusCallback ref is not enough; Abort can end up calling
OnStopBinding which intentionally removes the binding and releases its
ref. urlmon's Abort will then have a use-after-free when accessing the
state to set BINDING_ABORTED, if it was destroyed.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-19 16:54:46 +02:00
Francois Gouget
b8950d04e4 riched20/tests: Make the editor paste test failures more informative and unique.
Knowing the content of the edit field is more useful than knowing the
strcmp() result. The text field may contain carriage returns and
linefeeds so use wine_dbgstr_a() so they are clearly visible in the
failure message.
Also prefix the ok messages with a unique string to indicate which
test_WM_PASTE() test failed.
2023-07-19 16:54:39 +02:00
Francois Gouget
fc37683985 msvcrt/tests: Check that some functions are only available in 32-bit code. 2023-07-19 16:54:29 +02:00
Francois Gouget
858811a9f5 uxtheme/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-07-19 16:54:25 +02:00
Francois Gouget
d569196e95 user32/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-07-19 16:54:23 +02:00
Alexandre Julliard
49a177acc9 fusion/tests: Use nameless unions/structs. 2023-07-19 12:21:26 +02:00
Alexandre Julliard
b150f9ad59 dplayx/tests: Use nameless unions/structs. 2023-07-19 12:20:45 +02:00
Alexandre Julliard
6fe186468c dmsynth/tests: Use nameless unions/structs. 2023-07-19 12:20:19 +02:00
Alexandre Julliard
af2bda32bb devenum/tests: Use nameless unions/structs. 2023-07-19 12:20:04 +02:00
Alexandre Julliard
d98b09183c cryptui/tests: Use nameless unions/structs. 2023-07-19 12:18:26 +02:00
Alexandre Julliard
7bcfc123e6 crypt32/tests: Use nameless unions/structs. 2023-07-19 12:18:10 +02:00
Alexandre Julliard
a0b9b4ee2a compstui/tests: Use nameless unions/structs. 2023-07-19 12:17:20 +02:00
Alexandre Julliard
786dc0808b comdlg32/tests: Use nameless unions/structs. 2023-07-19 12:17:07 +02:00
Alexandre Julliard
297a7349ec comctl32/tests: Use nameless unions/structs. 2023-07-19 12:17:04 +02:00
Hans Leidekker
573e20e9de include: Add windows.applicationmodel.idl. 2023-07-19 12:01:38 +02:00
Hans Leidekker
3181c5a0df include: Add windows.storage.idl. 2023-07-19 12:01:38 +02:00
Hans Leidekker
6ca6fa15dc include: Add ProcessorArchitecture winrt enum. 2023-07-19 12:01:38 +02:00
Hans Leidekker
ac55e6eb9f include: Add Uri runtime class and related definitions. 2023-07-19 12:01:38 +02:00
Zhiyi Zhang
b9feebf7f3 user32/tests: Add Korean IME specific test sequences.
Windows with Korean locale has a different IME message sequence.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53890
2023-07-19 11:54:06 +02:00
Zhiyi Zhang
6596f85ee1 comctl32/tests: Add Korean IME specific test sequences.
Windows with Korean locale has a different IME message sequence.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53890
2023-07-19 11:54:03 +02:00
Connor McAdams
fd6b0422cc uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-19 10:45:13 +02:00
Connor McAdams
15d352c587 uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-19 10:45:13 +02:00
Connor McAdams
4cc7525ad5 uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-19 10:45:13 +02:00
Connor McAdams
79313d0117 uiautomationcore/tests: Add IUIAutomationEventHandler tests.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-19 10:45:13 +02:00
Petrichor Park
100504d2f5 notepad: Use GetDpiForWindow().
Instead of querying the registry, just calls `GetDpiForWindow`.

Winecfg's DPI slider sets `Control Panel\\Desktop\\LogPixels`.
See `programs/winecfg/x11drvdlg.c`
Notepad queries `Software\\Fonts\\LogPixels`, and so doesn't pick up
on the change.
2023-07-19 10:44:51 +02:00
Jeff Smith
224b771c0d windowscodecs: Allow GIF with no color table. 2023-07-19 01:25:05 +02:00
Jeff Smith
8ff77999b5 windowscodecs: Factor out common GIF palette copying logic. 2023-07-19 01:25:05 +02:00
Alexandre Julliard
70a6ac07bf ver: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
80ee53bb90 mmsystem: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
7a82d78b17 krnl386: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
f5c4ae7c10 strmbase: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
0724f94fa7 winspool.drv: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
0682b43b55 winmm: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
94efe81ad5 wininet: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alexandre Julliard
f58ce1cef6 winhttp: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alex Henrie
16a2243ee9 include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC). 2023-07-18 15:26:13 +02:00
Alex Henrie
36cf7b3d9d shell32: Free item lists with ILFree. 2023-07-18 15:26:13 +02:00
Alex Henrie
c79ffafcae include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC). 2023-07-18 15:26:13 +02:00
Jeff Smith
b48a37f450 gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
Discovered in researching https://bugs.winehq.org/show_bug.cgi?id=54748
2023-07-18 15:26:13 +02:00
Jeff Smith
1517342fac gdiplus: Fix GdipGetPropertySize return value when no properties exist.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54748
2023-07-18 15:26:13 +02:00
Jeff Smith
d84210f00a gdiplus/tests: Pare down image property tests that are not run for Wine. 2023-07-18 15:26:13 +02:00
Jeff Smith
7c8a4c1ce8 gdiplus/tests: Use test context for test ran in a loop. 2023-07-18 15:26:13 +02:00
Jeff Smith
95be104443 gdiplus/tests: Add GIF to image properties tests. 2023-07-18 15:26:13 +02:00
Jeff Smith
211d538d35 gdiplus/tests: Use consistent no-alternate value for image properties. 2023-07-18 15:26:13 +02:00
Billy Laws
1ed5dd7e8a ntdll/tests: Test that NtContinue restores all register state on arm64. 2023-07-18 15:26:13 +02:00
Alistair Leslie-Hughes
fb49ae52d5 d3drm/tests: Show that viewport::render does not clear the background.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2023-07-18 15:20:49 +02:00
Alex Henrie
17b212a5c2 webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE. 2023-07-18 15:20:00 +02:00
Alex Henrie
18daf628d5 include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE. 2023-07-18 15:20:00 +02:00
Alex Henrie
9928202d7c webservices: Add missing const to url parameter of WsOpenListener. 2023-07-18 15:17:36 +02:00
Brendan Shanks
4e6dbf3b9e loader: In macOS preloader, add __program_vars section.
This is needed to be a correct macOS 10.7 binary.
2023-07-18 15:16:12 +02:00
Brendan Shanks
cfa0dd9dd9 loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
A zerofill section is the only way to reserve address space and prevent
system frameworks from using it, including preventing allocations
before any preloader code runs:
- starting with Ventura, dyld allocates private memory from 0x1000-0x81000.
  This breaks EXEs that have an image base of 0x10000.
- Rosetta allocates memory starting at 0x100000000, which breaks EXEs based there.
- starting with Monterey, for proper 10.7 binaries (which include a __program_vars section),
  libSystem initializes itself before the preloader runs. This fragments the <4GB
  address space which is needed for Wow64.

This will need to be adjusted if any EXEs based at 0x200000000 or higher
are found.
2023-07-18 15:16:12 +02:00
Brendan Shanks
0920543876 configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks. 2023-07-18 15:16:12 +02:00
Brendan Shanks
c1958ddc7a ntdll: Don't release address space on 64-bit macOS. 2023-07-18 15:15:24 +02:00
Biswapriyo Nath
900dfca389 include: Add more CLSIDs in d2d1effects.idl. 2023-07-17 23:31:23 +02:00
Jeff Smith
a55c89dba6 gdiplus/tests: Fix mangled test output when dumping data in hex format. 2023-07-17 21:58:57 +02:00
Jacek Caban
36384097c7 win32u: Pass module name before packed lparam in win_hook_params. 2023-07-17 18:11:19 +02:00
Jacek Caban
730d462b7f user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook. 2023-07-17 18:11:19 +02:00
Jacek Caban
8f168ea69b wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook. 2023-07-17 18:11:19 +02:00
Jacek Caban
2149bdfda7 wow64win: Convert parameters in place in wow64_NtUserCallWinProc. 2023-07-17 18:11:19 +02:00
Jacek Caban
e1ff3c8d22 wow64win: Support in place conversion in 64to32 struct conversion helpers. 2023-07-17 18:11:19 +02:00
Jacek Caban
3b9580a3c7 wow64win: Define more 32-bit types. 2023-07-17 18:11:19 +02:00
Zhao Yi
ff951dc843 comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
Signed-off-by: Zhaoyi <zhaoyi@uniontech.com>
2023-07-17 15:19:38 +02:00
Zhao Yi
53fd667eeb comctl32/tests: Add a test case to get syslinkid.
Signed-off-by: Zhaoyi <zhaoyi@uniontech.com>
2023-07-17 15:19:17 +02:00
Shaun Ren
327667a620 sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error. 2023-07-17 15:17:36 +02:00
Shaun Ren
bc479f2a19 sapi/tests: Fix intermittent duration test failure in mmaudio. 2023-07-17 15:17:36 +02:00
Shaun Ren
9941a71649 sapi: Invoke AddRef in ISpVoice::SetVoice. 2023-07-17 15:17:36 +02:00
Shaun Ren
5fccc408c6 sapi: Invoke AddRef in mmaudio SetObjectToken. 2023-07-17 15:17:36 +02:00
Jacob Czekalla
186d949703 comdlg32: Add parent folder button to IFileDialog. 2023-07-17 12:14:04 +02:00
Alexandre Julliard
12869e46bd winex11.drv: Use nameless unions/structs. 2023-07-17 11:39:50 +02:00
Alexandre Julliard
bb9030cb78 winemac.drv: Use nameless unions/structs. 2023-07-17 11:39:50 +02:00
Alexandre Julliard
744237ecf6 wineandroid.drv: Use nameless unions/structs. 2023-07-17 11:39:50 +02:00
Alexandre Julliard
e8f82d4d15 wined3d: Use nameless unions/structs. 2023-07-17 11:35:05 +02:00
Alexandre Julliard
d75127d41a wevtapi: Use nameless unions/structs. 2023-07-17 11:34:29 +02:00
Alexandre Julliard
8a2dca2563 wbemprox: Use nameless unions/structs. 2023-07-17 11:34:13 +02:00
Alexandre Julliard
57bfaa7514 usbd.sys: Use nameless unions/structs. 2023-07-17 11:33:54 +02:00
Alexandre Julliard
72ee10b5d5 sane.ds: Use nameless unions/structs. 2023-07-17 11:33:39 +02:00
Alexandre Julliard
fe8d66bf49 quartz: Use nameless unions/structs. 2023-07-17 11:33:22 +02:00
Alexandre Julliard
7dc37b2a09 prntvpt: Use nameless unions/structs. 2023-07-17 11:32:46 +02:00
Alexandre Julliard
1fba1185e4 pdh: Use nameless unions/structs. 2023-07-17 11:32:27 +02:00
Victor Chiletto
fb296929f9 user32: Add hotpatch prologue to RegisterRawInputDevices.
re4_tweaks relies on this function being hotpatchable [1].

[1]: 7cfcf5c427/dllmain/input.cpp (L903)
2023-07-17 11:26:29 +02:00
Jinoh Kang
9de7c79153 winegcc: Enable SafeSEH only on i386.
SafeSEH is not applicable to architectures other than i386.

This fixes compiling with the clang ARM assembler, which cannot parse
".def @feat.00" since "@" is parsed as the start of a line comment.
2023-07-17 11:11:48 +02:00
Jinoh Kang
057467bff9 ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
Today, NtContinue() on ARM64 does not restore X16 and X17 from the
context.

This is because the values for X16 and X17 are overwritten when the
current thread returns to the "user mode" (PE side) via
__wine_syscall_dispatcher, which in turn uses them as scratch registers
for restoring SP and PC respectively.

We cannot avoid using scratch registers when restoring SP and PC.  This
is because ARMv8 does not have an unprivileged (EL0) instruction that
loads SP and PC from memory or non-GPR architectural state.

Fix this by making ARM64 __wine_syscall_dispatcher perform a full
context restore via raise(SIGUSR2) when NtContinue() is used.

Since raising a signal is quite expensive, it should be done only when
necessary. To achieve this, split the ARM64 syscall dispatcher's
returning behaviour into a fast path (that does not involve signals) and
a slow path (that involves signals):

- If CONTEXT_INTEGER is not set, the dispatcher takes the fast path:
  the X16 and X17 registers are clobbered as usual.

- If X16 == PC and X17 == SP, the dispatcher also takes the fast path:
  it can safely use X16 and X17 without corrupting the register values,
  since those two registers already have the desired values.

  This fast path is used in call_user_apc_dispatcher(),
  call_user_exception_dispatcher(), and call_init_thunk().

- Otherwise, the dispatcher takes the slow path: it raises SIGUSR2 and
  does full context restore in the signal handler.

Fixes: 88e336214d
2023-07-17 11:11:44 +02:00
Nikolay Sivov
24557a257a d3dcompiler/tests: Add another test for matrix majority flags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-17 09:40:34 +02:00
Alistair Leslie-Hughes
92f52d1eb4 gdiplus: Remove DECLSPEC_HIDDEN usage. 2023-07-17 09:40:20 +02:00
Alistair Leslie-Hughes
19c5016095 twain_32: Remove DECLSPEC_HIDDEN usage. 2023-07-17 09:40:20 +02:00
Bernhard Kölbl
91a84cff95 mfmediaengine: Add support for inserting audio effects. 2023-07-17 09:40:01 +02:00
Bernhard Kölbl
096b46cf8d mfmediaengine/tests: Add tests for audio effects. 2023-07-17 09:39:58 +02:00
Tim Clem
2238658e2f wmp: Release filter graph and interfaces if WMPControls::play fails. 2023-07-14 21:35:52 +02:00
Tim Clem
424994c933 wmp: Don't release a NULL typelib. 2023-07-14 21:35:52 +02:00
Tim Clem
710eec8fac shell32: Don't fall back to $HOME for missing user special folders.
Fall through in create_link and allow SHGetFolderPathAndSubDirW to
create an empty folder in place if the alternatives are not available.

Creating a link back to $HOME makes a recursive directory structure,
which results in crashes in programs that naively search %USERPROFILE%
(e.g. Quicken).
2023-07-14 20:32:39 +02:00
Biswapriyo Nath
788a61222c include: Add ID2D1DeviceContext4 in d2d1_3.idl. 2023-07-14 20:31:43 +02:00
Biswapriyo Nath
a66504de8f include: Add ID2D1DeviceContext3 in d2d1_3.idl. 2023-07-14 20:31:42 +02:00
Biswapriyo Nath
de1d097d29 include: Add ID2D1SvgGlyphStyle in d2d1_3.idl. 2023-07-14 20:31:41 +02:00
Biswapriyo Nath
70eb577f3e include: Add ID2D1SpriteBatch in d2d1_3.idl. 2023-07-14 20:31:39 +02:00
Zebediah Figura
166186ba46 wined3d: Move the wined3d_vk.h include to individual files. 2023-07-14 18:28:17 +02:00
Zebediah Figura
49e437a0c0 wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h. 2023-07-14 18:28:17 +02:00
Zebediah Figura
e4e7c9b23f wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h. 2023-07-14 18:28:17 +02:00
Zebediah Figura
e7de5a45a9 wined3d: Move struct wined3d_format_vk to wined3d_vk.h. 2023-07-14 18:28:17 +02:00
Zebediah Figura
85869cb78c wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h. 2023-07-14 18:28:17 +02:00
Zebediah Figura
63df7fc677 wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h. 2023-07-14 18:28:17 +02:00
Hans Leidekker
f74e119217 secur32/tests: Fix a test failure and extend tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55114
2023-07-14 13:25:43 +02:00
Alexandre Julliard
ed4104d358 gitlab: Make sure that the tags are fetched before building. 2023-07-14 13:25:43 +02:00
Alexandre Julliard
f082e4f216 oledlg: Use nameless unions/structs. 2023-07-14 09:26:44 +02:00
Alexandre Julliard
1ce80d35bc oledb32: Use nameless unions/structs. 2023-07-14 09:26:24 +02:00
Alexandre Julliard
c94e218ff4 netprofm: Use nameless unions/structs. 2023-07-14 09:25:57 +02:00
Alexandre Julliard
6522c60fde netio.sys: Use nameless unions/structs. 2023-07-14 09:25:38 +02:00
Alexandre Julliard
240df39c1c ndis.sys: Use nameless unions/structs. 2023-07-14 09:25:19 +02:00
Alexandre Julliard
194b4025b0 msxml3: Use nameless unions/structs. 2023-07-14 09:24:57 +02:00
Alexandre Julliard
8de0a9dc74 msi: Use nameless unions/structs. 2023-07-14 09:24:29 +02:00
Alexandre Julliard
102a9bd94b mshtml: Use nameless unions/structs. 2023-07-14 09:24:17 +02:00
Alexandre Julliard
2ba8129ce0 mscoree: Use nameless unions/structs. 2023-07-14 09:24:05 +02:00
Zebediah Figura
59ecdbd43e opengl32: Correctly interpret glMapBuffer() access in wow64 mapping. 2023-07-14 09:15:10 +02:00
Zebediah Figura
77981d4548 opengl32: Copy to the wow64 buffer even for write maps.
GL_MAP_WRITE_BIT does not mean that the buffer will be filled, unless an
INVALIDATE bit is explicitly set. The application is free to partially update
the buffer, even if it does not read from it.

Thanks to Aida Jonikienė for doing most of the debugging here.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55045
2023-07-14 09:15:08 +02:00
Jinoh Kang
1fca47b724 msi: Don't open code dialog_add_control() in dialog_line_control().
Commit b1cc87cb65 ("msi: The line control has a height of exactly 2
device units.", 2007-12-16) open-coded the body of
(msi_)dialog_add_control() inside dialog_line_control() modulo the
height override.

Except the fixed height, line controls have nothing special compared to
other controls.  Thus, there is little merit in open-coding it.

Also, dialog_line_control() has bit-rotted over time; it already missed
a few changes that were done to any other controls.

Fix this by just using dialog_add_control().  Also, add a special case
logic just for line controls.
2023-07-14 09:14:33 +02:00
Jinoh Kang
3eceda2f2a msi: Make insertion order of line controls consistent with other controls.
Fixes: 2c5bd49297
2023-07-14 09:14:31 +02:00
Jinoh Kang
735584076e msi: Fully initialize the control structure in dialog_line_control().
Fixes: 76606eaea0
Fixes: 174b7b51ac
2023-07-14 09:14:28 +02:00
Jinoh Kang
548d7179e3 riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
Today, CreateTextServices() sometimes triggers an assertion failure in
select_style().

When ME_MakeEditor() calls ME_MakeFirstParagraph(), the editor
(ME_TextEditor) is not in a fully initialized state.  For example, the
font cache (pFontCache) is not fully initialized, which sometimes makes
select_style() believe that the cache slots are fully occupied.

Fix this by delaying the call to wrap_marked_paras_dc() until the editor
is fully initialized.

Also, delay the call to ITextHost::TxReleaseDC() until after
wrap_marked_paras_dc(), since we need the device context a bit longer.

Fixes: b70eb32c5f
2023-07-14 09:14:22 +02:00
Jinoh Kang
03036f42e1 riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
This lets ME_MakeEditor() reuse the device context throughout the editor
initialization process.
2023-07-14 09:14:20 +02:00
Sven Baars
94d61d1b28 wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC. 2023-07-13 23:42:46 +02:00
Jinoh Kang
86893ce299 ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
Many built-in callers of ActivateActCtx() just assume that it will
always succeed.  If it ever fails, then DeactivateActCtx() will notice
that the cookie is invalid and raise an exception anyway.
2023-07-13 23:42:46 +02:00
Giovanni Mascellani
e77a9eda74 dxgi: Wait before acquiring the Vulkan queue for presenting.
The reason is explained in upstream commit
b2a1f6b5e4f59fbc7f91ada7e565639dcf4e8e7f, which also applies
to earlier vkd3d versions.
2023-07-13 23:42:46 +02:00
Giovanni Mascellani
23a1642673 dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present(). 2023-07-13 23:42:46 +02:00
Giovanni Mascellani
3dad51fba8 dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
The implementation even asserts its return value.
2023-07-13 23:42:46 +02:00
Giovanni Mascellani
060e9f7694 dxgi: Remove the worker event, which is now useless. 2023-07-13 23:42:46 +02:00
Giovanni Mascellani
287c6fe928 dxgi: Move buffer resizing to the worker thread. 2023-07-13 23:42:46 +02:00
Giovanni Mascellani
8cc427978f dxgi: Move presentation to the worker thread.
The main thread still waits for the worker thread, in order to keep
buffer resizing synchronized with presentation. As soon as buffer
presentation is offloaded to the worker thread too the wait can be
dropped.
2023-07-13 23:42:46 +02:00
Giovanni Mascellani
f07859d75b dxgi: Introduce a worker thread for the D3D12 swapchain.
In the following commits the worker thread will be used for actual
presenting and buffer resizing. In this way the worker thread can
wait on the vkd3d queue without blocking or even deadlocking the
application.
2023-07-13 23:42:46 +02:00
Hans Lehnert
b5dcfdad5f wininet: Handle http headers correctly when length is 0.
In HttpSendRequestW and HttpSendRequestExW, if the header pointer is not
null but the length parameter is 0, the header length should be derived
from the string length instead.

In HttpSendRequestA and HttpSendRequestExA, on the same scenario, the
function should fail instead.
2023-07-13 23:42:46 +02:00
Alexandre Julliard
96edde17d0 configure: Always disable winegstreamer if gst/gst.h is broken. 2023-07-13 23:42:42 +02:00
Alexandre Julliard
2436da5cef include: Add some new information classes. 2023-07-13 18:41:13 +02:00
Alexandre Julliard
962622e67d inetmib1: Use nameless unions/structs. 2023-07-13 11:58:25 +02:00
Alexandre Julliard
ed412aeb81 inetcpl.cpl: Use nameless unions/structs. 2023-07-13 11:58:05 +02:00
Alexandre Julliard
6431b9584b inetcomm: Use nameless unions/structs. 2023-07-13 11:57:54 +02:00
Alexandre Julliard
c48816400b ieframe: Use nameless unions/structs. 2023-07-13 11:57:35 +02:00
Alexandre Julliard
a40b2139f7 hhctrl.ocx: Use nameless unions/structs. 2023-07-13 11:57:18 +02:00
Alexandre Julliard
313e4d0efc gdiplus: Use nameless unions/structs. 2023-07-13 11:57:07 +02:00
Alexandre Julliard
36bb34fd7e fusion: Use nameless unions/structs. 2023-07-13 11:56:55 +02:00
Alexandre Julliard
1e00844195 explorerframe: Use nameless unions/structs. 2023-07-13 11:56:43 +02:00
Alexandre Julliard
4ca6d95a88 ddrawex: Use nameless unions/structs. 2023-07-13 11:56:26 +02:00
Alexandre Julliard
5eab460c8b ddraw: Use nameless unions/structs. 2023-07-13 11:56:15 +02:00
Alexandre Julliard
2aab642849 d3drm: Use nameless unions/structs. 2023-07-13 11:55:55 +02:00
Connor McAdams
a42f5f1970 combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54609
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-13 11:51:47 +02:00
Connor McAdams
b87c502a4f ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-13 11:51:47 +02:00
Eric Pouech
10aaff9245 conhost: Fix ctrl-c handling.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55197
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-13 11:51:41 +02:00
Maxim Karasev
cb33d402bb include: Add missing Kerberos related defines. 2023-07-12 21:54:56 +02:00
Maxim Karasev
cecd031308 include: Update _SECURITY_INTEGER.
In Windows it works that way.
2023-07-12 21:54:54 +02:00
Maxim Karasev
062cf6e2f1 include: Add UNICODE_NULL. 2023-07-12 21:54:49 +02:00
Victor Chiletto
8f663f3d5e msvcrt: Use GetLocaleInfoEx to compare locale info.
GetLocaleInfoA doesn't return the proper sname for neutral LCIDs.
2023-07-12 21:51:20 +02:00
Victor Chiletto
ec7816a42a msvcrt: Remap synonyms to snames.
Gives us more control over what we map to which is required due to changes in Chinese locales.
2023-07-12 21:51:18 +02:00
Victor Chiletto
d71e939498 msvcrt: Simplify set_lc_locale_name. 2023-07-12 21:51:18 +02:00
Victor Chiletto
72c3b8f3a0 msvcrt: Skip exhaustive locale search with valid snames. 2023-07-12 21:51:18 +02:00
Victor Chiletto
45dd09d0cf msvcrt: Convert locale_to_LCID to snames. 2023-07-12 21:51:18 +02:00
Victor Chiletto
24a2b62554 msvcrt: Use snames instead of LCIDs in create_locinfo. 2023-07-12 21:51:18 +02:00
Victor Chiletto
969e3626bb msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales. 2023-07-12 21:51:18 +02:00
Victor Chiletto
fbbe8e26be msvcr110/tests: Add tests for new setlocale behaviors.
A bunch of locales had changes >= msvcr 110.
2023-07-12 21:51:15 +02:00
Alexandre Julliard
ac6a2f2c19 gitlab: Install the gstreamer packages from deb-multimedia.org.
The standard bookworm packages don't support multilib.
2023-07-12 19:01:13 +02:00
Alexandre Julliard
990000928f dxdiagn: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
43ed6c6d67 dmusic: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
2bf29480c5 dmsynth: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
e0dd29fffe dmloader: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
68239c3bdf cryptui: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
2e0aa94192 cryptnet: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
a5ab9465fd cryptdlg: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
25c70738fb appwiz.cpl: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
26d954678a amstream: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alexandre Julliard
d37cf9b04a adsldp: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Billy Laws
88e336214d ntdll: Fix NtContinue from within exception context on ARM64.
When handling an exception, NtContinue can be called from within the signal
handler, in which case the raise(SIGUSR2) call ends up getting eaten and
integer register context never ends up getting restored. Switch to the
method used on X86 to avoid these issues.
2023-07-12 19:01:13 +02:00
Nikolay Sivov
ab296a305e windows.globalization: Use separate AddRef/Release methods for the language factory.
This currently works only because refcount field is at the same offset between structures.
2023-07-12 19:01:13 +02:00
Sven Baars
9559959f95 kernel32/tests: Update a todo that succeeds with the new wow64 architecture. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
172c4daf33 msado15: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
04bb050016 taskschd: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
8c5cf9ce16 msctf: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
73b914731c wnaspi32: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
74942e2c75 fusion: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
b55cc1bf8a kernelbase: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Alistair Leslie-Hughes
c2ac0500fa mfplat: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:54:56 +02:00
Alistair Leslie-Hughes
073f0af574 mfreadwrite: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:54:56 +02:00
Alistair Leslie-Hughes
31f9a85112 mf: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:54:56 +02:00
Alistair Leslie-Hughes
da70183e4d wbemdisp: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:54:22 +02:00
Alistair Leslie-Hughes
fb4d36c661 d3d9: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
9891cfa9bd d3drm: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
6f8be72bd8 d3d8: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
178507f2f9 d3dcompiler_43: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
0a2fca61ff d3d10: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
982d528793 windowscodecs: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Alistair Leslie-Hughes
806330d157 windowscodecs: Remove misleading comment.
The libraries used are now staticly linked from the libs directory.
2023-07-11 22:39:35 +02:00
David Kahurani
6c1319e7ad gdiplus: Dump both variable address and internal values for matrices.
Dumping variable address by itself is barely useful.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-07-11 22:39:35 +02:00
Billy Laws
b233cfb33e wineboot: Always attempt setup for all machine types.
Without this, wineboot would bail out on ARM64 in the case where x86_64 WOW is
not available but i386 is. Leaving an incomplete prefix without any clear error.
2023-07-11 20:28:35 +02:00
Paul Gofman
4021dde40d kernelbase: Add stub for QueryIoRingCapabilities(). 2023-07-11 20:23:08 +02:00
Paul Gofman
27fc318161 include: Add initial ioring definitions. 2023-07-11 20:23:08 +02:00
Nikolay Sivov
cdeeffb90a d3dcompiler/tests: Add some tests for matrix packing order compile flags. 2023-07-11 20:17:57 +02:00
Paul Gofman
4de67d8771 d3d11/tests: Add basic test for shared resources. 2023-07-11 18:34:17 +02:00
Sven Baars
1663454c4b ntdll/tests: Update some more todos that succeed with the new wow64 architecture. 2023-07-11 18:34:17 +02:00
Zebediah Figura
06b958d5d3 wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Zebediah Figura
07283df79a wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Zebediah Figura
97548eb4c9 wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Zebediah Figura
80667b9f3c wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Zebediah Figura
0559f440d6 wined3d: Move struct wined3d_texture_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Zebediah Figura
37752cb6f7 wined3d: Move struct wined3d_device_vk to wined3d_vk.h. 2023-07-11 18:34:17 +02:00
Sven Baars
235e3e522e ntdll: Test against the correct limit in get_extended_params(). 2023-07-11 18:34:17 +02:00
Jinoh Kang
ac51101314 riched20: Don't call ME_UpdateRepaint inside set_selection().
This partially reverts c5daf6a30f (riched20: Call ME_UpdateRepaint
instead of editor_ensure_visible in set_selection.)

Fixes: c5daf6a30f
2023-07-11 18:34:17 +02:00
Jinoh Kang
c35926e498 riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}. 2023-07-11 18:34:17 +02:00
Jinoh Kang
b70eb32c5f riched20: Wrap marked paragraphs at Text Services initialization.
Today, CreateTextServices() returns an Rich Edit object without row
start and end marks, which are expected to exist by many Rich Edit
operations as well as EM_* message handlers.

This leads to a crash when certain messages (e.g., EM_SCROLLCARET) are
sent to the Rich Edit object via ITextServices::TxSendMessage(), unless
ME_WrapMarkedParagraphs() has been called beforehand.

Fix this by calling wrap_marked_paras_dc() early in the initialization
process.

This is not a problem for windowed Rich Edit controls, which already
calls ME_WrapMarkedParagraphs() before the user or application starts
interacting with it.
2023-07-11 18:34:17 +02:00
Alistair Leslie-Hughes
f1b9150451 widl: Remove unnecessary null check (Coverity). 2023-07-11 18:34:17 +02:00
Alexandre Julliard
257221843f ntdll: Implement RtlWow64GetSharedInfoProcess(). 2023-07-11 18:34:17 +02:00
Alexandre Julliard
168ce9164f wow64: Use ProcessWow64Information to retrieve the 32-bit PEB. 2023-07-11 15:37:14 +02:00
Alexandre Julliard
7261aca185 kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB. 2023-07-11 14:15:30 +02:00
Alexandre Julliard
b1f603d8bc psapi/tests: Use MAX_PATH size for arrays holding file paths. 2023-07-11 14:08:53 +02:00
Alexandre Julliard
fb5cfacce5 ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information). 2023-07-11 13:43:26 +02:00
Alexandre Julliard
7e521b4db3 ntdll: Fix returned length for some info classes in NtQueryInformationProcess(). 2023-07-11 13:41:13 +02:00
Tim Clem
7107a9b102 wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
In large address aware binaries, these can be > 0x7fffffff, and using
the handle functions will result in them being incorrectly extended
to 0xffffffffxxxxxxxx.
2023-07-11 11:26:04 +02:00
Alexandre Julliard
5799e89f15 gitlab: Upgrade the Debian image to bookworm. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
1591e01e5d wow64: Implement backend notification functions.
Co-authored-by: Billy Laws <blaws05@gmail.com>
2023-07-10 21:15:55 +02:00
Alexandre Julliard
04ffca6e16 wintrust: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
dd44930b44 urlmon: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
26826d3af8 riched20: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
a56fcef715 dplayx: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
aa9aace5f3 dinput: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
c86bb60640 comdlg32: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alexandre Julliard
22c56f9752 comctl32: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Brendan Shanks
2c10f747d4 winepulse: Set zero_bits correctly for large address aware applications on Wow64. 2023-07-10 21:15:55 +02:00
Brendan Shanks
e0727a40fb wineoss: Set zero_bits correctly for large address aware applications on Wow64. 2023-07-10 21:15:55 +02:00
Brendan Shanks
5cf597ba09 winealsa: Set zero_bits correctly for large address aware applications on Wow64. 2023-07-10 21:15:55 +02:00
Brendan Shanks
73fc9e7493 winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64. 2023-07-10 21:15:55 +02:00
Ekaterine Papava
36b715c5c0 po: Add Georgian translation. 2023-07-10 20:33:24 +02:00
Kurt Kartaltepe
3347af2e7c winegstreamer: Implement Wow64 entrypoints in the Unix library. 2023-07-10 20:33:24 +02:00
Kurt Kartaltepe
6987f565e0 winegstreamer: Replace ambiguously sized/aligned elements.
Replaces bool and enum elements in syscalls with fixed sized UINT64 and UINT8 to avoid ambiguity in
size or alignment in future wow64 thunks.
2023-07-10 20:33:24 +02:00
Kurt Kartaltepe
18e79f813b winegstreamer: Replace pointers with handles in PE->Unix transition.
Converts struct pointers in syscalls to 64bit opaque handles. This makes future wow64 thunking
simpler and should avoid dereferencing Unix pointers in the PE code.
2023-07-10 20:33:24 +02:00
Jeff Smith
abdde73a1c gdiplus: Dash pattern scaling does not shrink below line width 1.0.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
2023-07-10 20:33:24 +02:00
Torge Matthies
7026effe95 ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-07-10 20:33:21 +02:00
Jacek Caban
e0d62e8569 user32: Always use NtCallbackReturn in User32DrawText. 2023-07-10 20:27:35 +02:00
Jacek Caban
0aa36a8314 win32u: Always use result returned directly from call_window_proc. 2023-07-10 16:24:32 +02:00
Jacek Caban
2d7465eb60 win32u: Remove no longer needed result pointer from win_proc_params.
We may always use NtCallbackReturn now.
2023-07-10 16:24:30 +02:00
Jacek Caban
0958278fc7 win32u: Return result from dispatch_win_proc_params. 2023-07-10 16:24:30 +02:00
Jacek Caban
84acfd9166 user32: Return result from dispatch_win_proc_params. 2023-07-10 16:24:30 +02:00
Sven Baars
b96f70a9a0 wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken(). 2023-07-10 15:59:33 +02:00
Sven Baars
7a2e61aad8 wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr(). 2023-07-10 15:56:16 +02:00
Chris Denton
83d4075202 bcryptprimitives: ProcessPrng stub.
ProcessPrng is the only publicly documented function exported by bcryptprimitives. This stub simply forwards it to RtlGenRandom in advapi32.
2023-07-10 15:56:07 +02:00
Alistair Leslie-Hughes
cdf325c735 shlwapi: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
ec39a367ea mscms: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
a8428e8efa msdaps: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
24e93f29d0 wintab32: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
086e54320b explorerframe: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
ba0841defa adsldp: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
314f113cba netprofm: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
4a83ffa45d sxs: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Alistair Leslie-Hughes
4bcaedb0f7 appwiz: Remove DECLSPEC_HIDDEN usage. 2023-07-10 15:55:31 +02:00
Brendan Shanks
726472fef6 win32u: Set zero_bits correctly for large address aware applications on Wow64. 2023-07-10 12:20:18 +02:00
Piotr Caban
d5373ef6f9 wineps: Buffer data sent to printer port. 2023-07-10 12:19:49 +02:00
Piotr Caban
75e87c30ad wineps: Fix SetTextJustification playback with 0 count parameter.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55078
2023-07-10 12:19:40 +02:00
Fabian Maurer
029bac07e9 user32/tests: Remove DrawTextEx tests that overrun stack variable.
Fixes regression introduced by 35c8f15bc6

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55215
2023-07-10 12:19:32 +02:00
Fabian Maurer
54e38a95fc geolocation: Rename from windows.devices.geolocation.geolocator. 2023-07-10 12:19:09 +02:00
Connor McAdams
2622745083 uiautomationcore: Add support for matching serverside events through navigation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-10 12:18:34 +02:00
Connor McAdams
68d0c88b06 uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-10 12:18:32 +02:00
Alexandre Julliard
aaf304f244 Release 8.12. 2023-07-07 22:20:15 +02:00
Gabriel Ivăncescu
815d0f1d24 mshtml/tests: Fix image element leaks in test helpers.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:23 +02:00
Gabriel Ivăncescu
26e5166c9d mshtml/tests: Fix area element leaks in test helpers.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
4fc1d8ee36 mshtml/tests: Fix anchor element leaks in test helpers.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
e7f19883b3 mshtml/tests: Fix DispatchEx leak in test set_dispex_value.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
675e32c3fd mshtml/tests: Fix element leak in get_elem_doc.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
aeab112a97 mshtml/tests: Fix performance leak in test_window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
a8889b9d30 mshtml/tests: Fix node leak in test_replacechild_elems.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
1915d6568b mshtml/tests: Fix element leak in test_frameset.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
2a9944c136 mshtml/tests: Fix performance leaks in test_document_mode_lock.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
f17f7df5c7 mshtml/tests: Fix node leaks in test_docfrag.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
129482f886 mshtml/tests: Fix node leak in test_create_elems.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
5a1da7334a mshtml/tests: Fix attribute leak in test_attr.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
f4f8799557 mshtml/tests: Fix form element leak in test_form_item.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Gabriel Ivăncescu
dcd364609b mshtml/tests: Fix element leak in test_elems.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 19:56:22 +02:00
Zebediah Figura
45d271beed wined3d: Move struct wined3d_adapter_vk to wined3d_vk.h. 2023-07-07 19:56:00 +02:00
Zebediah Figura
6698ec90aa wined3d: Move struct wined3d_context_vk to wined3d_vk.h. 2023-07-07 19:56:00 +02:00
Zebediah Figura
0768013327 wined3d: Move struct wined3d_query_vk to wined3d_vk.h. 2023-07-07 19:56:00 +02:00
Zebediah Figura
972a782fd0 wined3d: Move struct wined3d_image_vk to wined3d_vk.h. 2023-07-07 19:56:00 +02:00
Zebediah Figura
24ad12f322 wined3d: Move struct wined3d_bo_vk to wined3d_vk.h. 2023-07-07 19:56:00 +02:00
Zebediah Figura
45a49d11eb wined3d: Move some definitions to wined3d_vk.h. 2023-07-07 19:55:59 +02:00
Piotr Caban
ef7b183984 gdi32: Fix DIB_PAL_INDICES usage handling in EMR_CREATEMONOBRUSH playback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55177
2023-07-07 19:55:28 +02:00
Gabriel Ivăncescu
8ac9be458b mshtml: Fix text node leak in TextRange's text setter.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 15:59:48 +02:00
Gabriel Ivăncescu
9bb0dbc1e2 mshtml: Fix leak in find_prev_space.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 15:59:48 +02:00
Gabriel Ivăncescu
8745b3f272 mshtml: Fix leak when moving to next char in range point.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 15:59:48 +02:00
Gabriel Ivăncescu
2c4a375636 mshtml: Fix leak when obtaining previous node of range point.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 15:59:47 +02:00
Gabriel Ivăncescu
c0a6d2d4a1 mshtml: Introduce helper to transfer node ownership to range points when AddRef isn't needed.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-07 15:59:42 +02:00
Fabian Maurer
cc3f61e7dd localspl: Add workaround for old versions of cups.h.
Recent versions of cups.h have HTTP_STATUS_CONTINUE as enum,
so defining it doesn't hurt

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54166
2023-07-07 13:27:38 +02:00
Alistair Leslie-Hughes
f9bd79dce2 dinput: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alistair Leslie-Hughes
9fd2c50434 advapi32: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alistair Leslie-Hughes
51049c95a2 msi: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alistair Leslie-Hughes
c55eaef445 winmm: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alistair Leslie-Hughes
0599292ce7 dsound: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alistair Leslie-Hughes
db6b62dfa9 xaudio2_7: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Eric Pouech
fdd1c1c776 winedbg: Detect debuggee termination before first exception.
When a crash in a program happens, and the debugger in launched in --auto
mode, in some cases the program terminates before the debugger has gotten
proper context on debuggee.
(Could be a watchdog in programs checking if it's debugged and terminating
itself if so).

Detect debuggee termination and still provide some information on debuggee
(threads, modules, system info). The backtrace will not be available as
no exception is gotten from debuggee.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55187
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-07 12:20:23 +02:00
Eric Pouech
7ada0e2239 winedbg: Add 'info system' command.
Letting the information displayed in '--auto' mode be available
as a command.
Simplify a bit the --auto mode handling.

Note:
- the WOW64 status of the debuggee used to be printed in system
  information, which is a bit ackward as system info shouldn't be
  tied to a given process.
- replaced it with supported guest machines (for the record, a
  64-bit only setup incorrectly returns i386 as supported guest;
  I guess we shouldn't care).
- now printing the wow64 status of a process when displaying an
  exception information instead.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-07 12:19:42 +02:00
Eric Pouech
bde065746e winedbg: Cache wow64 status inside struct process.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-07 12:19:42 +02:00
Mohamad Al-Jaf
79161ea00a windows.networking.hostname: Implement IHostName::get_RawName(). 2023-07-07 12:18:39 +02:00
Mohamad Al-Jaf
3fe0cfef9c windows.networking.hostname: Implement IHostNameFactory::CreateHostName().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54699
2023-07-07 12:18:39 +02:00
Mohamad Al-Jaf
790109da8a windows.networking.hostname/tests: Add IHostNameFactory::CreateHostName() tests. 2023-07-07 12:18:39 +02:00
Mohamad Al-Jaf
e814a2b1cb windows.networking.hostname: Add IHostNameFactory stub interface. 2023-07-07 12:18:39 +02:00
Mohamad Al-Jaf
6c07526486 windows.networking.hostname: Add stub DLL. 2023-07-07 12:18:39 +02:00
Mohamad Al-Jaf
07b7fd09f7 include: Add windows.networking.idl file. 2023-07-07 12:18:20 +02:00
Mohamad Al-Jaf
ef5f397b7d include: Add windows.networking.connectivity.idl file.
Needed by Windows.Networking.HostName.
2023-07-07 12:18:17 +02:00
Mohamad Al-Jaf
296fc81340 include: Add support for BYTE IReference.
Needed by Windows.Networking.Connectivity.IPInformation.
2023-07-07 12:18:14 +02:00
Fabian Maurer
9617c784b9 windows.devices.geolocation.geolocator: Implement IWeakReference.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55126
2023-07-06 23:02:07 +02:00
Fabian Maurer
f40c3f6323 windows.devices.geolocation.geolocator: Implement IWeakReferenceSource.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55126
2023-07-06 23:02:07 +02:00
Fabian Maurer
fc2814623e windows.devices.geolocation.geolocator: Fake success for PositionChanged_add.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55126
2023-07-06 23:02:07 +02:00
Fabian Maurer
091535e43c windows.devices.geolocation.geolocator: Add stubs for IGeolocator. 2023-07-06 23:02:07 +02:00
Fabian Maurer
7fb18d59a6 windows.devices.geolocation.geolocator: Add stub dll. 2023-07-06 23:02:07 +02:00
Fabian Maurer
ad9f4291c2 include: Add windows.devices.geolocation.geolocator. 2023-07-06 22:58:49 +02:00
Fabian Maurer
1e659a1fff include/windows.foundation: Add double reference. 2023-07-06 22:58:46 +02:00
Jacek Caban
7989592172 wow64win: Fix NULL buffer handling in wow64_NtUserBuildHimcList.
Fixes win32u tests on wow64.
2023-07-06 22:57:37 +02:00
Fabian Maurer
f841045b2d kerberos: Avoid potentially uninitialized variable (clang-scan).
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-07-06 21:04:50 +02:00
Alex Henrie
b87dcee5ea include: Add IsReparseTagNameSurrogate.
Based on a patch by Erich E. Hoover.
2023-07-06 21:04:45 +02:00
Alex Henrie
33b7e4806f include: Add REPARSE_(GUID_)DATA_BUFFER and related constants.
Based on a patch by Erich E. Hoover.
2023-07-06 21:04:39 +02:00
Eric Pouech
5f9119447c dbghelp: Use nameless union/structs.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-07-06 20:54:30 +02:00
Jacek Caban
e68d6c1674 include: Don't force named VARIANT members when __STDC__ is defined. 2023-07-06 20:54:30 +02:00
Jacek Caban
28f3128d24 oleaut32: Use macros to access variant members. 2023-07-06 20:54:30 +02:00
Jacek Caban
b6c5bae7cc oleaut32: Don't use __tagBRECORD type. 2023-07-06 20:54:30 +02:00
Jacek Caban
b87e96200c oleaut32/tests: Don't use __tagBRECORD type. 2023-07-06 20:54:30 +02:00
Jacek Caban
439a36e33a dbghelp: Use V_INT macro to access VARIANT value. 2023-07-06 20:54:30 +02:00
Alistair Leslie-Hughes
bf21091547 wininet: Remove DECLSPEC_HIDDEN usage. 2023-07-06 20:54:30 +02:00
Alistair Leslie-Hughes
23a4ff05cc shdocvw: Remove DECLSPEC_HIDDEN usage. 2023-07-06 20:54:30 +02:00
Alistair Leslie-Hughes
075d86affb urlmon: Remove DECLSPEC_HIDDEN usage. 2023-07-06 20:54:30 +02:00
Alexandros Frantzis
295d961ee2 winewayland.drv: Send surface damage region to the compositor.
Send the surface damage region to the compositor, to enable it
to optimize pixel data transfers.
2023-07-06 20:54:30 +02:00
Alexandros Frantzis
8f73725836 winewayland.drv: Update only the flushed bounds from the window_surface.
When flushing a window_surface, copy from the window_surface only the
pixel data contained in the flushed bounds. If any other pixel data are
needed, get them from the latest window buffer for the wayland surface,
to ensure the data are valid and unchanged.
2023-07-06 20:54:30 +02:00
Alexandros Frantzis
d5b3ac08c9 winewayland.drv: Track damaged buffer regions.
Track the buffer regions that require an update since the last buffer
commit, and copy only those parts from the window_surface to the buffer.
2023-07-06 20:54:30 +02:00
Alexandros Frantzis
4371a26041 winewayland.drv: Use a buffer queue for window_surface.
Create a buffer queue to hold the SHM buffers for each window_surface,
to be able to reuse released buffers instead of constantly creating new
ones.
2023-07-06 20:54:30 +02:00
Gabriel Ivăncescu
6bf3b5539a win32u: Don't clip fullscreen windows while capturing mouse pointer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53831
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-06 20:54:30 +02:00
Alexandre Julliard
4aac5089f3 wtsapi32/tests: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
9974960f0c wmvcore/tests: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
08cfcb71bd ntoskrnl.exe/tests: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
ef6055c164 kernel32/tests: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
d0c6486f51 dmstyle: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
c8c22e1348 advapi32/tests: Avoid sizeof() in traces. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
abe79e3b52 configure: Don't try to use a non-compliant cross-compiler. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
8f27e8f601 configure: Define __STDC__ to work around clang breakage in MSVC mode. 2023-07-06 20:54:30 +02:00
Alexandre Julliard
a09019b7e9 configure: Allow using clang as cross-compiler for multiple archs. 2023-07-06 20:54:30 +02:00
Alex Henrie
449bdc33b5 vbscript: Use correct pointer type in add_match (scan-build). 2023-07-06 20:54:30 +02:00
Bernhard Kölbl
de1dd6cbf7 mfmediaengine: Add support for inserting video effects. 2023-07-06 20:54:29 +02:00
Bernhard Kölbl
621d153d45 mfmediaengine/tests: Add tests for video effects.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-07-06 20:54:29 +02:00
Hans Leidekker
9a56d5ff1f secur32/tests: Fix a test failure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55114
2023-07-06 20:54:29 +02:00
Hans Leidekker
b605d822da secur32: Reduce indentation level in schan_QueryContextAttributesA/W(). 2023-07-06 20:54:29 +02:00
Hans Leidekker
472150bf2e secur32/tests: Get rid of workarounds for old Windows versions. 2023-07-06 20:54:29 +02:00
Hans Leidekker
4d7c36ddb0 secur32: Fix a couple of return values. 2023-07-06 20:54:29 +02:00
Alex Henrie
eba7092f0a cmd: Allow numbered redirects at the beginning of a line.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55124
2023-07-05 21:08:33 +02:00
Fabian Maurer
35c8f15bc6 user32: Ignore invalid parameters in DrawTextEx when HDC is invalid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47089
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-07-05 21:06:38 +02:00
Bernhard Kölbl
9f9f799ad9 include: Add VoiceCommandSet runtimeclass with its dependencies. 2023-07-05 21:05:12 +02:00
Bernhard Kölbl
4a020b2fb6 include: Add Windows.Phone.PhoneContract api contract. 2023-07-05 19:54:57 +02:00
Bernhard Kölbl
711cd500e7 widl: Add basic support for the [deprecated] attribute.
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-07-05 19:54:57 +02:00
Rémi Bernon
a6bc5f34b8 winex11: Use gdi_display consistently for client_window requests.
And synchronize with thread display when necessary.
2023-07-05 17:03:55 +02:00
Francois Gouget
aad8bc2cf7 user32/tests: Fix a WM_DISPLAYCHANGE broken() condition. 2023-07-05 17:03:31 +02:00
Alex Henrie
6d748ce392 winhttp: Use specific types insted of sizeof(ULONG_PTR) in alloc_handle.
Resolves a scan-build warning.
2023-07-05 17:03:31 +02:00
Zebediah Figura
44168cf4cb d3d10core/tests: Mark test failures specific to the Vulkan or GL renderers. 2023-07-05 17:03:31 +02:00
Zebediah Figura
22b25dfc9c wined3d: Introduce wined3d_get_renderer(). 2023-07-05 17:03:31 +02:00
Alexandre Julliard
bb1266b276 include: Define LONG_PTR as int on llvm-mingw to avoid printf format warnings. 2023-07-05 17:03:31 +02:00
Alexandre Julliard
6366775e82 include: Disallow Win32 va_list in Unix libraries. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
e20b1431a8 ws2_32: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
d8e35c51c9 rpcrt4: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
23daba9abe ntoskrnl.exe: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
99159c7a0b mountmgr.sys: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
03ce134d6f dbghelp: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
febb06ce77 crypt32: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
420a7d0604 combase: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Alexandre Julliard
9b67373cbc oleaut32: Fix a typo introduced by last change.
Introduced in 36963b6d27.
2023-07-05 17:03:30 +02:00
Alex Henrie
45f9ab9286 winspool: Declare JobW as a void pointer in SetJobA.
To reduce the number of casts required and avoid a scan-build warning.
2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
044fbbd5a3 wineps.drv: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
b2492ed83c winspool.drv: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
229d078703 spoolss: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
2833321270 localspl: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
c04ab16649 riched20: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes
5312580a57 combase: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
666c3dbdb6 oledlg: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
f573cd10a8 oleacc: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
84b101c580 oleaut32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
a1f8e6146d ole32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
940829a6ef oledb32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes
ffd1608907 quartz: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
0d9792a0ec qedit: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
a0f795e840 qdvd: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
31c7d1e4bd qcap: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
3628852882 qasf: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
8654e867be devenum: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes
50fab83bb9 amstream: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:09 +02:00
Alex Henrie
f4a8ad89d4 include: Introduce wine_dbgstr_hstring and debugstr_hstring. 2023-07-04 21:25:03 +02:00
Alex Henrie
7e366d46b2 include: Use correct header guard name in winstring.h. 2023-07-04 21:02:39 +02:00
Kevin Schmidt
29b29eddcc taskmgr: Use macro for the color black too. 2023-07-04 21:00:12 +02:00
Jiajin Cui
eee640c938 shell32: Make sure wcmd has enough space to hold the string.
If the length of wszApplicationName exceeds 1024, it will cause an error
when writing to the subsequent stack space after exceeding the wcmd space,
Wcmd needs to be modified to dynamic allocation.

Signed-off-by: Jiajin Cui <cuijiajin@uniontech.com>
2023-07-04 20:58:22 +02:00
Billy Laws
41cc117b3f server: Avoid using SOL_IPX to detect whether IPX is supported. 2023-07-04 20:55:34 +02:00
Billy Laws
da4e359a70 ws2_32: Avoid using SOL_IPX to detect whether IPX is supported. 2023-07-04 20:55:31 +02:00
Billy Laws
954bf9e050 ntdll: Avoid using SOL_IPX to detect whether IPX is supported.
4.18+ Linux kernels remove support for IPX but keep SOL_IPX defined, which
causes compilation errors as wine unconditionally uses IPX structures if
this is the case. Instead check for IPX_MTU to determine IPX support as it is
defined within the ipx.h header itself.
2023-07-04 20:52:17 +02:00
Vladislav Timonin
a0534afab0 comdlg32: Enable visual styles when showing IFileDialog. 2023-07-04 20:47:39 +02:00
Vladislav Timonin
5bc5d36065 comdlg32: Return E_UNEXPECTED if IFileDialog is already shown. 2023-07-04 20:47:39 +02:00
Matteo Bruni
3149d84502 d3dx9/tests: Use test contexts in test_effect_commitchanges().
And do some mandatory cleanup while at it.
2023-07-04 20:46:07 +02:00
Matteo Bruni
4acb858fc6 d3dx9/tests: Use test contexts in test_effect_preshader_ops(). 2023-07-04 20:46:06 +02:00
Matteo Bruni
e39e904392 d3dx9/tests: Get rid of unnecessary checks in test_effect_states(). 2023-07-04 20:46:06 +02:00
Matteo Bruni
f529c5db4d d3dx9/tests: Use test contexts in test_effect_parameter_value().
And give a good clean up to the test and all its helpers.
2023-07-04 20:46:05 +02:00
Matteo Bruni
321efd4441 d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni
f504db74a9 d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni
06eede965a d3dx9/tests: Use test message contexts in test_ID3DXFont(). 2023-07-04 20:46:05 +02:00
Matteo Bruni
64d9bc872b d3dx9/tests: Get rid of unnecessary checks. 2023-07-04 20:46:05 +02:00
Eric Pouech
8031d00fed d3dx9/tests: Clean up some ok() messages. 2023-07-04 20:46:05 +02:00
Matteo Bruni
a3ad4a5066 d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
Otherwise it fails for me on 32-bit Linux with my current compiler.
2023-07-04 20:46:03 +02:00
Zebediah Figura
2740af1448 wined3d: Create fences when the command buffer is allocated.
This shouldn't really make a difference, but does make the code a bit conceptually simpler.
2023-07-04 15:37:36 +02:00
Zebediah Figura
c42b4fec1f wined3d: Reuse command buffers and fences.
Allocating and freeing fences in particular can be expensive, as much as 250 µs
per call (observed on an NVidia machine).
2023-07-04 15:37:34 +02:00
Zebediah Figura
e0769f42ec wined3d: Set VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT. 2023-07-04 15:37:34 +02:00
Matteo Bruni
f032ccc271 wined3d: Reduce CS spin count to 2000.
Over the last few Wine releases we greatly reduced the need for the
application thread to wait for replies from the CS thread. Compared to
the time when the command stream was initially introduced, it's now
quite likely that, when the command queues become empty, they are
going to stay like that for a while (e.g. the game is throttling the
framerate or is busy doing some CPU work on its part before generating
more commands).

As a first step, reduce the spin count to reduce the busy waiting in
wined3d_cs_run(). In my tests this significantly reduces CPU usage,
with minimally decreased performance in a few rare cases but also
significantly improved performance in many cases (notably with
integrated GPUs where freeing the CPU directly allows more power to be
allocated to the GPU).
2023-07-04 15:37:29 +02:00
Matteo Bruni
fcccca153a wined3d: Make the CS thread yield CPU when it can't block waiting.
It can't block because there are pending queries.
2023-07-04 15:37:28 +02:00
Matteo Bruni
ecdeab593b wined3d: Call YieldProcessor() when spinning waiting for CS commands.
Yielding to other threads might help to get new packets and (very
slightly) reduce contention on the queue head and tail pointers.
2023-07-04 15:37:26 +02:00
Matteo Bruni
30c3697017 wined3d: Block in wined3d_cs_emit_present() when we reach the latency limit.
Avoid busy spinning for a potentially long time.
2023-07-04 15:37:24 +02:00
Matteo Bruni
203cbab644 wined3d: Increase the CS queue size to 16 MiB on 64-bit architectures.
With the buffer / texture mapping acceleration bits working properly, we
can get many outstanding commands and, to avoid blocking the client thread
while waiting for free space, we need a larger queue. 16 MiB was always
enough in my testing (8 MiB wasn't in a few cases).

Keep a lower limit on 32-bit since we're often times address
space-starved there.

Tweaked by Zebediah Figura.
2023-07-04 15:37:22 +02:00
Giovanni Mascellani
aeb9776f4c dxgi: Split D3D12/Vulkan resource creation and destruction.
This is to eventually hand frontend and backend resource management
to different code pieces.
2023-07-04 15:37:16 +02:00
Giovanni Mascellani
b4741fd259 dxgi: Pass a VkImage to d3d12_swapchain_queue_present().
This is to eventually allow d3d12_swapchain_queue_present() to
operate on a certain VkImage even if current_buffer_index has
already been modified since the corresponding Present() call.
2023-07-04 15:37:15 +02:00
Giovanni Mascellani
89cd45bb1f dxgi: Free the frontend images memory only once. 2023-07-04 15:37:15 +02:00
Giovanni Mascellani
e5c232eb4c dxgi: Consider vk_format a frontend field.
This is an oversight in eec9c3a2f6:
vk_format specifies the format used for the frontend resources. The backend
images could use a different format, depending on what the swapchain
supports.

Also, introduce the terms "frontend" and "backend" for the two sides
of the swapchain, which are probably easier to understand.
2023-07-04 15:37:12 +02:00
Giovanni Mascellani
e1cdc48786 dxgi/tests: Test that the present count is updated when Present() is called. 2023-07-04 15:37:12 +02:00
Giovanni Mascellani
1a0c2d6b41 dxgi/tests: Test that the back buffer index is updated when Present() is called. 2023-07-04 15:37:12 +02:00
Fabian Maurer
b2c774d4d2 vbscript: Support one-line sub/function.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54978
2023-07-04 15:37:08 +02:00
Mohamad Al-Jaf
0fb31cfc5d windows.devices.bluetooth: Implement IBluetoothAdapterStatics::GetDeviceSelector().
Needed for Revo Scan 5.
2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
b058274317 windows.devices.bluetooth/tests: Add IBluetoothAdapterStatics::GetDeviceSelector() tests. 2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
5e942086dc windows.devices.bluetooth: Add IBluetoothAdapterStatics stub interface. 2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
f9305432c8 windows.devices.bluetooth: Add stub DLL. 2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
581ad52940 include: Add windows.devices.bluetooth.idl file. 2023-07-04 13:13:46 +02:00
Mohamad Al-Jaf
83cb93ee6d include: Add windows.devices.radios.idl file.
Needed by IBluetoothAdapter in windows.devices.bluetooth.idl.
2023-07-04 13:13:44 +02:00
Davide Beatrici
b12e6fcc21 wineoss: Move create_session into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
a97913587e winecoreaudio: Move create_session into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
066ac0a8f9 winealsa: Move create_session into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
75276f010d winepulse: Move create_session into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
b61e02f798 wineoss: Move session_init_vols into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
be53319da5 winecoreaudio: Move session_init_vols into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
d0a3b11932 winealsa: Move session_init_vols into mmdevapi. 2023-07-04 13:08:31 +02:00
Davide Beatrici
8247b00f82 winepulse: Move session_init_vols into mmdevapi. 2023-07-04 13:08:31 +02:00
Alexandre Julliard
09c7cc1e36 shlwapi: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
dd1625476f shell32/tests: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
5cb7274403 shell32: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
7c1d8b29e5 ole32/tests: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
61a06d4bcd ole32: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
34ab144f04 oleaut32/tests: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
374d74e843 oleaut32: Use nameless unions/structs. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
36963b6d27 oleaut32: Get rid of the DECIMAL access macros. 2023-07-04 13:07:18 +02:00
Alexandre Julliard
641623ffe8 uiautomationcore: Fix some long/LONG mismatches. 2023-07-04 12:29:08 +02:00
Jacek Caban
6892434b22 winedump: Add support for dumping IMPORT_OBJECT_NAME_EXPORTAS symbols.
This is used by ARM64EC importlibs.
2023-07-03 22:15:43 +02:00
Gabriel Ivăncescu
7aa6da98c8 mshtml: Remove DECLSPEC_HIDDEN usage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-07-03 22:15:43 +02:00
Alistair Leslie-Hughes
3100fd59a9 vbscript: Remove DECLSPEC_HIDDEN usage. 2023-07-03 22:15:43 +02:00
Alistair Leslie-Hughes
803834fddf jscript: Remove DECLSPEC_HIDDEN usage. 2023-07-03 22:15:42 +02:00
Ally Sommers
01d05baa96 ws2_32/tests: Add test for sendto() and recvfrom() on TCP sockets. 2023-07-03 22:15:42 +02:00
Ally Sommers
7b2e7c8075 ntdll/unix: Skip address conversion for SOCK_STREAM sockets in try_send(). 2023-07-03 22:15:42 +02:00
Zhiyi Zhang
cd771fa713 server: Allow creating a real explorer desktop window for invisible window stations.
The graphics driver information is stored as a property in the desktop window. When the server
get_desktop_window handler simply returns a window handle when the window station is invisible,
the window handle doesn't have the graphics driver property, which is set in desktop_window_proc()
when handling WM_NCCREATE. Removing the invisible window station check allows an invisible explorer
desktop window to be created and with the required property.
2023-07-03 22:15:42 +02:00
Zhiyi Zhang
d3c3f42c2e user32/tests: Test that an actual desktop window should be created on invisible window stations. 2023-07-03 22:15:42 +02:00
Zhiyi Zhang
213ac0de42 win32u: Use the window station name to check if an application is running as a service.
Having an invisible window station doesn't mean an application is running in a service context. For
example, Chromium creates a sandbox process to run in an invisible window station and still expect
the physical monitor information to be returned, instead of the virtual monitor information for
services.
2023-07-03 22:15:42 +02:00
Zhiyi Zhang
38d843d1dc user32/tests: Test monitor information with an invisible window station.
Test that processes running with an invisible window station have physical monitor information
instead of the virtual monitor information used for services.
2023-07-03 22:15:42 +02:00
Zhiyi Zhang
99e2fad1bf win32u: Create explorer with the thread effective access token.
Chromium creates a suspended sandbox process with a token of limited access. Then it sets a token
with normal access for the main thread of the newly created process. Without this change, explorer
is started with the process token of limited access and fails to create a desktop window.
2023-07-03 22:15:42 +02:00
Connor McAdams
317d113af7 uiautomationcore: Add support for invoking serverside event callbacks.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-03 22:15:42 +02:00
Connor McAdams
7223d19561 uiautomationcore: Create a new node when raising serverside events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-03 22:15:42 +02:00
Connor McAdams
4621ea4547 uiautomationcore: Add partial support for raising serverside events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-03 22:15:42 +02:00
Connor McAdams
4501d2c11c uiautomationcore: Introduce custom uia_event_args structure.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-03 22:15:42 +02:00
Connor McAdams
42e058ba53 uiautomationcore: Introduce UI Automation event thread.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-07-03 22:15:42 +02:00
Andrey Gusev
5e2c9b1255 ntoskrnl.exe: Add PsSetLoadImageNotifyRoutineEx semi-stub.
BattlEye says it's missing.
2023-07-03 22:15:42 +02:00
Esme Povirk
93748f72fd win32u: Implement EVENT_OBJECT_SHOW/HIDE for window objects. 2023-07-03 22:15:42 +02:00
Esme Povirk
45ac4ce9c9 win32u: Implement marshaling for CB_GETCOMBOBOXINFO. 2023-07-03 22:15:42 +02:00
Mohamad Al-Jaf
95ea605b10 pnputil: Add stub program.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55178
2023-07-03 22:15:42 +02:00
Alex Henrie
7e68281b25 shell32: Don't overallocate in Dde_OnRequest (scan-build). 2023-07-03 22:15:42 +02:00
Fabian Maurer
9ffdfe4109 dcomp: Add stub for DCompositionCreateDevice3.
This is needed by recent chromium
2023-07-03 22:15:42 +02:00
Alistair Leslie-Hughes
372e39eaa8 msscript.ocx: Fake success in FreezeEvents. 2023-07-03 22:15:42 +02:00
Alistair Leslie-Hughes
b9527e7874 msscript.ocx: Fake success in IPersistStreamInit Load. 2023-07-03 22:15:42 +02:00
Alistair Leslie-Hughes
36f16df2f3 msscript.ocx: Fake success in OnAmbientPropertyChange. 2023-07-03 22:15:42 +02:00
Alexandre Julliard
85d6b76744 tiff: Import upstream release 4.5.1. 2023-07-03 22:15:42 +02:00
Alexandre Julliard
49e12082c0 png: Import upstream release 1.6.40. 2023-07-03 22:15:42 +02:00
Alexandre Julliard
681f04c309 faudio: Import upstream release 23.07. 2023-07-03 22:15:42 +02:00
Alexandre Julliard
959dea0c09 ntdll: Implement RtlIsCurrentProcess/Thread. 2023-07-03 22:15:42 +02:00
Alexandre Julliard
a5ff427acb ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation). 2023-07-03 12:16:49 +02:00
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
Fabian Maurer
fca833678f windowscodecs: Fake success in SetMetadataByName.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55101
2023-06-28 22:50:10 +02:00
Evan Tang
731f06d97f winemac.drv: Give Apple GPUs device IDs. 2023-06-28 21:01:19 +02:00
Alex Henrie
aec014fe8f winegstreamer: Fix double free on error path in media_source_constructor (scan-build). 2023-06-28 21:01:08 +02:00
Alistair Leslie-Hughes
654b970be1 dsdmo: Add Flanger effect stub. 2023-06-28 18:58:58 +02:00
Alistair Leslie-Hughes
e2258279e0 dsdmo: Add Chorus effect stub. 2023-06-28 18:58:57 +02:00
Rémi Bernon
7255f63a65 explorer: Set virtual desktop primary adapter display settings.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55146
2023-06-28 18:58:39 +02:00
Rémi Bernon
99ef2dc4e1 explorer: Rename initialize_display_settings local variable.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55146
2023-06-28 18:58:39 +02:00
Rémi Bernon
0e5b847f85 explorer: Use debugstr_devmodew helper to trace display mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55146
2023-06-28 18:58:39 +02:00
Alistair Leslie-Hughes
8073c6be3f inetcomm: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:58:04 +02:00
Alistair Leslie-Hughes
19659409ac sapi: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:58:03 +02:00
Alistair Leslie-Hughes
746fd6a7f5 mapi32: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:58:01 +02:00
Alistair Leslie-Hughes
73c472e5b5 infosoft: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:58:00 +02:00
Alistair Leslie-Hughes
5459f05850 mfsrcsnk: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:57:59 +02:00
Alistair Leslie-Hughes
90df243f8e msdasql: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:57:58 +02:00
Alistair Leslie-Hughes
f934c8879a dpnet/tests: Remove DECLSPEC_HIDDEN usage. 2023-06-28 18:57:56 +02:00
Rémi Bernon
5a9450db7f winegstreamer: Keep the caller result in create_object_context. 2023-06-28 18:57:36 +02:00
Rémi Bernon
70efc785d5 winegstreamer: Return a IMFMediaSource from media_source_constructor. 2023-06-28 18:57:36 +02:00
Rémi Bernon
cdecf17dd0 winegstreamer: Simplify media source creation flags handling. 2023-06-28 18:57:36 +02:00
Rémi Bernon
929889ac8d winegstreamer: Return early if no byte stream was provided. 2023-06-28 18:57:36 +02:00
Rémi Bernon
32c748e1c8 winegstreamer: Remove unused props from create_object_context. 2023-06-28 18:57:36 +02:00
Hans Leidekker
9742fe8996 bcrypt: Add RC4 algorithm stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55160
2023-06-28 18:57:22 +02:00
Hans Leidekker
88f4dabc27 winscard: Map only the reader name in map_states_inA/W(). 2023-06-28 18:57:17 +02:00
Hans Leidekker
08a4a9803d winscard: Implement SCARD_AUTOALLOCATE for multi-string return values.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55137
2023-06-28 18:57:17 +02:00
Arkadiusz Hiler
d4b2865eb7 win32u: Don't affect nonclient area unless requested.
The state of the caption / nonclient area should be only changed when
FLASHW_CAPTION or FLASHW_STOP are used.
2023-06-28 18:56:40 +02:00
Xin Xu
d291f40472 include: Fix spelling error in InterlockedDecrementSizeT(). 2023-06-28 18:56:28 +02:00
Mohamad Al-Jaf
98b73b5c32 twinapi.appcore: Add UnregisterAppConstrainedChangeNotification() stub. 2023-06-27 22:17:51 +02:00
Mohamad Al-Jaf
c12e8f6123 twinapi.appcore: Add RegisterAppConstrainedChangeNotification() stub.
Needed for Age of Wonders 4.
2023-06-27 22:17:30 +02:00
Damjan Jovanovic
f70fc9cbfc opengl32: Implement filtering on all the ChoosePixelFormat() flags that are ignored when unset.
When any of these flags:
- PFD_DRAW_TO_WINDOW
- PFD_DRAW_TO_BITMAP
- PFD_SUPPORT_GDI
- PFD_SUPPORT_OPENGL
are set on the PIXELFORMATDESCRIPTOR parameter to ChoosePixelFormat(),
the returned pixel format must also have them set, but when they are
unset, the returned pixel format may or may not have them set.

Also add support for filtering on all these flags. In particular, the
lack of filtering on PFD_SUPPORT_GDI, was causing (at least) Java 1.3
to fail to initialize graphics, because we were returning a pixel
format without the PFD_SUPPORT_GDI flag it asked for.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=7767
2023-06-27 22:14:16 +02:00
Zebediah Figura
f3b28f34c9 opengl32: Do not report a GL version higher than 4.3 on wow64. 2023-06-27 22:14:15 +02:00
Zebediah Figura
fd92954df8 opengl32: Do not expose ARB_buffer_storage on wow64. 2023-06-27 22:14:15 +02:00
Jacek Caban
b090866663 winegcc: Disable exporting all symbols on mingw targets.
Mingw targets export all symbols by default if there is no explicit
export. We generate export table in winebuild and don't use explicit
exports. This may make linker generate an unused export-all table.

Spotted by Gabriel Ivăncescu.
2023-06-27 22:14:15 +02:00
Jacek Caban
7b9d0a1b6b ieframe: Don't use DECLSPEC_HIDDEN. 2023-06-27 22:14:15 +02:00
Alistair Leslie-Hughes
cffe6e0c1a dpvoice: Remove DECLSPEC_HIDDEN usage. 2023-06-27 22:14:15 +02:00
Alistair Leslie-Hughes
907fd64ac5 dplayx: Remove DECLSPEC_HIDDEN usage. 2023-06-27 22:14:15 +02:00
Alistair Leslie-Hughes
d17796bcd1 dpnet: Remove DECLSPEC_HIDDEN usage. 2023-06-27 22:14:15 +02:00
Nikolay Sivov
2775fe31cd mfmediaengine/tests: Remove unnecessary broken() result. 2023-06-27 22:14:15 +02:00
Nikolay Sivov
36fcbba73e mfmediaengine/tests: Use correct type for url argument in SetSourceFromByteStream(). 2023-06-27 22:14:15 +02:00
Nikolay Sivov
6b9eb2d09f mfmediaengine/tests: Allocate notification object on heap for frame transfer tests. 2023-06-27 22:14:15 +02:00
Zebediah Figura
fdd64782ff d3d11/tests: Use more aligned offsets in test_clear_buffer_unordered_access_view().
Creating a view with an unaligned offset is legal in d3d and
apparently works, both on Windows and Linux, but may violate the
Vulkan specification:

VUID-VkBufferViewCreateInfo-offset-00926(ERROR / SPEC): msgNum: -833749292 - Validation Error: [ VUID-VkBufferViewCreateInfo-offset-00926 ] Object 0: handle = 0x3c000000003c, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0xce4dfed4 | vkCreateBufferView(): VkBufferViewCreateInfo offset (36) must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment (16). The Vulkan spec states: offset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment (https://www.khronos.org/registry/vulkan/specs/1.2-khr-extensions/html/vkspec.html#VUID-VkBufferViewCreateInfo-offset-00926)

Without any reason to test unaligned buffer views here, just resolve this by changing the test.
2023-06-27 22:14:15 +02:00
Tim Clem
1e21e82859 win32u: Detect a missed WM_LBUTTONUP in the size/move loop. 2023-06-27 22:14:15 +02:00
Michael Stefaniuc
7ae55662a2 wow64win: Remove dangling space after newline in ERR() message. 2023-06-27 22:14:15 +02:00
Michael Stefaniuc
3dfa697b0e windows.gaming.input: Drop superfluous casts to self. 2023-06-27 22:14:15 +02:00
Michael Stefaniuc
3bb5fcd5f3 gdiplus/tests: Remove superfluous casts to self. 2023-06-27 22:14:15 +02:00
Rémi Bernon
341673f669 winegstreamer: Lookup stream handler result using a dedicated helper. 2023-06-27 22:14:15 +02:00
Rémi Bernon
1069d4792c winegstreamer: Rename winegstreamer_stream_handler to stream_handler. 2023-06-27 22:14:15 +02:00
Rémi Bernon
73acbb70d5 winegstreamer: Create and destroy result entries using dedicated helpers. 2023-06-27 22:14:15 +02:00
Rémi Bernon
ed9a7b667f winegstreamer: Lookup stream descriptors before starting streams. 2023-06-27 22:14:15 +02:00
Rémi Bernon
25469b5a32 winegstreamer: Keep a reference on the media source start descriptor. 2023-06-27 22:14:15 +02:00
Rémi Bernon
b9293a3e66 maintainers: Assume GStreamer media source maintainership. 2023-06-27 22:14:15 +02:00
Joel Holdsworth
1ccd037e00 ntdll: Implement FILE_DISPOSITION_POSIX_SEMANTICS.
Both the Msys2 and Cygwin runtimes make use of
FILE_DISPOSITON_POSIX_SEMANTICS in their implementations of the unlink()
system call. This enables these routines to behave similarly to POSIX where are
unlisted from the directory, if handles are still open.

https://github.com/msys2/msys2-runtime/blob/msys2-3.4.3/winsup/cygwin/syscalls.cc#L722
https://www.cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/syscalls.cc#l724

Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
f10383e9d0 server: Replace unlink member of closed_fd with disp_flags.
In order to implement FILE_DISPOSITION_POSIX_SEMANTICS, it will be necessary
to add additional flags to closed_fd. In preparation for this, the unlink
member variable has been replaced with disp_flags which directly reflects the
flags defined in the FILE_DISPOSITION_INFORMATION_EX structure.

Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
0e6b5811c8 ntdll/tests: Add tests for FILE_DISPOSITION_POSIX_SEMANTICS.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
146333fed2 ntdll: Implement FILE_DISPOSITION_ON_CLOSE.
The FILE_DELETE_ON_CLOSE can be used with the FILE_DISPOSITION_ON_CLOSE flag
of FileDispositionInformationEx.

Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
d89ee7c030 ntdll/tests: Add tests for FILE_DISPOSITION_ON_CLOSE.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
91e442b060 ntdll: Implement FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
Both the Msys2 and Cygwin runtimes make use of
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE in their implementations of the
unlink() system call. This enables these routines to delete a read-only file
without first modifying the attributes.

https://github.com/msys2/msys2-runtime/blob/msys2-3.4.3/winsup/cygwin/syscalls.cc#L724
https://www.cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/syscalls.cc#l726

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50771
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
cbc1e4423e ntdll/tests: Add tests for FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
cc1d0e493d ntdll: Initial implementation of FileDispositionInformationEx.
This is required by Msys2 when running gpg-agent.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54996
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Joel Holdsworth
dedd130d9e include: Define FILE_DISPOSITION_INFORMATION_EX and friends.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 12:05:05 +02:00
Zebediah Figura
9f2cf25c2d d3d10core/tests: Read back directly from the mipmap texture in test_generate_mips().
This is far simpler than drawing with it.

The immediate motivation here is that the DXGI_FORMAT_R8G8B8A8_UINT test causes
a validation error when drawing, since the shader declares its resource as a
float4 texture, which does not match the UINT view format. This could be fixed
by using a different shader, but it seems more prudent to just simplify the test
to not draw at all.
2023-06-27 11:58:17 +02:00
Zebediah Figura
0135114951 d3d11/tests: Read back directly from the mipmap texture in test_generate_mips().
This is far simpler than drawing with it.

The immediate motivation here is that the DXGI_FORMAT_R8G8B8A8_UINT test causes
a validation error when drawing, since the shader declares its resource as a
float4 texture, which does not match the UINT view format. This could be fixed
by using a different shader, but it seems more prudent to just simplify the test
to not draw at all.
2023-06-27 11:58:15 +02:00
Paul Gofman
e647719eb0 crypt32/tests: Test CertCreateSelfSignCertificate() without provider info. 2023-06-27 11:58:05 +02:00
Paul Gofman
7861b1e8f0 Revert "crypt32: Do not create persistent container in CRYPT_CreateKeyProv().".
This reverts commit a19c871291.
2023-06-27 11:58:05 +02:00
Alex Henrie
00df1bea9a dbghelp: Allocate real_path with the CRT and copy it to the module heap.
Fixes both a memory leak and an alloc/free mismatch, and the module heap
is the most appropriate place to hold the variable long-term.
2023-06-27 11:58:05 +02:00
Davide Beatrici
39cc4fcc95 wineoss: Use mmdevapi's AudioClient's QueryInterface. 2023-06-27 11:58:05 +02:00
Davide Beatrici
b064a7dcc1 winecoreaudio: Use mmdevapi's AudioClient's QueryInterface. 2023-06-27 11:58:05 +02:00
Davide Beatrici
79f960f6df winealsa: Use mmdevapi's AudioClient's QueryInterface. 2023-06-27 11:58:05 +02:00
Davide Beatrici
ab33114c69 winepulse: Move AudioClient's QueryInterface into mmdevapi. 2023-06-27 11:58:05 +02:00
Davide Beatrici
71500094c4 wineoss: Use mmdevapi's AudioClient's Release, AddRef. 2023-06-27 11:58:05 +02:00
Davide Beatrici
aedd34dd3c winecoreaudio: Use mmdevapi's AudioClient's Release, AddRef. 2023-06-27 11:58:05 +02:00
Davide Beatrici
3c8e2c3276 winealsa: Use mmdevapi's AudioClient's Release, AddRef. 2023-06-27 11:58:05 +02:00
Davide Beatrici
f37d21db9d winepulse: Move AudioClient's Release, AddRef into mmdevapi. 2023-06-27 11:58:05 +02:00
Davide Beatrici
33685372dd winepulse: Refactor AudioClient's Release to match other drivers. 2023-06-27 11:58:05 +02:00
Davide Beatrici
5069c2ad90 winecoreaudio: Refactor AudioClient's Release to match other drivers. 2023-06-27 11:58:05 +02:00
Alistair Leslie-Hughes
0f41f29a22 wined3d: Rename shader_extract_from_dxbc to wined3d_shader_extract_from_dxbc.
Stops a linker error of duplicate name when using upstream vkd3d.
2023-06-27 11:51:36 +02:00
Eric Pouech
1d281c620d dbghelp/tests: Don't call SymSetExtendedOption() directly.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55128
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-26 20:20:27 +02:00
Jacek Caban
a312a8e29a gdi32/uniscribe: Don't use DECLSPEC_HIDDEN. 2023-06-26 20:19:13 +02:00
Jacek Caban
a5f62b3ef7 make_unicode: Don't use DECLSPEC_HIDDEN. 2023-06-26 20:19:13 +02:00
Jacek Caban
cd56a1c164 gdi32: Don't use DECLSPEC_HIDDEN. 2023-06-26 20:19:13 +02:00
Eric Pouech
bbc2a9ab5b dbghelp: Implement SymSrvGetFileIndexInfo for PDB files.
Only done for DS format.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-26 16:49:45 +02:00
Eric Pouech
f4c1860480 dbghelp: Add tests for SymSrvGetFileIndexInfo() for PDB files.
Add infrastructure to generate fake .PDB files.

Only done in DS format.

I'm not sure we care about JG anymore, DS format has been introduced
by MS in early 2000 to supersede JG, and is still mainstream today).
For the record, LLVM in its PDB handling doesn't support JG format.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-26 16:49:45 +02:00
Tim Clem
9874807564 winemac.drv: Don't expect an internal driver message to set last error.
NtUserMessageCall(..., NtUserSendDriverMessage) does not ensure the
validity of the hwnd, so this check will incorrectly fail if the
last error was ERROR_INVALID_WINDOW_HANDLE by coincidence. The
notify_owner call immediately following this code will catch a
destroyed owner hwnd.
2023-06-26 16:47:59 +02:00
Rémi Bernon
5b11157ecf explorer: Use wide string literals. 2023-06-26 16:47:11 +02:00
Rémi Bernon
43fd81b3a5 explorer: Use unprefixed debug macros. 2023-06-26 16:47:11 +02:00
Rémi Bernon
240bdd5772 explorer: Use CRT allocation functions. 2023-06-26 16:47:11 +02:00
Maarten De Braekeleer
5e2f9996ba cmd: Fix 'if exist' with a directory/ as a parameter.
'if exists' takes a parameter which can be directory, directory/,
directory/. directory\ or directory\. for example, and should equate
to true if the directory exists. The syntax directory\ is explicitly
rejected by FindFirstFile and hence was not working - look for this
specific case, and if found append a '.'.

Follow-up commit of bc9d68bcbe

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55130#add_comment
2023-06-26 16:44:17 +02:00
Jacek Caban
dcf0bf1f38 ntdll: Inherit ConsoleHandle only by CUI processes. 2023-06-26 15:04:26 +02:00
Davide Beatrici
5716a20d72 wineoss: Use mmdevapi's AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Davide Beatrici
f5d8920239 winecoreaudio: Use mmdevapi's AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Davide Beatrici
964356e932 winealsa: Use mmdevapi's AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Davide Beatrici
a15a066a09 winepulse: Move AudioClient's Initialize into mmdevapi. 2023-06-26 15:04:21 +02:00
Davide Beatrici
a1cbc47bbc wineoss: Use standard allocator in AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Davide Beatrici
92a251a9af winecoreaudio: Use standard allocator in AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Davide Beatrici
fbb1e18529 winealsa: Use standard allocator in AudioClient's Initialize. 2023-06-26 15:04:21 +02:00
Rémi Bernon
7cc24be079 mfplat: Use QueryPerformanceCounter in MFGetSystemTime. 2023-06-26 15:04:02 +02:00
Fabian Maurer
0ce5584acc widl: Don't crash on nameless structs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49772
2023-06-26 15:00:58 +02:00
Alexandre Julliard
c13e7ae474 Release 8.11. 2023-06-23 23:17:45 +02:00
Eric Pouech
16f538a1c9 winedump: Tidy up print out in minidumps.
- adjust hex/decimal print out
- use internal helpers

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
38f6eb34b8 jscript: Properly handle passing undefined value to Number.toString in ES5+ mode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
3d04d052cd jscript: Properly handle passing undefined value to Number.toPrecision.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
1f4cdeeeac jscript: Always create detached variable objects with no class.
As it is done in exec_source. This matters as we actually have a check in
exprval_call that relies on this (because scope variable objects must never
be exposed).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
4a78b9914f jscript: Don't use detached arguments buffer in html mode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
963be08bcc jscript: Store ref to scope directly instead of frame in arguments object.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
898b705e83 jscript: Don't expose Function.prototype.arguments in non-html mode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
a4c2f6ab72 jscript: Throw error when accessing arguments prop of bind functions.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
426f4bb3ea jscript: Implement caller for function instances and prototype.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Gabriel Ivăncescu
e748ead5cf jscript: Use jsstr_empty instead of allocating empty string.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-23 22:48:18 +02:00
Alexandre Julliard
1c13f0e694 wow64: Don't load the 32-bit ntdll as an image to avoid debugger notifications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55109
2023-06-23 22:48:18 +02:00
Davide Beatrici
58b545fb60 winepulse: Refactor AudioClient's Initialize to match other drivers. 2023-06-23 11:43:49 +02:00
Davide Beatrici
5a79e98046 wineoss: Use create_stream's channel count in AudioClient's Initialize. 2023-06-23 11:43:49 +02:00
Davide Beatrici
546a62087d winecoreaudio: Use create_stream's channel count in AudioClient's Initialize. 2023-06-23 11:43:48 +02:00
Davide Beatrici
b115d90b9a winealsa: Use create_stream's channel count in AudioClient's Initialize. 2023-06-23 11:43:48 +02:00
Davide Beatrici
176d6a8be9 winepulse: Use mmdevapi's set_stream_volumes. 2023-06-23 11:43:48 +02:00
Davide Beatrici
694d713d1b wineoss: Use mmdevapi's set_stream_volumes. 2023-06-23 11:43:48 +02:00
Davide Beatrici
9bd7d848a6 winecoreaudio: Use mmdevapi's set_stream_volumes. 2023-06-23 11:43:48 +02:00
Davide Beatrici
f008d9a964 winealsa: Use mmdevapi's set_stream_volumes. 2023-06-23 11:43:48 +02:00
Eric Pouech
eb1f62bb31 dbghelp: Fix reading Wine loader's base address.
Note: the 32bit tests in new wow mode are still marked
todo as the ELF debug header is located above the 4G limit
and "default" module management in dbghelp compiled in 32bit
is (mostly) done with 32 bit addresses.
The correct fix should be to always consider ELF (and macho-O)
modules with 64bit addresses (which means likely to move all
modules handling to 64bit even in 32bit compilations).
But that goes far beyond this patch.

This limitation will only impact debuggers compiled in 32bit,
using 32bit builtin dbghelp on a 32bit debuggee.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55058
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55096
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-23 11:28:19 +02:00
Eric Pouech
1ed646ebf6 dbghelp/tests: Add explicit tests about loading ELF modules.
Perhaps next time ELF loader is modified, it'll be noticed if it breaks
things.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55058
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55096
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-23 11:28:08 +02:00
David Kahurani
60e4f8a261 msi: Convert newlines to alternate representation when exporting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:32 +02:00
David Kahurani
e1ddc58a25 msi: Reject shorter/longer lines in MsiDatabaseImportA.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:30 +02:00
Alistair Leslie-Hughes
0c5107afe2 wbemdisp: Support DISPATCH_PROPERTYGET in Object Invoke.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55053
2023-06-23 11:20:20 +02:00
Shaun Ren
02081ed6ff sapi: Implement ISpVoice::Set/GetVolume. 2023-06-23 11:20:14 +02:00
Shaun Ren
5793c57cbc sapi: Implement ISpVoice::Set/GetRate. 2023-06-23 11:20:14 +02:00
Shaun Ren
1763542393 sapi: Implement ISpVoice::Set/GetVoice. 2023-06-23 11:20:14 +02:00
Shaun Ren
8c6bb3caee sapi: Implement ISpVoice::SetOutput. 2023-06-23 11:20:12 +02:00
Jacek Caban
9285aa5bb1 configure: Use -fvisibility=hidden when building with msvcrt and cross compiler is not available. 2023-06-22 15:35:35 +02:00
Hans Leidekker
11afc2da02 secur32: Add support for sending TLS alerts.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55086
2023-06-22 15:34:07 +02:00
Gabriel Ivăncescu
aaf051ffff mshtml/tests: Fix CurrentStyle leak in test_style_filters.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:44 +02:00
Gabriel Ivăncescu
6412d86bda mshtml: Fix text node leak in OptionElement text setter.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:44 +02:00
Gabriel Ivăncescu
1012b9ba64 mshtml: Fix text node leak in Element innerText setter.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:43 +02:00
Gabriel Ivăncescu
0755a581fd mshtml: Fix element leaks in get_elem_source_index.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:43 +02:00
Gabriel Ivăncescu
ffb56bf700 mshtml: Fix leaks in create_all_list.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:43 +02:00
Gabriel Ivăncescu
7d8fd7df8f mshtml: Handle failure and cleanup properly when enumerating nodes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:43 +02:00
Gabriel Ivăncescu
1bce7be3e1 mshtml: Fix node leak when enumerating nodes.
get_node already adds a ref.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:41 +02:00
Gabriel Ivăncescu
21df8bd5aa mshtml: Fix nsIDOMNode leak when retrieving an item in the node list.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:41 +02:00
Gabriel Ivăncescu
f428c1feb5 mshtml: Fix style declaration leak in HTMLStyle_Create.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:41 +02:00
Gabriel Ivăncescu
77fe549d3e mshtml: Traverse and unlink AreaElements properly.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-22 15:33:41 +02:00
Tim Clem
1b310a5aba ntdll: Treat read faults on readable pages as write faults on macOS.
Working around a Rosetta bug on Apple Silicon - faults for certain
instructions (e.g. lock cmpxchg8b) are misreported, which can break
VPROT_WRITEWATCH handling.
2023-06-22 10:10:55 +02:00
Tatsuyuki Ishi
9d255d6d0c win32u: Avoid SEGV in QueryDisplayConfig when run as service.
The virtual_monitor used for non-interactive service executions do not have
an adapter set. Avoid segfaulting and poisoning the mutex in such cases.
2023-06-22 10:10:45 +02:00
Rémi Bernon
81859c9af7 configure: Build x86_64 PE code with mcmodel=small.
Saving a huge number of .refptr indirections for all extern symbols.
2023-06-21 22:33:30 +02:00
Gabriel Ivăncescu
88903fa674 jscript: Get rid of the function instance in arguments obj.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:51 +02:00
Gabriel Ivăncescu
59372aa98c jscript: Start from the last argument when adding them to named locals.
This is needed for duplicated argument names, as the last arg will shadow
all the prior ones when it comes to name lookup.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:49 +02:00
Gabriel Ivăncescu
1b385fa37c jscript: Store detached args into a scope's specialized buffer.
Rather than using the variable obj for it. Since it's an implementation
detail, the scope's dispex object accesses them using index props (using
same indices as the buffer's).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:45 +02:00
Gabriel Ivăncescu
e72e8f3ab4 jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:45 +02:00
Gabriel Ivăncescu
0e9d221582 jscript: Get rid of jsobj in scope_chain_t.
It was confusing and aliased to obj when it was a jsdisp (and shared ref), but
we can obtain that already with helpers as needed (as_jsdisp and to_jsdisp),
no reason to keep it so confusing and a separate field.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:41 +02:00
Gabriel Ivăncescu
08e0ebee49 jscript: Fix function leak in scope_init_locals.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:41 +02:00
Gabriel Ivăncescu
2173cac68e jscript: Fix addressing invalid memory if ref is an argument.
`ref` can be negative in case it refers to an argument. Even though scope !=
frame->base_scope would rule this out (because only base scopes have args),
it was checked *after* the memory access, which would read out of bounds
memory first. This didn't appear as an issue in practice since it's using the
heap pool, so there's probably valid memory before it, but it's still wrong.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:39 +02:00
Gabriel Ivăncescu
a184ace43d jscript: Correctly implement context for indirect eval calls in ES5+ modes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-06-21 18:54:39 +02:00
Rémi Bernon
9b7669592d win32u: Move virtual desktop display settings logic from winex11. 2023-06-21 18:26:33 +02:00
Rémi Bernon
08fd8ad0b6 win32u: Split default UpdateDisplayDevices implementation to a helper. 2023-06-21 18:26:32 +02:00
Liam Middlebrook
0911d462f9 cmd: Fix empty strings between PATH separators.
Previously if an empty string was encountered while parsing out PATH,
cmd.exe would ignore the rest of the PATH entirely.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55097
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
2023-06-21 18:25:48 +02:00
Liam Middlebrook
9aee47f7f6 cmd/tests: Add tests for PATH separator.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55097
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
2023-06-21 18:25:38 +02:00
Paul Gofman
a19c871291 crypt32: Do not create persistent container in CRYPT_CreateKeyProv(). 2023-06-21 18:15:43 +02:00
Giovanni Mascellani
e0ce5e331a dxgi: Rename and split d3d12_swapchain_destroy_buffers(). 2023-06-21 18:15:43 +02:00
Giovanni Mascellani
2e556c3245 dxgi: Only create D3D12 resources when necessary. 2023-06-21 18:15:43 +02:00
Giovanni Mascellani
c10e272152 dxgi: Do not destroy D3D12 resources unless requested.
This is probably a leftover of when Vulkan swapchain images were
used directly.
2023-06-21 18:15:43 +02:00
Giovanni Mascellani
bc3edfd188 dxgi: Remove now-useless function d3d12_swapchain_create_buffers(). 2023-06-21 18:15:43 +02:00
Giovanni Mascellani
0521f57027 dxgi: Do not uselessly pass queue_family_index around. 2023-06-21 18:15:43 +02:00
Alexandre Julliard
bef61e293c ntdll: Implement _errno(). 2023-06-21 18:15:43 +02:00
Alexandre Julliard
2ef4cc48fb wow64: Map a copy of ntdll to build the syscall table.
The original ntdll may have been hooked.
2023-06-21 18:15:43 +02:00
Alex Henrie
5da3827d86 ws2_32: Don't export num_startup. 2023-06-20 20:31:08 +02:00
Alex Henrie
8102e2ca2b crypt32: Don't export CRYPT_CopyReversed. 2023-06-20 20:31:05 +02:00
Alex Henrie
df7ed47b02 sane: Fix use after free in create_item (scan-build).
realloc may free lead_static.
2023-06-20 20:30:41 +02:00
Rémi Bernon
f7e76184f1 winex11: Make sure HIMC is opened before sending IME updates. 2023-06-20 20:30:29 +02:00
Rémi Bernon
97c0a52ae5 winex11: Report empty preedit string when result string is committed.
Based on a patch from Byeong-Sik Jeon <bsjeon@hanmail.net>.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55027
2023-06-20 20:30:28 +02:00
Rémi Bernon
e564619172 imm32: Use offsets instead of lengths to decide on sending updates.
The composition or result strings may be present, but with zero length.
In which case we still want to send the messages, to indicate any change
for instance whenever a character is deleted and strings become empty.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55055
2023-06-20 20:30:26 +02:00
Rémi Bernon
d1f9aae599 imm32/tests: Test how deleting a character can behave. 2023-06-20 20:30:26 +02:00
Eric Pouech
5efe29edc0 dbghelp: Implement SymSrvGetFileIndexInfo for PE modules.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-20 20:29:53 +02:00
Eric Pouech
4d32b2ee30 dbghelp/tests: Add tests for SymSrvGetInfoIndexes.
Tests related to debug directories.
Extending the PE image generator with debug directories.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-20 20:29:52 +02:00
Eric Pouech
954f302f70 dbghelp/tests: Add tests for SymSrvGetIndexesInfo.
Tests on PE image (header part, no debug directory).
Add infrastructure to generate PE image (derived from
kernel32/tests/loader.c).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-20 20:29:49 +02:00
Eric Pouech
1f437ed89a dbghelp: Create implementation basis for SymSrvGetFileIndex*().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-20 20:29:48 +02:00
Eric Pouech
20f6b54019 include/dbghelp.h: Added some missing definitions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-20 20:29:45 +02:00
Jinoh Kang
966233aee6 loader: Set the visibility of symbols in preloader to "hidden".
Today, the preloader is linked with -fPIE in spite of the fact that the
preloader is a non-PIE statically linked binary.  This is due to a
limitation in tools/makedep that makes it difficult to specify CFLAGS
for each individual object file's recipe.

This can seemingly cause problems with some GOTPCREL(X) relocations
inside the preloader. Since preloader does not link to the system
library directly, there is no need for a Global Offset Table (GOT).
However, a few extern (non-static) function symbols are declared, the
use of which makes GCC emit instructions that references those symbols
by indirection through GOT.  The linker then tries to optimize such
instructions to eliminate GOT references, which can fail due to various
reasons.

This stands in contradiction with Jinoh Kang's suggestion (in bug 55050)
that "-fPIE is harmless even when applied to an object linked into
non-PIE executables." The claim is theoretically true since
position-independent code can in principle be relocated to any address
(fixed or dynamic); however, it fails due to some peculiar practical
issues, which is arguably a limitation in the linker's implementation
(since it can be worked around with -Wl,--no-relax without issues).

Fix this by eliminating GOT usage by setting the default visibility of
non-static declarations to "hidden". Assuming GCC's medium code model
(-mcmodel=medium; default code model for x86_64), this suppresses any
unnecessary PLT or GOT relocations for defined symbols, and provides
opportunity for GCC to optimize the code better.

Fixes: 78ed343842
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55091
2023-06-20 20:27:45 +02:00
Nikolay Sivov
05aa740787 oleaut32: Trace typelib guid in GetRecordInfoFromGuids(). 2023-06-20 20:27:38 +02:00
Nikolay Sivov
fb083f4f37 oleaut32/recinfo: Use CoTaskMem* allocations for the record data. 2023-06-20 20:27:37 +02:00
Nikolay Sivov
d9d665705e oleaut32/recinfo: Use CRT allocation functions. 2023-06-20 20:27:36 +02:00
Alex Henrie
078f4dcd44 wbemprox: Fix memory leak on error path in enum_key (scan-build). 2023-06-20 20:27:21 +02:00
Alexandre Julliard
c938f92e4c wordpad: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Alexandre Julliard
35299b39cb winhlp32: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Alexandre Julliard
6c9246e022 winemenubuilder: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Alexandre Julliard
63f94c4925 winefile: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Alexandre Julliard
f20710d9b3 winedbg: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Alexandre Julliard
4368bd8e60 winecfg: Use nameless unions/structs. 2023-06-20 15:58:05 +02:00
Rémi Bernon
c47c4d54bd winegstreamer: Lazily allocate wg_allocator unix memory. 2023-06-19 22:51:05 +02:00
Rémi Bernon
ca03b68cf4 winegstreamer: Move release_memory_sample helper around. 2023-06-19 22:51:05 +02:00
Rémi Bernon
ca20e06051 winegstreamer: Remove the callback mechanism from wg_allocator. 2023-06-19 22:51:05 +02:00
Rémi Bernon
59dedf2754 winegstreamer: Remove colorimetry and chroma-site from wg_format caps.
They are set by default and will force color conversions we may not
want in the wg_transform videoconvert.
2023-06-19 22:50:55 +02:00
Connor McAdams
41f07a8a0f uiautomationcore: Implement UiaEventAddWindow.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-19 22:50:45 +02:00
Connor McAdams
92623ccdf0 uiautomationcore: Add support for advising providers of events on serverside events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-19 22:50:45 +02:00
Connor McAdams
2da4d47b5d uiautomationcore: Prevent creation of duplicate serverside events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-19 22:50:45 +02:00
Connor McAdams
549a276c32 uiautomationcore: Add support for creating serverside events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-19 22:50:45 +02:00
Connor McAdams
fa02af30e6 uiautomationcore/tests: Add tests for cross-process events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-19 22:50:45 +02:00
David Kahurani
101bcc221d gdiplus: Allow NULL format in GdipAddPathString.
GdipAddPathString accepts NULL for format and presumably uses
the default format for formating

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-19 21:10:17 +02:00
Alex Henrie
29d543d12a advpack: Check the return value of adv_install in DoInfInstallW (scan-build). 2023-06-19 17:43:19 +02:00
Alex Henrie
2455229549 conhost: Use correct pointer type in edit_line_transpose_words (scan-build). 2023-06-19 17:42:16 +02:00
Olivier F. R. Dierick
58e81212fc ntoskrnl.exe: Add Ke386QueryIoAccessMap stub.
Simply print a FIXME, instead of triggering the display of a terminal window to show 'call to unimplemented function' debugging info.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54380
2023-06-19 17:41:28 +02:00
Alexandre Julliard
ac1761d1da loader: Build the preloader as PIE on 64-bit. 2023-06-19 17:32:24 +02:00
Alexandre Julliard
c55578f3a5 loader: Always build the main loader as PIE if we have a preloader. 2023-06-19 17:30:45 +02:00
Alexandre Julliard
78ed343842 loader: Force building the main loader as PIE on 64-bit.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55050
2023-06-19 17:30:45 +02:00
Alexandre Julliard
718068c42c include: Disallow fastcall functions in Unix libraries. 2023-06-19 16:28:54 +02:00
Alex Henrie
0a07f5984e wininet: Don't overallocate in urlcache_encode_url_alloc (scan-build).
The URL is encoded in UTF-8, not UTF-16.
2023-06-19 16:28:54 +02:00
Alex Henrie
b97b2fbf00 urlmon: Don't export urlmon_instance. 2023-06-19 16:28:54 +02:00
Davide Beatrici
cafed10a11 wineoss: Use mmdevapi's stream_release. 2023-06-19 16:28:54 +02:00
Davide Beatrici
def6e1c77d winecoreaudio: Use mmdevapi's stream_release. 2023-06-19 16:28:54 +02:00
Davide Beatrici
d49a6b773e winealsa: Use mmdevapi's stream_release. 2023-06-19 16:28:54 +02:00
Davide Beatrici
959dd9a9a3 winepulse: Move stream_release into mmdevapi. 2023-06-19 16:28:54 +02:00
Alex Henrie
add5c43fdb hhctrl: Initialize item->items to NULL in parse_index_sitemap_object (scan-build).
Initializing to NULL makes it more clear that the initial value is only
used as a parameter to realloc.
2023-06-19 16:28:54 +02:00
Alex Henrie
47e044b81d comctl32: Remove duplicate declarations of MONTHCAL functions.
MONTHCAL_MonthLength and MONTHCAL_CalculateDayOfWeek are already
declared in dlls/comctl32/comctl32.h.
2023-06-19 16:28:54 +02:00
Alex Henrie
15c00627ee comdlg32: Don't use GetProcAddress for SHSimpleIDListFromPath.
The function is exported by name from shell32 and declared in a public
header.
2023-06-19 13:18:01 +02:00
Fabian Maurer
2c235b6fe4 gdiplus: Refactor and add comments for easier understanding.
Hopefully useful for people like me who had a hard time understanding
what was going on. Especially with the rearranged divison and the
simplification I had a hard time seeing why that does what it does

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-06-19 13:17:24 +02:00
Andrey Gusev
a5ea2c57c9 include: Add flags in D3D11_RESOURCE_MISC_FLAG. 2023-06-19 13:17:13 +02:00
Jactry Zeng
7a353e15f6 atl: Convert REG_DWORD to a correct type. 2023-06-19 13:16:05 +02:00
Jactry Zeng
6468ffd8bb atl/tests: Move regular DWORD tests into a loop. 2023-06-19 13:16:05 +02:00
Alex Henrie
f9785543a8 combase: Don't export hProxyDll or rpc_execute_call. 2023-06-19 13:15:31 +02:00
Zebediah Figura
e8b0e7c1fc xaudio2/tests: Fix the IID_IXAudio28 declaration.
This was accidentally copied from the 2.9 version instead in 14c44d0b0.
2023-06-19 13:15:25 +02:00
Rémi Bernon
8d2de5dbe1 win32u: Use a specific flag instead of shrinking the clip rect.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047
2023-06-16 21:42:44 +02:00
Rémi Bernon
ab9b99c4a5 server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047
2023-06-16 21:35:58 +02:00
Rémi Bernon
56e2a08dae win32u: Remove unnecessary set_cursor new_clip rect copy. 2023-06-16 21:35:58 +02:00
Alexandre Julliard
f5784e2fd1 services: Use nameless unions/structs. 2023-06-16 17:58:37 +02:00
Alexandre Julliard
c2d1c8dcd3 regedit: Use nameless unions/structs. 2023-06-16 17:58:16 +02:00
Alexandre Julliard
5d9ea809da oleview: Use nameless unions/structs. 2023-06-16 17:58:03 +02:00
Alexandre Julliard
52a868a8fe netstat: Use nameless union/structs. 2023-06-16 17:57:36 +02:00
Alexandre Julliard
e3664fa8ad ipconfig: Use nameless union/structs. 2023-06-16 17:57:24 +02:00
Alexandre Julliard
14518662d6 explorer: Use nameless union/structs. 2023-06-16 17:57:11 +02:00
Alexandre Julliard
2e58c9e060 conhost: Use nameless union/structs. 2023-06-16 17:56:55 +02:00
Georg Lehmann
7eb75124e7 winevulkan: Update to VK spec version 1.3.254. 2023-06-16 17:55:39 +02:00
Rémi Bernon
330827a011 winegstreamer: Pass the stream descriptor to media_stream_create. 2023-06-16 17:54:08 +02:00
Rémi Bernon
43ea59fdf9 winegstreamer: Introduce new init_audio_media_types helper. 2023-06-16 17:54:08 +02:00
Rémi Bernon
3a603357bc winegstreamer: Introduce new init_video_media_types helper. 2023-06-16 17:54:08 +02:00
Rémi Bernon
b0ecfc96df winegstreamer: Factor the creation of the first stream media type. 2023-06-16 17:54:08 +02:00
Rémi Bernon
82b1cc3cbe winegstreamer: Pass a struct wg_parser_stream to media_stream_create. 2023-06-16 17:54:08 +02:00
Rémi Bernon
694c334536 winegstreamer: Introduce new stream_descriptor_set_tag helper. 2023-06-16 17:54:08 +02:00
Alex Henrie
993f4d48d2 msi: Fix memory leaks in HANDLE_CustomType23 (scan-build). 2023-06-16 10:30:48 +02:00
Alex Henrie
1f7c84a33a winhttp: Fix memory leak on error path in request_get_codepage (scan-build). 2023-06-16 10:30:42 +02:00
Alex Henrie
0653409e06 msi: Fix double free on error paths in TransformView_Create (scan-build).
If TransformView_Create returns an error, it should not return a pointer
that table_load_transform will try to free.
2023-06-16 10:30:35 +02:00
Alex Henrie
4db2ffa60e msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build). 2023-06-16 10:30:29 +02:00
Alex Henrie
3caa27eafb wusa: Zero out identity on error path in read_identity.
Fixes double frees in read_components and read_dependency. The double
frees could also be fixed by using free instead of free_dependency in
those functions, but zeroing out the pointers is easier to understand
because it ensures that alloc_dependency can always be paired with
free_dependency.
2023-06-16 10:30:21 +02:00
Davide Beatrici
617117ceae wineoss: Call mmdevapi's get_application_name. 2023-06-16 10:30:13 +02:00
Davide Beatrici
bb2e093ad3 winecoreaudio: Call mmdevapi's get_application_name. 2023-06-16 10:30:13 +02:00
Davide Beatrici
b549546ee2 winealsa: Call mmdevapi's get_application_name. 2023-06-16 10:30:13 +02:00
Davide Beatrici
bfb3bbba54 winepulse: Move get_application_name into mmdevapi. 2023-06-16 10:30:12 +02:00
Davide Beatrici
62cd90e8ac winepulse: Move AudioClient's Initialize's exclusive mode check into unixlib. 2023-06-16 10:30:12 +02:00
Alex Henrie
e24bcef157 wldap32: Clean up LDAP_OPT_API_INFO.
Fix memory leaks on error paths, don't call memset unnecessarily, and
ensure that all output fields are initialized.
2023-06-16 10:30:00 +02:00
Rémi Bernon
272f712b60 winex11: Replace the clipping message HWND with a BOOL flag.
We don't need the window anymore, it was only used to send ClipCursor
notifications. This improves cursor clipping performance a lot as it
avoids re-creating a window every time.
2023-06-15 22:14:35 +02:00
Rémi Bernon
1f90d03b78 winex11: Simplify the cursor clipping retry mechanism.
If the focus changes between Wine windows, the wineserver logic will
decide to reset the clipping rectangle. However winex11 also needs to
support the case when focus changes to a host window, in virtual desktop
mode, and in this case the foreground window doesn't actually change.

To fix this, in virtual desktop mode, release the cursor on focus out
events, and reapply the cursor clipping rect when the virtual desktop
window is focused again.

We can use the same logic on NotifyGrab events, when the WM grabs the
keyboard, and later reapply the Wine clipping rect when we are notified
about the keyboard ungrab.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55046
2023-06-15 22:13:45 +02:00
Rémi Bernon
89415925b7 winex11: Don't grab the cursor if another process is focused.
This might be the case when in virtual desktop mode for instance, where
we don't change Wine foreground window when the virtual desktop is
focused out.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55046
2023-06-15 22:13:43 +02:00
Rémi Bernon
b3c1bd33e0 win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047
2023-06-15 22:10:51 +02:00
Rémi Bernon
f4cb3230d8 server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047
2023-06-15 22:10:51 +02:00
Daniel Lehman
0a6b5c7932 wininet: Free temporary buffer in InternetQueryOptionW loop. 2023-06-15 22:10:35 +02:00
Alexandre Julliard
045d211308 makefiles: Disable native import libraries on ARM64. 2023-06-15 12:03:34 +02:00
Alexandre Julliard
56fe04085d makefiles: Don't build native import libraries for PE-only build. 2023-06-15 12:03:34 +02:00
Alexandre Julliard
fa732145b8 makefiles: Make the dll extension a per-architecture variable. 2023-06-15 10:27:06 +02:00
Alexandre Julliard
80fc252f18 makefiles: Pass the dll extension from configure. 2023-06-15 10:21:16 +02:00
Fabian Maurer
a58ec76989 mmdevapi: Don't redefine stream_handle (gcc 4.3).
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-06-15 10:03:56 +02:00
Alex Henrie
f0b0c7f464 rpcrt4: Don't use GetProcAddress for ole32 functions.
It's more elegant to put ole32 in the DELAYIMPORTS.
2023-06-15 10:03:47 +02:00
Ziqing Hui
8e3f316cc9 winegstreamer: Implement Flush for WMV decoder DMO. 2023-06-15 10:03:41 +02:00
Bernhard Kölbl
f19a0fb6c2 mf: Don't leak sink in session_get_renderer_node_service().
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-06-15 10:03:08 +02:00
Bernhard Kölbl
bea37208fe mf: Clear queued topologies on session shutdown.
Programs might expect objects inside the queued toplogy to be freed,
before they eventually call release on the session itself.

This fixes reference leaks to stored objects in queued topology nodes,
even when IMFMediaSession_Shutdown() was called.

Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-06-15 10:03:06 +02:00
Akihiro Sagawa
c43a4aee77 commdlg: Fix dialog template parser when caption starts with a DBCS character.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55043
2023-06-14 19:21:41 +02:00
Alex Henrie
9c4d30ad70 shell32: Fix memory leak on error path in FolderItems_Constructor (scan-build). 2023-06-14 19:20:54 +02:00
Nikolay Sivov
e6229b5273 scrrun/dictionary: Compare key values in addition to their hashes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-06-14 18:53:36 +02:00
Shaun Ren
7cd77b2a78 sapi: Implement ISpMMSysAudio::EventHandle. 2023-06-14 18:53:36 +02:00
Shaun Ren
ef730b6e41 sapi: Implement ISpMMSysAudio::Write. 2023-06-14 18:53:36 +02:00
Shaun Ren
7bced2878a sapi: Free completed buffers asynchronously in SpMMAudio.
Also introduce async helpers.

The buffers cannot be freed directly in wave_out_proc, because calling
waveOut related functions in the callback could cause a deadlock.
2023-06-14 18:53:36 +02:00
Shaun Ren
107d95165a sapi: Partially implement ISpMMSysAudio::SetState. 2023-06-14 18:53:36 +02:00
Alexandre Julliard
250efdf0c6 include: Don't support stdcall functions on non-i386. 2023-06-14 18:53:36 +02:00
Alexandre Julliard
ed36f4bc8c wow64cpu: Don't define stdcall functions on non-i386. 2023-06-14 18:53:36 +02:00
Alexandre Julliard
2b6e32f358 ntdll: Don't define stdcall functions on non-i386. 2023-06-14 18:53:36 +02:00
Alexandre Julliard
c908ad6fcd kernelbase: Don't define stdcall functions on non-i386. 2023-06-14 18:53:36 +02:00
Eric Pouech
766448f8ff kernel32/tests: Extend console inheritance tests.
- Define what the std handles are before inheriting them
- Check access to parent console from child through std handles

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-13 22:10:56 +02:00
Vladislav Timonin
a0571a2d3a shell32: Don't show size for inaccessible drives in My Computer. 2023-06-13 22:10:56 +02:00
Vladislav Timonin
83641ce6b8 shell32: Show >4GB values in size columns of My Computer. 2023-06-13 22:10:56 +02:00
Jacek Caban
c94bca9d83 win32u: Remove duplicated d3dkmdt.h include. 2023-06-13 22:10:56 +02:00
Jacek Caban
5127bedd54 user32: Remove no longer used setupapi import. 2023-06-13 22:10:56 +02:00
Rémi Bernon
9f8d9eef21 winex11: Set the window cursor immediately in SetCursor.
Instead of synchronizing the cursor on mouse changes. The SetCursor call
should now only be made when cursor or window handle have changed.
2023-06-13 22:10:56 +02:00
Rémi Bernon
b17b77c707 wineandroid: Set the window cursor immediately in SetCursor. 2023-06-13 22:10:56 +02:00
Rémi Bernon
4b968267c1 win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR. 2023-06-13 22:10:56 +02:00
Rémi Bernon
3afff1a690 win32u: Add a hwnd parameter to SetCursor driver entry points. 2023-06-13 22:10:56 +02:00
Rémi Bernon
25906eedd8 server: Introduce and send new WM_WINE_SETCURSOR hardware message. 2023-06-13 22:10:56 +02:00
Rémi Bernon
b04ef19930 server: Keep track of the current desktop cursor handle. 2023-06-13 22:10:56 +02:00
Rémi Bernon
10f5ff7f06 server: Update desktop cursor window when cursor pos changes. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
3c4be9856d ntdll: Make only the necessary pages writable in the ARM64EC code map. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
f473e31341 ntdll: Load modules with a high base address in high memory. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
a82238fad5 ntdll: Allocate 64-bit and kernel stacks in high memory. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
11cd51139d ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
2705e6c319 server: Also enforce the size of varargs data structures. 2023-06-13 22:10:56 +02:00
Alexandre Julliard
2f3c8be54f kernel32/tests: Fix the PROCESS_BASIC_INFORMATION exit status type. 2023-06-13 22:10:56 +02:00
Davide Beatrici
e55c432a91 wineoss: Implement main_loop in unixlib. 2023-06-13 10:32:19 +02:00
Davide Beatrici
9ad0694aed winecoreaudio: Implement main_loop in unixlib. 2023-06-13 10:32:19 +02:00
Davide Beatrici
b089e4a2bb winealsa: Implement main_loop in unixlib. 2023-06-13 10:32:19 +02:00
Davide Beatrici
03e5c9fa7d winepulse: Move main loop logic into mmdevapi. 2023-06-13 10:32:18 +02:00
Connor McAdams
c7431990d8 uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-12 21:21:42 +02:00
Connor McAdams
c5b2c0369b uiautomationcore: Implement UiaRaiseAutomationEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-12 21:21:42 +02:00
Connor McAdams
61712ec79f uiautomationcore: Add support for cloning UiaCondition structures.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-12 21:21:42 +02:00
Connor McAdams
1518851b72 uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-12 21:21:42 +02:00
Connor McAdams
8c41311a2b uiautomationcore: Store all events in an event list.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-12 21:21:42 +02:00
Fabian Maurer
9b12065fc5 wineps.drv: Use afm FamilyName instead of FullName.
Fixes a regression introduced by a6cb10bba2
The old logic also used FamilyName, and some applications depend on that

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54993
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54980
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-06-12 21:21:42 +02:00
Tatsuyuki Ishi
d24dcb1ec5 win32u: Cleanup naming and log messages for QueryDisplayConfig.
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2023-06-12 21:21:42 +02:00
Tatsuyuki Ishi
c2c9112bf8 win32u: Move QueryDisplayConfig from user32.
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2023-06-12 21:21:42 +02:00
Rémi Bernon
af902c188e win32u: Move fullscreen window cursor clipping from winex11. 2023-06-12 21:21:42 +02:00
Rémi Bernon
b1d273bba3 winex11: Move clip_fullscreen_window foreground check inside it. 2023-06-12 21:21:42 +02:00
Rémi Bernon
3cca65e328 win32u: Add a clipping_cursor member to user_thread_info. 2023-06-12 21:21:42 +02:00
Rémi Bernon
89a7c05ad9 win32u: Add a clipping_reset member to user_thread_info. 2023-06-12 21:21:42 +02:00
Rémi Bernon
f47ed29260 win32u: Move grab_pointer registry option from winex11. 2023-06-12 21:21:42 +02:00
Rémi Bernon
bb043fb63e winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY. 2023-06-12 21:21:42 +02:00
Rémi Bernon
5911f36cff imm32: Avoid resizing IMCC to zero-size buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55027
2023-06-12 21:21:42 +02:00
Huw Davies
b012bed6ff winepulse: Return E_NOTIMPL when the property is not found.
Fixes a regression caused by 13fa7a57df.
2023-06-12 21:21:42 +02:00
Huw Davies
2586652e16 winepulse: Don't overwrite the result in the insufficient buffer case.
Fixes a regression caused by 13fa7a57df.
2023-06-12 21:21:42 +02:00
Alexandre Julliard
b5a0dd8ca3 wow64: Don't force wow64 dlls to load at low addresses. 2023-06-12 21:21:42 +02:00
Alexandre Julliard
834f7b2366 winegcc: Fix an uninitialized variable warning in the PE build. 2023-06-12 21:21:42 +02:00
Alexandre Julliard
cc2cfb9b79 loader: Make the loader position-independent on 64-bit. 2023-06-12 21:21:42 +02:00
Alexandre Julliard
912fd620db makefiles: Define WINE_UNIX_LIB for all files that are built for Unix. 2023-06-12 21:21:41 +02:00
Alexandre Julliard
93630ce14e include: Remove redundant __WINE_USE_MSVCRT checks. 2023-06-12 21:21:41 +02:00
Alex Henrie
adccd96c2b windows.media.speech: Fix memory leak on error path in session_worker_thread_cb (scan-build). 2023-06-12 21:21:41 +02:00
Rémi Bernon
6ac82b2a24 server: Use hardware message category when checking filter. 2023-06-12 21:21:41 +02:00
Rémi Bernon
3ae2dc4648 server: Pass the message code to get_hardware_msg_bit. 2023-06-12 21:21:41 +02:00
Etaash Mathamsetty
f2fef431d5 user32: Add GetSystemDpiForProcess export. 2023-06-12 21:21:41 +02:00
Etaash Mathamsetty
6ecca8cf63 ntdll: Allow RtlAllocateHeap to crash with invalid handle. 2023-06-12 21:21:35 +02:00
Alexandre Julliard
68a3b0077e Release 8.10. 2023-06-09 23:51:05 +02:00
Santino Mazza
c5daf6a30f riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
To prevent cases where ME_WrapMarkedParagraphs has not been called causing a NULL
pointer when editor_ensure_visible tries to get the row from the cursor.
2023-06-09 23:37:14 +02:00
Alexandre Julliard
f76d8ba6c6 winedump: Dump manifest resources in a more structured way. 2023-06-09 23:37:14 +02:00
Alexandre Julliard
79f3fa732a winedump: Dump version resources in a more structured way. 2023-06-09 23:37:14 +02:00
Alexandre Julliard
bc2e4ea7e2 winebuild: Update target-dependent characteristics after option parsing. 2023-06-09 23:37:14 +02:00
Alexandre Julliard
320acdad05 winebuild: Set a 64-bit base address for generated 64-bit dlls. 2023-06-09 23:37:14 +02:00
Alexandre Julliard
931292f1a6 ntdll: Use the sysv ABI for __wine_syscall_dispatcher_return().
Missing from b337c5b1a1, spotted by Fan
WenJie.
2023-06-09 23:37:14 +02:00
Davide Beatrici
3b5411941d mmdevapi: Handle CreateThread() failure in AudioClient's Start. 2023-06-09 10:34:58 +02:00
Daniel Lehman
f1aa3f37ef riched20: Update paragraph position in marked tree.
nCharOfs is the key for paragraphs added to the marked tree
If it is updated, re-add the entry to update its position
2023-06-09 10:34:51 +02:00
Shaun Ren
473a5462e5 sapi: Implement ISpMMSysAudio::Get/SetFormat. 2023-06-09 10:34:44 +02:00
Shaun Ren
b24c1abf62 include: Add sperror error code SPERR_UNSUPPORTED_FORMAT. 2023-06-09 10:34:44 +02:00
Shaun Ren
615852a97f sapi: Add GUIDs SPDFID_Text/WaveFormatEx. 2023-06-09 10:34:43 +02:00
Shaun Ren
454283ec22 sapi: Implement ISpMMSysAudio::Get/SetDeviceId. 2023-06-09 10:34:43 +02:00
Zebediah Figura
682ad1c1df xaudio2/tests: Fix the IID_IXAPO query.
This was missed in 14c44d0b0a.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55016
2023-06-09 10:34:32 +02:00
Ziqing Hui
8310d9cbde mf/tests: Split size info tests from test_wmv_decoder_media_object. 2023-06-09 10:34:25 +02:00
Ziqing Hui
0f71442e9c mf/tests: Split output type tests from test_wmv_decoder_media_object. 2023-06-09 10:34:25 +02:00
Ziqing Hui
b2481f6522 mf/tests: Split input type tests from test_wmv_decoder_media_object. 2023-06-09 10:34:24 +02:00
Piotr Caban
781b8c3d6b msvcr100: Use Context blocking functions in _Condition_variable class. 2023-06-08 18:44:10 +02:00
Piotr Caban
7bf56117ce msvcr100: Use block_context_for helper in event::wait(). 2023-06-08 18:44:10 +02:00
Piotr Caban
d3d9297b60 msvcr100: Use block_context_for helper in Concurrency::wait(). 2023-06-08 18:44:10 +02:00
Piotr Caban
0f69396405 msvcr100: Add support for COOPERATIVE_TIMEOUT_INFINITE timeout in critical_section. 2023-06-08 18:44:10 +02:00
Piotr Caban
684dbfd0c7 msvcr100: Fix use after free in critical_section::try_lock_for(). 2023-06-08 18:44:09 +02:00
Alexandre Julliard
d12b125b4e ntdll: Update the reserved range on 64-bit to match the preloader.
cf. 6b0836e3f1.
2023-06-08 13:29:39 +02:00
Alexandre Julliard
bf1606cf35 ntdll: Use the full 4Gb for large address aware applications on Wow64. 2023-06-08 13:21:45 +02:00
Alexandre Julliard
78ffde79fe ntdll: Report the remaining part of the 64K after a view as free.
To avoid returning non-aligned reserved regions.
2023-06-08 13:21:10 +02:00
Alexandre Julliard
8b992fecad ntdll: Reimplement virtual_release_address_space() without using a callback. 2023-06-08 13:20:45 +02:00
Alexandre Julliard
800fc4164f ntdll: Reimplement fill_basic_memory_info() without using a callback.
And merge reported free areas.
2023-06-08 13:20:04 +02:00
Alexandre Julliard
b0aaa2f869 ntdll: Reimplement allocation of the virtual heap without using a callback. 2023-06-08 13:04:31 +02:00
Alex Henrie
6c1157435a regedit: Fix memory leak on error path in GetItemPath (scan-build). 2023-06-08 12:04:23 +02:00
Daniel Lehman
7b3690dd73 msi: Release record instead of free.
../dlls/msi/dialog.c:4476:11: warning: attempt to call free on non-heap object 'hdr' [-Wfree-nonheap-object]
    free( &rec->hdr );
          ^
2023-06-08 12:03:35 +02:00
Alex Henrie
d06b3fd527 msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build). 2023-06-08 12:03:29 +02:00
Alex Henrie
b630718149 winhttp: Fix double free on error path in queue_task (scan-build).
queue_task cannot free the struct because it doesn't know whether the
struct contains pointers to other dynamically allocated memory that also
needs to be freed (as is the case with struct send_request).
2023-06-08 12:03:20 +02:00
Davide Beatrici
2cbaa59a26 wineoss: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize. 2023-06-08 12:03:08 +02:00
Davide Beatrici
786c3a0afc winecoreaudio: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize. 2023-06-08 12:03:08 +02:00
Davide Beatrici
896855c519 winealsa: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize. 2023-06-08 12:03:08 +02:00
Davide Beatrici
182ae5b19b winepulse: Move AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize into mmdevapi. 2023-06-08 12:03:08 +02:00
Davide Beatrici
be356451fc wineoss: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported. 2023-06-08 12:03:08 +02:00
Davide Beatrici
cff4a813e3 winecoreaudio: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported. 2023-06-08 12:03:08 +02:00
Davide Beatrici
cc9e486ba5 winealsa: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported. 2023-06-08 12:03:08 +02:00
Davide Beatrici
9cd13ecb30 winepulse: Move AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported into mmdevapi. 2023-06-08 12:03:08 +02:00
Alex Henrie
3fd8c85fd1 rpcrt4: Replace RPCRT4_strndupA with strdup. 2023-06-08 12:02:55 +02:00
Bernhard Kölbl
07d0f1f0c0 mf/tests: Remove duplicate call to MFStartup().
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-06-07 22:48:27 +02:00
Piotr Caban
8171cfb79b localspl: Don't pass original document name to cupsStartDocument.
It's used by the function to find document content type. Fixes regression
introduced by e164b8cefb.
2023-06-07 22:48:27 +02:00
Zebediah Figura
14c44d0b0a xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
Instead of including the IDLs directly, define a local IDL that #includes them,
with XAUDIO2_VER defined, and include that generated header.

Get rid of compat.c, and use XAUDIO2_VER to modify the code in the other source
files.

Build the tests for both xaudio2_7 and xaudio2_8 using PARENTSRC, and use
XAUDIO2_VER to select between them. This mirrors the approach taken for
d3dcompiler, and makes it easier to test more xaudio2 versions in the future.
2023-06-07 22:48:27 +02:00
Zebediah Figura
c80285ffb1 xaudio2: Create XAPO objects directly from CreateAudioVolumeMeter() and CreateAudioReverb().
Instead of going through the class factory.
2023-06-07 22:48:27 +02:00
Zebediah Figura
77a83bc4bb xaudio2: Move CreateAudioVolumeMeter() and CreateAudioReverb() to xapo.c. 2023-06-07 22:48:27 +02:00
Zebediah Figura
10700c044b xaudio2/tests: Add a couple of helpers to abstract the difference between versions. 2023-06-07 22:48:27 +02:00
Rémi Bernon
397cd1c0c0 winex11: Remove now unnecessary ClipCursor forwarding to foreground thread. 2023-06-07 22:48:27 +02:00
Rémi Bernon
47e208e9ec win32u: Asynchronously apply or reset ClipCursor from the hardware message. 2023-06-07 22:48:27 +02:00
Rémi Bernon
5ebb1ed132 server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
When applying a new cursor clipping rect, or to the previous foreground
thread when foreground changes, to notify it of the cursor clipping rect
being reset.
2023-06-07 22:48:27 +02:00
Rémi Bernon
bd06c87b5b server: Use a separate helper to merge WM_MOUSEMOVE messages. 2023-06-07 22:48:27 +02:00
Rémi Bernon
2101d4d6ad server: Use the helper to reset the clip rect when the desktop size changes. 2023-06-07 22:48:27 +02:00
Rémi Bernon
b7570b798e win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor. 2023-06-07 22:48:27 +02:00
Davide Beatrici
b16ab96168 wineoss: Use mmdevapi's AudioClient's Start. 2023-06-07 22:48:27 +02:00
Davide Beatrici
1874a17032 winecoreaudio: Use mmdevapi's AudioClient's Start. 2023-06-07 22:48:27 +02:00
Davide Beatrici
32683df5c3 winealsa: Use mmdevapi's AudioClient's Start. 2023-06-07 22:48:27 +02:00
Davide Beatrici
1c53edf33c winepulse: Move AudioClient's Start into mmdevapi. 2023-06-07 22:48:27 +02:00
Davide Beatrici
8b64db9902 winecoreaudio: Lock sessions in AudioClient's Start. 2023-06-07 22:48:27 +02:00
Davide Beatrici
71a6691978 winepulse: Lock sessions in AudioClient's Start. 2023-06-07 22:48:27 +02:00
Davide Beatrici
45cab2737d wineoss: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop. 2023-06-07 22:48:27 +02:00
Davide Beatrici
cc3362ec6c winecoreaudio: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop. 2023-06-07 22:48:27 +02:00
Davide Beatrici
f626aa2ab3 winealsa: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop. 2023-06-07 22:48:27 +02:00
Davide Beatrici
13f3d59275 winepulse: Move AudioClient's SetEventHandle, Reset, Stop into mmdevapi. 2023-06-07 22:48:27 +02:00
Alexandre Julliard
47404fb36c ntdll: Reimplement allocation inside a reserved area without using a callback.
And make the allocation limits more explicit.
2023-06-07 22:48:27 +02:00
Alexandre Julliard
33240c5465 ntdll: Reimplement map_fixed_area() to avoid recursion and callbacks. 2023-06-07 22:48:27 +02:00
Alexandre Julliard
4cdc2f75f7 ntdll: Reimplement unmap_area() to avoid recursion and callbacks. 2023-06-07 22:48:27 +02:00
Alexandre Julliard
4c827cefbc ntdll: Add a helper function to unmap memory above the user space limit. 2023-06-07 22:48:27 +02:00
Alexandre Julliard
d5b22ae085 ntdll: Support adding overlapping ranges in mmap_add_reserved_area(). 2023-06-07 22:48:27 +02:00
Alexandre Julliard
1dd6ea7049 wininet/tests: Update expected WineHQ certificate. 2023-06-07 22:48:27 +02:00
Alex Henrie
50df20b9ec vbscript: Fix memory leak on error path in alloc_vbscode (scan-build).
release_vbscode doesn't do anything if ref is 0.
2023-06-07 22:48:27 +02:00
Alex Henrie
faa68dabc3 wininet: Fix memory leaks on error paths in INTERNET_LoadProxySettings (scan-build). 2023-06-07 22:48:27 +02:00
Alex Henrie
100131fa7e vbscript: Fix memory leak on error path in RegExp2_Execute (scan-build). 2023-06-07 22:48:27 +02:00
Alex Henrie
b9aaaacc16 jscript: Fix memory leak on error path in regexp_string_match (scan-build). 2023-06-07 22:48:27 +02:00
Alex Henrie
35dc94bc01 wldap32: Fix memory leak on error path in ldap_start_tls_sW (scan-build). 2023-06-07 11:29:45 +02:00
Alex Henrie
7b69313bbb hhctrl: Fix memory leak on error path in resolve_filename (scan-build). 2023-06-07 11:29:38 +02:00
Alex Henrie
2cabb3f79d dnsapi: Fix memory leak on error path in do_query_netbios (scan-build). 2023-06-07 11:29:33 +02:00
Alex Henrie
025e9a0183 kerberos: Fix memory leaks in (wow64_)query_ticket_cache (scan-build). 2023-06-07 11:29:25 +02:00
Alex Henrie
9e3f1a1506 wineusb: Fix memory leaks on error paths in usb_submit_urb (scan-build). 2023-06-06 21:51:43 +02:00
Akihiro Sagawa
dcb123fac8 winex11: Ignore BadWindow errors caused by XConfigureWindow.
This typically happens when resizing a D3D child window.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54810
2023-06-06 21:51:43 +02:00
André Zwing
02fcbeb5a1 wow64: Ignore Thumb flag when parsing ARM syscall number. 2023-06-06 21:51:43 +02:00
Joshua Ashton
fc7e204113 winevulkan: Include function name in asserts.
It is really useful to see at a glance what function is
segfaulting/crashing here when debugging games/apps.

This code is generated, and when generating WineVulkan against different
Vulkan spec versions, etc it may be misleading that the Line: referred
to by the assert dialog does not match what is generated locally on
a different machine for the same Wine version/commit.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-06-06 21:51:43 +02:00
Piotr Caban
01c3f4dc65 msvcr100: Use Context blocking functions in Concurrency::wait(). 2023-06-06 21:51:43 +02:00
Piotr Caban
3ef786f46a msvcr100: Use Context blocking functions in event class. 2023-06-06 21:51:43 +02:00
Piotr Caban
8b442c29a3 make_unicode: Don't use Türkiye as it can't be encoded in some locales. 2023-06-06 21:51:43 +02:00
Alexandre Julliard
6b5561b601 server: Send the APC call data as vararg in the select request. 2023-06-06 21:51:43 +02:00
Alexandre Julliard
e3049f11fa server: Send the APC call data as vararg in the queue_apc request.
To make it possible to support a larger structure.
2023-06-06 21:51:37 +02:00
Alexandre Julliard
0d4f20ca18 kernel32: Use nameless unions/structs. 2023-06-06 21:09:32 +02:00
Alexandre Julliard
0d2046ccf3 kernelbase: Use nameless unions/structs for IO_STATUS_BLOCK. 2023-06-06 21:09:32 +02:00
Alexandre Julliard
4f6a40b1e2 kernelbase: Use nameless unions/structs for CPU-related data. 2023-06-06 21:09:32 +02:00
Alexandre Julliard
9276d53ee8 kernelbase: Use nameless unions/structs for loader data. 2023-06-06 21:09:32 +02:00
Davide Beatrici
59b175d96c wineoss: Use mmdevapi's AudioClient's GetService. 2023-06-06 12:02:18 +02:00
Davide Beatrici
adfc7cef9c winecoreaudio: Use mmdevapi's AudioClient's GetService. 2023-06-06 12:02:18 +02:00
Davide Beatrici
09b2431771 winealsa: Use mmdevapi's AudioClient's GetService. 2023-06-06 12:02:18 +02:00
Davide Beatrici
a587a15bf3 winepulse: Move AudioClient's GetService into mmdevapi. 2023-06-06 12:02:18 +02:00
Davide Beatrici
aa9a69f861 winepulse: Lock sessions in AudioClient's GetService. 2023-06-06 12:02:18 +02:00
Davide Beatrici
d94ac14e2a wineoss: Use mmdevapi's session_wrapper_create. 2023-06-06 12:02:18 +02:00
Davide Beatrici
883f1f3421 winecoreaudio: Use mmdevapi's session_wrapper_create. 2023-06-06 12:02:18 +02:00
Davide Beatrici
ba630ab752 winealsa: Use mmdevapi's session_wrapper_create. 2023-06-06 12:02:18 +02:00
Davide Beatrici
6b9df95006 winepulse: Move session_wrapper_create into mmdevapi. 2023-06-06 12:02:17 +02:00
Davide Beatrici
231e45124b winepulse: Always initialize ref to 1 in session wrapper. 2023-06-06 12:02:17 +02:00
Alex Henrie
76acd5916f msvcrt: Use 'else if' in _wgetcwd.
Fixes a scan-build warning.
2023-06-06 11:52:19 +02:00
Alex Henrie
78ef7c3461 localspl: Fix memory leak in lpr_start_doc (scan-build). 2023-06-06 11:23:28 +02:00
Rémi Bernon
486531ca8a evr: Respect RGB format stride in GetCurrentImage. 2023-06-06 11:22:55 +02:00
Rémi Bernon
df91b31428 evr/tests: Test IMFVideoDisplayControl_GetCurrentImage orientation. 2023-06-06 11:22:52 +02:00
Bernhard Übelacker
345ca7e061 comdlg32: Avoid crash in RemoveControlItem.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51640
2023-06-05 21:48:00 +02:00
Zhiyi Zhang
7770f3173c winegstreamer: Fix check for non-zero padding in mf_media_type_from_wg_format_video().
Similar to 35f9091, IsRectEmpty() is the wrong way to check if padding is empty.
2023-06-05 21:48:00 +02:00
Billy Laws
c29336fa78 configure: Stash host LDFLAGS when configuring cross-compilers. 2023-06-05 21:48:00 +02:00
Shaun Ren
33c8d7b8a5 sapi: Add SpMMAudioOut stub. 2023-06-05 21:48:00 +02:00
Ziqing Hui
7acaf2511d mf/tests: Test output type for WMA decoder DMO. 2023-06-05 21:48:00 +02:00
Ziqing Hui
e0ea1a4f66 mf/tests: Test input type for WMA decoder DMO. 2023-06-05 21:48:00 +02:00
Alex Henrie
8b54c2e35d conhost: Fix memory leak on error path in edit_line_move_to_history (scan-build). 2023-06-05 14:01:07 +02:00
Alex Henrie
01deef2211 jscript: Remove unnecessary call to malloc in strbuf_ensure_size. 2023-06-05 14:01:07 +02:00
Alex Henrie
66929987ab jscript: Fix memory leak on error path in String_replace (scan-build). 2023-06-05 14:01:07 +02:00
Alex Henrie
ea58ec849f wbemprox: Fix memory leak on error path in create_view (scan-build). 2023-06-05 14:01:07 +02:00
Alex Henrie
c39f785b34 msi: Fix memory leak in ready_media (scan-build).
base_url was never freed, and can simply be enlarged instead of copying
it to a new buffer.
2023-06-05 14:01:07 +02:00
Alex Henrie
1da5618cba msi: Make TransformView_Create static. 2023-06-05 14:01:07 +02:00
Alex Henrie
daa20d9d63 msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
Instead of ERROR_SUCCESS.
2023-06-05 14:01:07 +02:00
Alex Henrie
abfc151e0b mscms: Fix double free on error path in EnumColorProfilesA (scan-build).
If fileW is not null, it is freed at the end of the function.
2023-06-05 14:01:07 +02:00
Alex Henrie
935626b488 wusa: Fix double free on error path in read_update_package (scan-build).
If read_identity returns FALSE, it has already called clear_identity.
2023-06-05 14:01:07 +02:00
Piotr Caban
7e060adfcc msvcr100: Use Context blocking functions in critical_section class. 2023-06-05 14:01:07 +02:00
Piotr Caban
51388af06f msvcr100: Use Context to store critical_section owner. 2023-06-05 14:01:07 +02:00
Rémi Bernon
6e23814253 kernelbase: Comment out DECLSPEC_HOTPATCH for ConvertThreadToFiber. 2023-06-05 14:01:07 +02:00
Zebediah Figura
ead421b744 ntdll: Simplify critical section timeout logic.
Make it more consistent, as well. Currently we alternate between 5 seconds and
60; instead just make it a consistent 60 after the first wait.

When +relay is on, always wait for 300 seconds, instead of alternating between
60 and 300.
2023-06-05 14:01:07 +02:00
Zebediah Figura
7520294840 ntdll: Do not throw deadlock exceptions for Wine critical sections.
This is actually a public debugging facility, but currently applies exclusively
to Wine internal locks. While we could expand this feature to all critical
sections, no application is known to depend on it, and the fact that it is a
debugging feature means it is not very likely we will ever find one.

As far as Wine is concerned, I believe this feature is unused. I have not heard
any mention of it in at least five years.

Moreover, we have a different tool for debugging critical section timeouts,
namely, the ERR messages in the same function. These messages provide just as
much information while being less destructive to the process state.
2023-06-05 14:01:07 +02:00
Zebediah Figura
47c8dcc96a wow32: Use spec file imports. 2023-06-05 14:01:07 +02:00
Connor McAdams
7e19aef0f3 uiautomationcore: Get IRawElementProviderAdviseEvents interfaces from embedded fragment root providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-05 14:01:07 +02:00
Connor McAdams
1122fde445 uiautomationcore: Respect ProviderOptions_UseComThreading on advise events interfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-05 14:01:07 +02:00
Connor McAdams
68aa92d6b0 uiautomationcore: Add global interface table helper functions.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-05 14:01:07 +02:00
Connor McAdams
3d0c9efc1e uiautomationcore: Put general purpose helper functions into separate source file.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-06-05 14:01:07 +02:00
Alexandre Julliard
ad7b9726cb xml2: Import upstream release 2.11.4. 2023-06-05 14:01:07 +02:00
Alexandre Julliard
6b678a4e9b xslt: Import upstream release 1.1.38. 2023-06-05 12:09:29 +02:00
Alexandre Julliard
50c5eb31cb nls: Update locale data to CLDR version 43. 2023-06-05 12:07:34 +02:00
Alexandre Julliard
58bc99dce6 kernelbase: Update timezone data to version 2023c. 2023-06-04 18:25:55 +02:00
Giovanni Mascellani
4e88f44270 dxgi: Move Vulkan-specific code to d3d12_swapchain_create_vulkan_swapchain(). 2023-06-02 22:25:02 +02:00
Giovanni Mascellani
a7ff40a324 dxgi: Move non-Vulkan-specific code out of d3d12_swapchain_create_vulkan_swapchain(). 2023-06-02 22:25:02 +02:00
Giovanni Mascellani
6cb23836e7 dxgi: Factor out d3d12_swapchain_create_image_resources(). 2023-06-02 22:25:02 +02:00
Giovanni Mascellani
237062d01f dxgi: Store Vulkan formats in the swapchain object. 2023-06-02 22:25:02 +02:00
Giovanni Mascellani
565917d5d2 dxgi: Rename d3d12_swapchain_prepare_command_buffers(). 2023-06-02 22:25:02 +02:00
Giovanni Mascellani
eec9c3a2f6 dxgi: Document some struct d3d12_swapchain fields. 2023-06-02 22:25:02 +02:00
Rémi Bernon
88cbc08b7f server: Don't reset cursor clipping on foreground thread exit.
It will be reset on foreground input changes, when it happens.
2023-06-02 21:08:34 +02:00
Rémi Bernon
b863d3ab14 winex11: Reset clipping by calling NtUserClipCursor directly. 2023-06-02 21:08:34 +02:00
Rémi Bernon
5bdbbee6f4 winex11: Rely on win32u to reset clipping on display mode change. 2023-06-02 21:08:34 +02:00
Rémi Bernon
18cb55583a win32u: Reset cursor clipping rectangle on display mode change. 2023-06-02 21:08:34 +02:00
Alex Henrie
58a16612bd winegstreamer: Pass a QWORD pointer to IMFByteStream_GetLength.
Fixes warnings on GCC 13.
2023-06-02 20:47:29 +02:00
Rémi Bernon
226f8b7c28 winegstreamer: Implement MF_LOW_LATENCY attribute and latency query. 2023-06-02 20:47:29 +02:00
Rémi Bernon
036166faf7 winegstreamer: Pass desired input queue length to wg_transform_create. 2023-06-02 20:47:29 +02:00
Rémi Bernon
f83922fd98 winegstreamer: Pass desired output plane alignment to wg_transform_create. 2023-06-02 20:47:29 +02:00
Paul Gofman
4f4ee0e16b winegstreamer: Implement MFT_MESSAGE_COMMAND_FLUSH for the H264 decoder. 2023-06-02 20:47:29 +02:00
Paul Gofman
16347299c1 winegstreamer: Implement MFT_MESSAGE_COMMAND_DRAIN for the H264 decoder. 2023-06-02 20:47:29 +02:00
Shaun Ren
db2640d06b sapi: Implement token filtering and sorting in ISpObjectTokenEnumBuilder. 2023-06-02 20:47:29 +02:00
Shaun Ren
f286ee9bfa sapi: Partially reimplement ISpObjectTokenEnumBuilder storing a token array.
This is needed in order to implement filtering and sorting in
ISpObjectTokenCategory::EnumTokens.
2023-06-02 20:47:28 +02:00
Shaun Ren
e071a70ba8 sapi: Implement ISpObjectToken::CreateKey. 2023-06-02 20:47:28 +02:00
Alex Henrie
75de502ba4 iphlpapi/tests: Use ~0u instead of ~0ul in testGetIpNetTable.
Fixes warnings on GCC 13.
2023-06-02 20:47:28 +02:00
Jinoh Kang
078b0219aa server: Update parent window region when exposing previously invisible window.
Fixes: 33617af814
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54949
2023-06-02 20:47:28 +02:00
Jinoh Kang
c368dfebbb user32/tests: Test for update region after showing a child window. 2023-06-02 20:47:28 +02:00
Eric Pouech
af7b97e780 dbghelp: Reimplement EnumerateLoadedModules().
- correctly taking into accoung SYMOPT_INCLUDE_32BIT_MODULES option
- converting, for 32bit modules requested from a 64bit module,
  the system32 paths into syswow64

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-02 20:47:28 +02:00
Eric Pouech
79bae0ed37 dbghelp/tests: Add more tests for module imagename handling.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-02 20:47:25 +02:00
Eric Pouech
ed532a36b3 dbghelp/tests: Review old-wow64 expected values.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-06-02 20:47:01 +02:00
Eric Pouech
76d922983d dbghelp/tests: Fix process kind detection on old Windows machines.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-02 20:35:53 +02:00
Alexandre Julliard
b337c5b1a1 ntdll: Use the default ABI for all functions on the Unix side. 2023-06-02 09:50:50 +02:00
Alexandre Julliard
48537f4e1e ntdll: Use the sysv ABI for setjmp/longjmp on the Unix side. 2023-06-02 09:35:10 +02:00
Alexandre Julliard
e2fac05854 ntdll: Use the sysv ABI for the %fs allocation function. 2023-06-02 09:32:59 +02:00
Zebediah Figura
6bcfab4ca6 winebuild: Use the lretw mnemonic in wine_call_to_16().
We already use it in the __wine_spec_callfrom16_* functions.
2023-06-02 09:32:23 +02:00
Zebediah Figura
63a6f01a70 winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
Presumably at one point there were assemblers that choked on
these. However, currently we use segment prefixes elsewhere in
wine (namely, in the syscall dispatcher), and it seems fair to assume
that a sane compiler should support them.
2023-06-02 09:32:23 +02:00
Paul Gofman
a56e0ba4d4 ws2_32: Test wait alertability in WSAGetOverlappedResult(). 2023-06-02 09:32:23 +02:00
Paul Gofman
98cdd828b6 ws2_32: Make wait in WSAPoll() alertable. 2023-06-02 09:32:23 +02:00
Paul Gofman
36d7bf9507 ws2_32: Make wait in connect() alertable. 2023-06-02 09:32:23 +02:00
Paul Gofman
157633229f ws2_32: Make wait in accept() alertable. 2023-06-02 09:30:00 +02:00
Alex Henrie
36cf952664 bcrypt/tests: Don't allocate inside todo_wine and free outside of it.
Fixes a warning on GCC 13.
2023-06-02 09:29:37 +02:00
Alex Henrie
870a9fcb4c iphlpapi: Add GetPerTcpConnectionEStats stub.
Based on a patch by Austin English.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52868
2023-06-02 09:29:24 +02:00
Piotr Caban
0336d66ea1 msvcr100: Fix next writer unblocking in reader_writer_lock::unlock.
Fixes regression introduced by 256c344550.
2023-06-01 22:00:19 +02:00
Michael Stefaniuc
cf3815dc59 dbghelp: Remove superfluous casts to self. 2023-06-01 22:00:19 +02:00
Michael Stefaniuc
19cc1dbe56 wmvcore: Remove superfluous casts to self. 2023-06-01 22:00:19 +02:00
Michael Stefaniuc
51f8c75ceb ws2_32/tests: Remove superfluous casts to self. 2023-06-01 22:00:19 +02:00
Paul Gofman
e7845fc330 kernelbase: Don't modify non-volatile regs in RaiseException() on x64. 2023-06-01 22:00:19 +02:00
Alistair Leslie-Hughes
1db53cdcbb xactengine: IXACT3EngineImpl_CreateSoundBank isn't a stub. 2023-06-01 22:00:19 +02:00
Alistair Leslie-Hughes
6a685626be xactengine: Correct XACTNOTIFICATIONTYPE_MAX value.
XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT is defined as 18.
2023-06-01 22:00:19 +02:00
Alistair Leslie-Hughes
77e0aae7f3 krnl386.exe16: Don't overflow when calculating size.
The application again the bug, passed 1 as the elem parameter which
doubled the memory being allocated.  When it overflowed (became negative),
the value was passed into GlobalAlloc16 which then failed.

GlobalAlloc16 takes a DWORD parameter, so the value isn't going to be truncated.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53092

Original patch by github user cracyc for winevdm.
2023-06-01 22:00:19 +02:00
Aurimas Fišeras
c1588b1bfd po: Update Lithuanian translation. 2023-06-01 20:57:32 +02:00
Alexandre Julliard
7d279bcd3b include: Only declare __wine_unix_call() on the PE side. 2023-06-01 20:57:32 +02:00
Alexandre Julliard
1aa2f0d128 ntdll: Store the PE function pointers as simple void pointers.
Their prototypes are not meaningful on the Unix side.
2023-06-01 17:24:06 +02:00
Alexandre Julliard
231f1854f5 ntdll: Don't use WINAPI for KeUserModeCallback(). 2023-06-01 15:56:13 +02:00
Alexandre Julliard
091513ffaa ntdll: Don't pass arguments on the stack for user callbacks on ARM. 2023-06-01 15:56:08 +02:00
Alexandre Julliard
d8c39b3d5a ntdll: Don't pass arguments on the stack for user callbacks on i386. 2023-06-01 15:56:08 +02:00
Alexandre Julliard
50ac25554c ntdll: Don't pass arguments on the stack for user callbacks on x86-64.
And convert to the sysv ABI.
2023-06-01 14:26:14 +02:00
Alexandre Julliard
efa99eab0b ntdll: Don't pass arguments on the stack for user callbacks on ARM64. 2023-06-01 12:44:31 +02:00
Tim Clem
6b0836e3f1 loader: Reserve some space for 32-bit top-down allocations on 64-bit. 2023-05-31 22:50:10 +02:00
Rémi Bernon
0a33018211 user32/tests: Test more ClipCursor reset scenarios. 2023-05-31 22:50:10 +02:00
Rémi Bernon
1bf316c0d9 user32/tests: Add a helper to run a test in a process. 2023-05-31 22:50:10 +02:00
Rémi Bernon
29ac54e300 user32/tests: Zero-initialize keyboard state array. 2023-05-31 22:50:10 +02:00
Paul Gofman
596dfad38b winegstreamer: Don't pre-check sample size in wg_transform_read_mf(). 2023-05-31 22:50:10 +02:00
Rémi Bernon
4d1a331c66 winegstreamer: Use the output wg_format in CAPS sink query.
Instead of constraining the output caps to the current resolution, which
breaks when streams with different resolutions are concatenated.
2023-05-31 22:50:10 +02:00
Rémi Bernon
52387aa1a4 winegstreamer: Generate H264 timestamps using the input type frame rate.
And remove h264parse element requirement.
2023-05-31 22:50:10 +02:00
Rémi Bernon
8caaca177e winegstreamer: Use an IMFMediaType for the internal stream type. 2023-05-31 22:50:10 +02:00
Rémi Bernon
6184ac8c9f mf/tests: Add H264 decoder tests with concatenated streams. 2023-05-31 22:50:10 +02:00
Rémi Bernon
46d276188e user32: Remove now unused virtual screen helpers. 2023-05-31 22:50:10 +02:00
Davide Beatrici
c899cc8215 wineoss: Use mmdevapi's AudioClient2. 2023-05-31 22:50:10 +02:00
Davide Beatrici
1d8e171674 winecoreaudio: Use mmdevapi's AudioClient2. 2023-05-31 22:50:10 +02:00
Davide Beatrici
9b8e23b69b winealsa: Use mmdevapi's AudioClient2. 2023-05-31 22:50:10 +02:00
Davide Beatrici
e054f72943 winepulse: Move AudioClient2 into mmdevapi. 2023-05-31 22:50:10 +02:00
Alex Henrie
4050ceb22f iphlpapi: Add GetCurrentThreadCompartmentId stub and a test.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54599
2023-05-31 22:50:10 +02:00
Rémi Bernon
900ba82654 win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect. 2023-05-31 22:50:10 +02:00
Rémi Bernon
3bce247bd2 win32u: Add a separate function to process WM_WINE_CLIPCURSOR. 2023-05-31 22:50:10 +02:00
Rémi Bernon
1cea2be9e8 win32u: Move cursor clipping functions to input.c. 2023-05-31 22:50:10 +02:00
Rémi Bernon
c22c10d6e9 win32u: Move some window functions to window.c. 2023-05-31 22:50:10 +02:00
Rémi Bernon
8f9610fdff server: Use get_hardware_msg_bit consistently to classify messages. 2023-05-31 21:19:35 +02:00
Alexandre Julliard
4a91cf82fd win32u: Don't use WINAPI for private functions. 2023-05-31 13:35:53 +02:00
Alexandre Julliard
a315420d31 win32u: Don't use WINAPI for the font enumeration function. 2023-05-31 13:35:53 +02:00
Alexandre Julliard
ea958228d9 wineps: Don't use CDECL for private functions. 2023-05-31 13:35:06 +02:00
Jacek Caban
8c5dd2214e win32u: Don't use CDECL for gdi_dc_funcs entries. 2023-05-31 12:48:52 +02:00
Jacek Caban
7aa109501c wineps: Don't include gdi_driver.h from PE module. 2023-05-31 12:48:51 +02:00
Alexandre Julliard
56cfbf6b86 include: Only enable the non-inline NtCurrentTeb() on the Unix side. 2023-05-31 12:32:11 +02:00
Martin Storsjö
0fac6bcfa4 include: Fix the use of __getReg for aarch64/msvc mode.
Clang requires the __getReg function to be declared in addition to
be declared as an intrinsic with the pragma.

This fixes the following error:

../wine/include/winnt.h:2412:27: error: call to undeclared library function '__getReg' with type 'unsigned long long (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    return (struct _TEB *)__getReg(18);
                          ^
../wine/include/winnt.h:2412:27: note: include the header <intrin.h> or explicitly provide a declaration for '__getReg'
1 error generated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-05-31 10:08:02 +02:00
Rémi Bernon
7ed63c30e8 imm32: Query the new input context in ImmAssociateContextEx / IACE_DEFAULT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54991
2023-05-30 20:56:57 +02:00
Eric Pouech
542ccaaf84 dbghelp: Better handle very long C++ qualified identifiers in dwarf.
This fixes some crashes especially when dealing with very long C++ names
(like template classes).

Fortunately, dwarf internals don't require type lookup by name (eg.
on forward declaration), so the impact of thrashing some names is limited.

It's very likely native doesn't store directly these very long names
(it could either store the qualified mangled name - which can be way shorter
for template classes - or use the names in lexical hierarchy: both boil down
to storing less information, and recompute it (unmangle or class hierarchy
walk) upon request).
But this would need a proper C++ support in dbghelp. Not for today.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-30 20:56:31 +02:00
Gabriel Ivăncescu
0db9f33b7d mshtml: Handle protocols with no ports when checking target origin.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 20:55:52 +02:00
Davide Beatrici
11cc7af2e6 wineoss: Use mmdevapi's AudioClient3. 2023-05-30 16:42:12 +02:00
Davide Beatrici
f10b5dcb8a winecoreaudio: Use mmdevapi's AudioClient3. 2023-05-30 16:42:12 +02:00
Davide Beatrici
c0ba1bc9bb winealsa: Use mmdevapi's AudioClient3. 2023-05-30 16:42:12 +02:00
Davide Beatrici
a7c23cee02 winepulse: Move AudioClient3 into mmdevapi. 2023-05-30 16:42:12 +02:00
Jacek Caban
cd61eee30f ntdll: Get rid of hacks for direct unix calls. 2023-05-30 16:42:12 +02:00
Gabriel Ivăncescu
964f213e19 mshtml/tests: Test RegExp.toString on object with separate RegExp flag props.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 16:42:12 +02:00
Gabriel Ivăncescu
c0e8f1669f jscript: Throw proper error for out of memory conditions in RegExp.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 16:42:12 +02:00
Gabriel Ivăncescu
e7b06b0ddd jscript: Throw proper error for unexpected quantifiers in RegExp.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 16:42:12 +02:00
Gabriel Ivăncescu
627e5b3bf1 jscript: Return undefined for empty RegExp captures in ES5+ mode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 13:46:18 +02:00
Gabriel Ivăncescu
ce453e4210 mshtml: Fix classList toggle() when return value pointer is NULL.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-30 13:46:18 +02:00
Rémi Bernon
4b5311c7e0 explorer: Remove now unnecessary wine_create_desktop entry. 2023-05-30 13:45:47 +02:00
Rémi Bernon
4fcbbf8c9a winex11: Use the user driver interface to create host desktops. 2023-05-30 13:45:45 +02:00
Rémi Bernon
e0d3683d89 wineandroid: Use the user driver interface to create host desktops. 2023-05-30 13:45:44 +02:00
Rémi Bernon
f7d45533d1 explorer: Call user driver through a new CreateDesktop callback. 2023-05-30 13:45:43 +02:00
Rémi Bernon
0edc848bee explorer: Don't call driver create_desktop if desktop name is "root". 2023-05-30 13:45:42 +02:00
Rémi Bernon
dbb63987f0 explorer: Use root window if driver doesn't implement create_desktop. 2023-05-30 13:45:42 +02:00
Rémi Bernon
f9c1b6af12 explorer: Load graphics driver before calling CreateDesktopW. 2023-05-30 13:45:42 +02:00
Rémi Bernon
8b5bdb10d5 win32u: Call SetDesktopWindow when desktop window is successfully created.
When the default desktop window is created, its parent is always NULL,
and SetDesktopWindow is never called here.
2023-05-30 13:45:39 +02:00
Rémi Bernon
15dfe2ed2d win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWindow.
This doesn't create anything, but instead notifies the user driver of
the current desktop window, either when it is created, or when a thread
calling NtUserGetDesktopWindow receives the current desktop window.
2023-05-30 13:45:33 +02:00
Georg Lehmann
8190aa25a0 winevulkan: Update to VK spec version 1.3.251. 2023-05-30 12:25:25 +02:00
Rémi Bernon
26c6386de9 server: Move set_cursor desktop local variable to wider scope. 2023-05-30 12:25:25 +02:00
Rémi Bernon
61dbfea452 server: Assume the internal clip message to be WM_WINE_CLIPCURSOR. 2023-05-30 12:25:25 +02:00
Alistair Leslie-Hughes
d476a4cad7 include: Use STDMETHOD when returning HRESULT. 2023-05-30 12:24:21 +02:00
Alistair Leslie-Hughes
cd8c46f9e4 xactengine: Correct interfaces for IXACT3Cue. 2023-05-30 12:24:02 +02:00
Paul Gofman
fce615a2c3 ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtUnmapViewOfSectionEx(). 2023-05-30 12:12:09 +02:00
Paul Gofman
3e3ca7dd28 ntdll: Validate flags in NtUnmapViewOfSectionEx(). 2023-05-30 12:12:09 +02:00
Paul Gofman
4806b1c226 kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2(). 2023-05-30 12:12:09 +02:00
Paul Gofman
cd8f0fbac8 ntdll: Factor out unmap_view_of_section() function. 2023-05-30 12:12:09 +02:00
Paul Gofman
03096546c9 ntdll: Support MEM_COALESCE_PLACEHOLDERS in NtFreeVirtualMemory(). 2023-05-30 12:12:09 +02:00
Alexandre Julliard
d5f23441ad ntdll: Use nameless unions/structs for IO_STATUS_BLOCK. 2023-05-30 12:12:09 +02:00
Alexandre Julliard
c3352feb83 ntdll: Use nameless unions/structs for CPU-related data. 2023-05-30 12:12:09 +02:00
Alexandre Julliard
65edf1925f ntdll: Use nameless unions/structs for loader data. 2023-05-30 12:12:09 +02:00
Alexandre Julliard
7f088b0b13 ntdll: Use x18 for the TEB on ARM64. 2023-05-30 12:12:09 +02:00
Alexandre Julliard
62173699c3 include: Don't align the stack for PE builds. 2023-05-30 12:12:09 +02:00
Jinoh Kang
d0d472bb3e ntdll: Don't hard-code DLL manifest resource ID when looking up dependency assembly.
This allows any manifest resource IDs (e.g.,
ISOLATIONAWARE_MANIFEST_RESOURCE_ID) to be recognized when looking up
the assembly manifest of a dependency.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=18889
2023-05-29 19:46:33 +02:00
Jinoh Kang
2f78a8f2bb kernel32/tests: Test loading assembly manifest resource inside dependencies. 2023-05-29 19:46:33 +02:00
Jinoh Kang
d992e2d0aa ntdll: Move ACTCTX lpResourceName validation to RtlCreateActivationContext.
This prevents passing NULL resource name to get_manifest_in_module().
2023-05-29 19:46:32 +02:00
Jinoh Kang
b9507d0e5f kernel32/tests: Test setting lpResourceName to NULL for CreateActCtxW. 2023-05-29 19:46:32 +02:00
Jinoh Kang
f0fcce14a7 kernel32/tests: Remove test for ACTCTX_FLAG_HMODULE_VALID with hModule = NULL case.
Today, the test scenario "ACTCTX_FLAG_HMODULE_VALID but hModule if not
set" is broken and unreliable.  This problem is not evident in WineHQ
batch test runs; rather, the test failure seems to only be triggered
when the kernel32:actctx test is run in isolation.

When the flag ACTCTX_FLAG_HMODULE_VALID is specified in ACTCTXW but
hModule is set to NULL, CreateActCtxW() may encounter different failure
modes depending on the test executable file.  Error codes observed so
far include ERROR_SXS_CANT_GEN_ACTCTX and ERROR_SXS_MANIFEST_TOO_BIG.

When the aforementioned test reports ERROR_SXS_CANT_GEN_ACTCTX on
Windows, an event is recorded in the Windows Event Log as follows:

- Log Name:    Application
- Source:      SideBySide
- Event ID:    59
- Level:       Error
- Description:

  Activation context generation failed for "<path..>\kernel32_test.exe".Error in manifest or policy file "<path..>\kernel32_test.exe" on line 0.
  Invalid Xml syntax.

It appears that the inconsistent failure was caused by Windows trying to
interpret the main executable file of the current process as an XML
manifest file.  This fails due to one or more of the following reasons:

- ERROR_SXS_CANT_GEN_ACTCTX: A valid PE executable that starts with the
  "MZ" signature is not a valid XML file.

- ERROR_SXS_MANIFEST_TOO_BIG (or ERROR_NOT_ENOUGH_MEMORY): The
  executable's size may exceed the limit imposed by the manifest parser.
  This is much more likely for binaries with debugging symbols.

  Meanwhile, winetest.exe bundles a stripped version of the test
  executable (kernel32_test-stripped.exe), which is often smaller than
  the original executable (not stripped).  This probably explains why
  the problem was not visible in batch test runs.

Fix this by removing the failing test entirely.
2023-05-29 19:46:30 +02:00
Jacek Caban
b601e3fa97 win32u: Use syscall interface for all exports. 2023-05-29 11:37:09 +02:00
Jacek Caban
da4663d640 win32u: Don't return full OUTLINETEXTMETRICW from __wine_get_file_outline_text_metric. 2023-05-29 11:37:08 +02:00
Jacek Caban
3dbe180ea5 win32u: Extend NtGdiSetDIBitsToDeviceInternal for SetDIBits implementation. 2023-05-29 11:37:08 +02:00
Jacek Caban
ab88c7cbb1 win32u: Implement NtGdiIcmBrushInfo and use it instead of __wine_get_brush_bitmap_info. 2023-05-29 11:37:07 +02:00
Jacek Caban
0492108ae8 win32u: Use syscall interface for all ntuser functions. 2023-05-29 11:37:06 +02:00
Zhiyi Zhang
f9e77ad77c gdiplus: Support playing back pen custom end line cap.
Fix Cafe Stella (SteamID: 1829980) Flowchart crashes once there are 2 things on it.
2023-05-29 11:26:07 +02:00
Zhiyi Zhang
fea3a7447a gdiplus: Support playing back pen custom start line cap. 2023-05-29 11:26:07 +02:00
Zhiyi Zhang
78261ecb98 gdiplus: Support recording pen custom end line cap. 2023-05-29 11:26:07 +02:00
Zhiyi Zhang
abdd45c41a gdiplus: Support recording pen custom start line cap. 2023-05-29 11:26:06 +02:00
Zhiyi Zhang
f76caee6e7 gdiplus/tests: Add pen custom line cap record and play back tests. 2023-05-29 11:26:06 +02:00
David Kahurani
c1da4fb167 gdiplus: Handle Windows style newline.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54962
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-05-29 11:25:50 +02:00
Nikolay Sivov
7ab7e299c3 ole32/git: Use CRT allocation functions. 2023-05-29 11:25:40 +02:00
Nikolay Sivov
0f72487b25 ole32/filemoniker: Use CRT allocation functions. 2023-05-29 11:25:39 +02:00
Nikolay Sivov
b3c773af71 ole32/compositemoniker: Use CRT allocation functions. 2023-05-29 11:25:37 +02:00
Nikolay Sivov
873d53d864 ole32/itemmoniker: Use CRT allocation functions. 2023-05-29 11:25:35 +02:00
Nikolay Sivov
894f1cde4a ole32/pointermoniker: Use CRT allocation functions. 2023-05-29 11:25:33 +02:00
Nikolay Sivov
a9d3d435bc ole32/classmoniker: Use CRT allocation functions. 2023-05-29 11:25:32 +02:00
Nikolay Sivov
d4cb70107d ole32/antimoniker: Fix Enum() return error code. 2023-05-29 11:25:30 +02:00
Nikolay Sivov
8e4b95e43e ole32/antimoniker: Use CRT allocation functions. 2023-05-29 11:25:28 +02:00
Rémi Bernon
34b990fe17 winegstreamer: Set the default H264 caps profile to "baseline".
Some elements such as openh264dec require it to be present.
2023-05-29 11:24:30 +02:00
Rémi Bernon
2a2ed45566 winegstreamer: Only warn on wg_transform input buffer push errors.
Some GStreamer plugins such as openh264 return spurious errors when
running the tests. They pass the tests successfull if we simply ignore
them.

It does not make much difference with returning the error, as they are
not supposed to happen anyway, and most of the time the MFT clients
don't expect or handle errors.
2023-05-29 11:24:28 +02:00
Rémi Bernon
0c760ef70d winegstreamer: Forbid vaapidecodebin when looking for a specific element.
This will eventually fallback to vaapih264dec and similar decoders if
VA-API plugins are indeed available.
2023-05-29 11:24:11 +02:00
Davide Beatrici
4a2cebad30 wined3d: Fix uninitialized variable warning.
dlls/wined3d/context_vk.c:2377:42: warning: ‘null_binding’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 2377 |                     *null_buffer_binding = b->binding = null_binding;
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-05-29 11:23:55 +02:00
Alexandre Julliard
9ffeb2622d Release 8.9. 2023-05-26 22:23:00 +02:00
Nikolay Sivov
b62f3c881b d2d1: Improve resource properties check when creating a bitmap. 2023-05-26 21:24:14 +02:00
Connor McAdams
a5426f6ace uiautomationcore: Call IRawElementProviderAdviseEvents methods when events are added or removed.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-26 21:24:14 +02:00
Connor McAdams
973d00db1b uiautomationcore: Implement UiaRemoveEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-26 21:24:14 +02:00
Connor McAdams
407ce9a1d5 uiautomationcore: Implement UiaAddEvent.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-26 21:24:14 +02:00
Connor McAdams
a3e71d4c4b uiautomationcore/tests: Add tests for non-nested node events.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-26 21:24:14 +02:00
Connor McAdams
bfdda1c311 uiautomationcore: Fix maximum ID comparison for uia_{prop,pattern,control}_info_from_id().
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-26 21:24:14 +02:00
Rémi Bernon
0e90213ed8 imm32: Silence some unnecessary FIXMEs. 2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
13e94072dd mshtml: Implement indexed props for classList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
e807da918b mshtml: Implement classList's item() method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
808fcf23c7 mshtml: Implement classList's length prop.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
fcaa9bbedc mshtml: Implement classList's toggle() method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
59f7fbeeb0 mshtml: Implement classList's contains() method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Gabriel Ivăncescu
ced7545580 mshtml: Expose the other remaining props for element.classList.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-26 21:24:14 +02:00
Alexandre Julliard
71d9f327f0 ntdll: Allocate the ARM64EC code map when the first ARM64X binary is loaded. 2023-05-26 21:24:14 +02:00
Alexandre Julliard
30040cc9d7 ntdll: Also update the entry point address when loading an ARM64X binary. 2023-05-26 21:24:08 +02:00
Jacek Caban
c73684e533 win32u: Use syscall interface for all ntgdi functions. 2023-05-26 11:09:34 +02:00
Jacek Caban
28642d2239 win32u: Use syscall interface for more clipping functions. 2023-05-26 11:09:33 +02:00
Jacek Caban
1ac5a2e01a win32u: Use syscall interface for more font functions. 2023-05-26 11:09:32 +02:00
Jacek Caban
9b5c916e4e win32u: Use syscall interface for more font functions. 2023-05-26 11:09:32 +02:00
Jacek Caban
384d34d6fb win32u: Use syscall interface for more GDI object functions. 2023-05-26 11:09:31 +02:00
Jacek Caban
5f5082afc9 win32u: Use syscall interface for more DC functions. 2023-05-26 11:09:30 +02:00
Jacek Caban
e4215142f7 win32u: Use syscall interface for DIB functions. 2023-05-26 11:09:30 +02:00
Jacek Caban
859eda026d win32u: Use syscall interface for D3DKMT functions. 2023-05-26 11:09:29 +02:00
Jacek Caban
4aecddf06a win32u: Use syscall interface for more bitmap functions. 2023-05-26 11:09:28 +02:00
Zebediah Figura
47ee70a84e xactengine: Use the xaudio2 channel.
Unify this with the rest of xaudio.
2023-05-26 11:08:46 +02:00
Anton Baskanov
69d088ca5b dsound: Take distance and Doppler factor into account. 2023-05-26 11:08:09 +02:00
Anton Baskanov
23eca82ac3 dsound/tests: Test distance and Doppler factor. 2023-05-26 11:08:09 +02:00
Anton Baskanov
ef2d8d8e5d dsound: Use the value from SetFrequency when 3D processing is disabled. 2023-05-26 11:08:09 +02:00
Anton Baskanov
e7304f7dc6 dsound/tests: Test Doppler shift with 3D processing disabled. 2023-05-26 11:08:09 +02:00
Anton Baskanov
15de4251d1 dsound: Fix Doppler shift in head-relative mode. 2023-05-26 11:08:09 +02:00
Anton Baskanov
aed3f7fb4d dsound/tests: Test Doppler shift in head-relative mode. 2023-05-26 11:08:09 +02:00
Floris Renaud
fd6fc3de59 po: Update Dutch translation. 2023-05-26 11:07:39 +02:00
Alex Henrie
c293cd781f setupapi: Use CRT functions for memory allocation where possible.
The big win here is getting rid of the reimplementation of wcsdup.
2023-05-25 22:18:57 +02:00
Ziqing Hui
678a815640 mf/tests: Add tests for MPEG4 media sink. 2023-05-25 22:06:00 +02:00
Jactry Zeng
7dcf573c7d shell32: Update view mode flags while creating IShellView for IExplorerBrowser. 2023-05-25 17:49:00 +02:00
Jactry Zeng
3ed6413a50 shell32: Reimplement IExplorerBrowser_SetFolderSettings() with support of setting flags. 2023-05-25 17:49:00 +02:00
Jactry Zeng
49490f8567 shell32/tests: Move tests of IExplorerBrowser_SetFolderSettings() to a separated function and more tests. 2023-05-25 17:49:00 +02:00
Jactry Zeng
e80d8fe098 shell32: Reimplement IFolderView2_SetCurrentViewMode() with modern behaviours.
Only pre-win7 systems return E_INVALIDARG for invalid values, and only pre-vista
systems accept FVM_AUTO as a view mode, others fall it back to FVM_ICON. Let's
switch to modern behaviours, so that we don't need additional code for handling
that when using it to implement IExplorerBrowser_SetFolderSettings().
2023-05-25 17:48:58 +02:00
Jactry Zeng
7f36382006 shell32: Implement IFolderView2_{Get, Set}CurrentFolderFlags(). 2023-05-25 17:48:58 +02:00
Jactry Zeng
c8209830d5 shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags(). 2023-05-25 17:48:57 +02:00
Jacek Caban
cd09a22439 win32u: Use syscall interface for bitblt functions. 2023-05-25 16:26:08 +02:00
Jacek Caban
0c73b717fb win32u: Pass blend function as DWORD to NtGdiAlphaBlend. 2023-05-25 16:26:08 +02:00
Jacek Caban
7acaba6774 win32u: Use syscall interface for more path functions. 2023-05-25 16:26:07 +02:00
Jacek Caban
6452d293de win32u: Use syscall interface for more printer functions. 2023-05-25 16:26:06 +02:00
Jacek Caban
0cccc08cd6 win32u: Use syscall interface for more painting functions. 2023-05-25 16:26:06 +02:00
Jacek Caban
8cc95b5487 win32u: Use syscall interface for more painting functions. 2023-05-25 16:26:05 +02:00
Jacek Caban
3b01fb113f win32u: Use syscall interface for NtGdiOpenDCW. 2023-05-25 16:26:04 +02:00
Alexandre Julliard
00538ed195 configure: Don't create the wine64 symlink in multi-arch builds. 2023-05-25 16:21:17 +02:00
Alexandre Julliard
f6f38e2490 server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process. 2023-05-25 16:21:17 +02:00
Alexandre Julliard
c306e76645 server: Add a separate request to create a memory view for an image mapping. 2023-05-25 16:21:17 +02:00
Alexandre Julliard
d84704192e ntdll: Add a separate helper function for freeing a placeholder. 2023-05-25 16:21:17 +02:00
Paul Gofman
f99b972771 ntdll/tests: Add more tests for placeholders. 2023-05-25 16:21:17 +02:00
Paul Gofman
4142d1e049 ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory(). 2023-05-25 16:21:17 +02:00
Paul Gofman
04e2b02aa9 ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx(). 2023-05-25 16:21:17 +02:00
Paul Gofman
b7ea896fdb ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view(). 2023-05-25 16:21:17 +02:00
Paul Gofman
383d43d6cc ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Paul Gofman
9dd6a66060 ntdll: Pass allocation type to map_view().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Paul Gofman
376bd69c42 ntdll: Handle NULL process handle in MapViewOfFile3().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu
35b198c561 mshtml: Stop the plugin when detaching the plugin host.
Otherwise Gecko keeps it running when it is created via put_classid, and
it leaks everything due to holding a ref to it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu
5c939222d3 mshtml: Release ref from the element when detaching the plugin host.
When the plugin host is created, its only ref is being held by the element
it is associated with.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu
08dc691dfb mshtml: Explicitly hold ref to the plugin host in NPP_New.
Currently this worked by luck because it is leaking; the element holding
it never releases it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Aurimas Fišeras
baebde4b29 po: Update Lithuanian translation. 2023-05-25 11:04:30 +02:00
Alex Henrie
624b008f2e mshtml: Only allow one thread to use Gecko.
The new test doesn't pass, but it doesn't crash either, and that's
enough to fix the WinZip installer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54071
2023-05-25 11:04:23 +02:00
Francois Gouget
5d516dd931 wininet/tests: Consistently use strlen() instead of lstrlenA(). 2023-05-25 11:04:10 +02:00
Francois Gouget
a551821a4e wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests. 2023-05-25 11:04:09 +02:00
Alex Henrie
e7c6cdddf3 mshtml: Fix memory leak on error path in add_func_info (Coverity). 2023-05-25 11:04:06 +02:00
Tim Clem
a001c0a030 wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
lparam != 0 does not imply lparam_size is big enough for a MSG, so we
can end up manipulating memory past the end of the buffer.

Co-authored-by: Jacek Caban <jacek@codeweavers.com>
2023-05-25 11:03:58 +02:00
Alexandros Frantzis
e10da7ab2e winewayland.drv: Update desktop window size on display changes.
Update the desktop window size to match the current virtual screen rect.
2023-05-24 22:20:14 +02:00
Alexandros Frantzis
82c6becb04 winewayland.drv: Update display devices from the desktop window thread.
Use a driver internal window message to dispatch updates to display devices from
the desktop window thread.
2023-05-24 22:20:12 +02:00
Alexandros Frantzis
1a336a259c winewayland.drv: Make access to Wayland output information thread-safe.
Store all incoming Wayland output state as pending and make it current
in a thread-safe way when the "done" event arrives. This enables other
threads, with proper locking, to safely read consistent and complete
Wayland output information.
2023-05-24 22:20:11 +02:00
Alexandros Frantzis
0031c3b46c winewayland.drv: Handle dynamic Wayland output events.
Handle Wayland output events sent after process initialization,
and update the win32u display devices when handling these
events in the desktop window process.
2023-05-24 22:20:09 +02:00
Alexandros Frantzis
4a69ec6f96 winewayland.drv: Read and dispatch Wayland events.
Create a dedicated thread from which we read and dispatch Wayland events
(beyond the initial ones).
2023-05-24 22:20:08 +02:00
Alexandros Frantzis
e352fa19fa winewayland.drv: Allocate process_wayland statically.
There is currently no benefit to dynamic allocation, and static
allocation allows us to simplify some aspects of initialization.
2023-05-24 22:20:06 +02:00
Zebediah Figura
5eeed9ab26 mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat. 2023-05-24 21:08:32 +02:00
Zebediah Figura
d41303b6d0 mmdevapi/tests: Run property store tests for all devices. 2023-05-24 21:08:32 +02:00
Zebediah Figura
fd757e6ba4 mmdevapi/tests: Remove some unnecessary workarounds. 2023-05-24 21:08:32 +02:00
Paul Gofman
1ea5d470a2 nsiproxy.sys: Detect PPP interface type from flags on Linux.
VPN interfaces often have ARPHRD_NONE in ifr_hwaddr.sa_data
but IFF_POINTOPOINT flag set.
2023-05-24 21:08:32 +02:00
Davide Beatrici
b87ee7d484 wineoss: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Davide Beatrici
396acb0ec3 winecoreaudio: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Davide Beatrici
b08d7efa5e winealsa: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Anton Baskanov
b923aea734 dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX]. 2023-05-24 18:39:47 +02:00
Anton Baskanov
3d5f2f8796 dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX. 2023-05-24 18:39:47 +02:00
Anton Baskanov
315e998951 dsound: Limit the Doppler shift to +-0.5 speed of sound. 2023-05-24 18:39:47 +02:00
Anton Baskanov
8acc3b83e8 dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound. 2023-05-24 18:39:47 +02:00
Anton Baskanov
81feccb7e3 dsound: Use relative velocity to compute Doppler shift.
It's less physically correct but closer to the native behavior.
2023-05-24 18:39:47 +02:00
Anton Baskanov
8c26e7e592 dsound/tests: Test Doppler shift with moving listener. 2023-05-24 18:39:47 +02:00
André Zwing
dfe94187c0 winedump: Recognize RISC-V PEs. 2023-05-24 18:39:47 +02:00
Alexandre Julliard
0b23d22bd6 start: Implement the /machine option. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
850e3bcc5d start: Use CRT allocation functions. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
df0483aa9b start: Add a separate helper to parse command line options. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
4ae7de5bf7 start: Move memory allocation into parse_title(). 2023-05-24 15:43:54 +02:00
Alexandre Julliard
d203af0fd7 kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
ca7a7abe85 kernelbase: Add a helper function to validate process/thread attributes. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
4356fe0d83 ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes. 2023-05-24 15:43:54 +02:00
Alexandre Julliard
bce5a7910e ntdll: Don't even try to load .so libraries for a different machine.
We are not going to support multi-machine .so modules.
2023-05-24 15:43:43 +02:00
Davide Beatrici
f266dc094a explorer: Fix uninitialized variable warning.
programs/explorer/desktop.c:104:16: warning: ‘hres’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  104 |         return hres;
      |                ^~~~
2023-05-23 22:36:50 +02:00
Bartosz Kosiorek
f898f206f6 gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
Using TransformMatrixPoints is not needed and all values could
be taken from transformation matrix:
 - ShearX from m11, m12
 - ShearY from m21, m22
 - Translation mdx, mdy

The result could be calculated by taking destination points values:
 {{0.0, 0.0}, {1.0, 0.0}, {0.0, 1.0}}

and calculating it with GdipTransformMatrixPoints function:
  dst_to_src_points[0].X = dst_to_src.matrix[4];
  dst_to_src_points[0].Y = dst_to_src.matrix[5];
  dst_to_src_points[1].X = dst_to_src.matrix[0] + dst_to_src.matrix[4];
  dst_to_src_points[1].Y = dst_to_src.matrix[1] + dst_to_src.matrix[5];
  dst_to_src_points[2].X = dst_to_src.matrix[2] + dst_to_src.matrix[4];
  dst_to_src_points[2].Y = dst_to_src.matrix[3] + dst_to_src.matrix[5];
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek
382603afa7 gdiplus: Use float increment instead of calculation to impove perf.
Improves efficiency by using addition instead of float numbers
multiplication for destination points.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek
9705fbd493 gdiplus: Use iterator instead calculate pointer position every time.
With previous implementation, every iteration pointer value was
calculated by taking row and column of the image.
It needs multiply calculation. With current implementation,
pointer value calculation, is replaced with iterator, which takes
next pixel data.

It improves efficiency by using addition instead of multiplication
for iterating through points data.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek
66ebf9169e gdiplus: Limit calculating transformation points to resampling.
Calculating transformation points and not using it it is a waste
of CPU time. With this patch the code was moved where it is used.
It is improving performance of GdipDrawImagePointsRect when
resampling is not needed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00
Paul Gofman
71da110b46 wined3d: Use RB tree for storing lights. 2023-05-23 22:19:30 +02:00
Paul Gofman
debe2bd632 wined3d: Track per light state changes in stateblock. 2023-05-23 22:19:30 +02:00
Paul Gofman
45ee728dbb wined3d: Only set changed.lights if wined3d_light_state_enable_light() changed state. 2023-05-23 22:19:30 +02:00
Jactry Zeng
3a59a4d1cd comdlg32: Set a size for toolbar buttons of the file access dialog.
The default size is too small for HiDPI, so set the same height as
the look-in combo box to it. And since in owner draw mode, the height
of combo box is calculated and updated when drawing items, this patch
set button height for toolbar from FILEDLG95_LOOKIN_DrawItem() too.
2023-05-23 22:19:30 +02:00
Jactry Zeng
80b332c050 comdlg32: Calculate button height of toolbar with DPI for item dialog. 2023-05-23 22:19:30 +02:00
Zebediah Figura
bc9c8684fd qcap/tests: Remove duplicated tests for allocator identity.
We test once above that the source does not use the existing allocator, but then
implicitly release the allocator we are testing against (when the source assigns
a new allocator to the sink). As a result, these ok() statements were testing
that newly allocated allocators had a different address than the original
allocator, which of course sometimes fails.

Since we don't need to perform this test more than once anyway, just get rid of
the offending ok() statements.
2023-05-23 22:19:30 +02:00
Ziqing Hui
51c5f44bd7 winegstreamer: Implement Discontinuity for WMV decoder DMO. 2023-05-23 22:19:30 +02:00
Ziqing Hui
2a83ef077f winegstreamer: Implement GetInputStatus for WMV decoder DMO. 2023-05-23 22:19:30 +02:00
Ziqing Hui
b7e4b5247b mf/tests: Test Flush for WMV decoder DMO. 2023-05-23 22:19:30 +02:00
Ziqing Hui
4f22db5b9f mf/tests: Test Discontinuity for WMV decoder DMO.
The tests show that input status is not affected by it.
2023-05-23 22:19:30 +02:00
Ziqing Hui
ebd3bbc6c8 mf/tests: Test GetInputStatus for WMV decoder DMO. 2023-05-23 22:19:30 +02:00
Rémi Bernon
5a74f001ac mf/tests: Add some IV50 encoder / decoder tests. 2023-05-23 14:43:12 +02:00
Rémi Bernon
8d699e5a14 mf/tests: Add more video processor tests with RGB555 format. 2023-05-23 14:43:12 +02:00
Rémi Bernon
db1e98a639 mf/tests: Move broken video processor aperture to a separate test. 2023-05-23 14:43:12 +02:00
Rémi Bernon
d4cf74dabf mf/tests: Rename some variables in video processor transform tests. 2023-05-23 14:43:12 +02:00
Rémi Bernon
cb3a2637e4 mf/tests: Simplify video processor expected input types checks.
And fix W11 results.
2023-05-23 14:43:12 +02:00
Rémi Bernon
c0877844e7 windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController. 2023-05-23 14:43:12 +02:00
Rémi Bernon
eab7b95bab dinput/tests: Test that FromGameController also works with IRawGameController. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
df7e680cd2 d2d1: Create GDI-compatible swapchain only for corresponding target usage. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
6526de5c5a d2d1: Improve GetDC()/ReleaseDC() handling on render targets. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
981db8313f d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
612020f952 d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
ae43a87d01 d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
02919e4298 d2d1/tests: Use test context for more tests. 2023-05-23 14:43:12 +02:00
Nikolay Sivov
df50411fac d2d1: Implement IsSupported() for DC target. 2023-05-23 14:43:12 +02:00
Davide Beatrici
f5baa375c8 winepulse: Implement is_format_supported in unixlib. 2023-05-23 14:43:12 +02:00
Davide Beatrici
2127a8a0d7 wineoss: Implement get_device_period in unixlib. 2023-05-23 14:43:12 +02:00
Davide Beatrici
d6728615c9 winecoreaudio: Implement get_device_period in unixlib. 2023-05-23 14:43:12 +02:00
Davide Beatrici
1adee1bce4 winealsa: Implement get_device_period in unixlib. 2023-05-23 14:43:12 +02:00
Anton Baskanov
64cdecc632 dsound: Avoid division by zero when calculating Doppler shift. 2023-05-23 14:43:12 +02:00
Anton Baskanov
feaaa5bcc3 dsound: Change the speed of sound to 360. 2023-05-23 14:43:12 +02:00
Anton Baskanov
24fa177c00 dsound: Enable Doppler shift. 2023-05-23 14:43:12 +02:00
Anton Baskanov
3c349125ea dsound/tests: Add tests for Doppler shift. 2023-05-23 14:43:12 +02:00
Anton Baskanov
ef275facac dsound: Store the frequency of 3D buffers separately. 2023-05-23 14:43:12 +02:00
Alexandre Julliard
0433db1eb1 ntdll: Add a helper function to map the main exe module. 2023-05-23 14:43:11 +02:00
Alexandre Julliard
ebc1b09915 ntdll: Support the machine extended parameter in NtMapViewOfSectionEx(). 2023-05-23 13:24:32 +02:00
Alexandre Julliard
af01944a8c ntdll: Use STATUS_NOT_SUPPORTED for internal machine mismatch errors.
It corresponds to what NtMapViewOfSectionEx() returns with an
explicitly specified machine.
2023-05-23 11:13:25 +02:00
Alexandre Julliard
685f1b6b05 ntdll: Catch MEM_EXTENDED_PARAMETER duplicates for all types. 2023-05-23 10:35:55 +02:00
Piotr Caban
d225fb8e71 wineps: Fix download font escapement.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54956
2023-05-23 09:28:43 +02:00
Piotr Caban
189606e4bf wineps: Mark font as unset in PSDRV_SelectFont. 2023-05-23 09:28:43 +02:00
Piotr Caban
fe11126901 wineps: Remove no longer used PSDRV_SelectDownloadFont helper. 2023-05-23 09:28:43 +02:00
Piotr Caban
0e976ca544 gdi32: Abort printing if DeleteDC is called before EndDoc. 2023-05-23 09:28:43 +02:00
Piotr Caban
083946dbf4 winspool: Add AbortPrinter implementation. 2023-05-23 09:28:43 +02:00
Piotr Caban
1b2db7f171 localspl: Implement AbortPrinter while spooling. 2023-05-23 09:28:43 +02:00
Brendan Shanks
8a9c955b56 win32u: Propagate WM_MOUSEHWHEEL to the parent window in DefWindowProc(). 2023-05-23 09:28:16 +02:00
Zebediah Figura
38b0a4005a qcap/audiorecord: Implement IAMBufferNegotiation::SuggestAllocatorProperties().
Needed by the Microsoft Silverlight configuration tool.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36230
2023-05-22 22:56:50 +02:00
Zebediah Figura
c41ba79df7 qcap/audiorecord: Stub IAMBufferNegotiation.
Needed by the Microsoft Silverlight configuration tool.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36230
2023-05-22 22:56:49 +02:00
Zebediah Figura
e852186ad3 qcap/audiorecord: Implement IKsPropertySet::Get(&AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY).
Needed by the Microsoft Silverlight configuration tool.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36230
2023-05-22 22:56:48 +02:00
Zebediah Figura
76fcbd144e qcap/audiorecord: Stub IKsPropertySet. 2023-05-22 22:56:47 +02:00
Zebediah Figura
16aee0766a qcap/audiorecord: Implement IAMStreamConfig::SetFormat() and IAMStreamConfig::GetFormat().
Needed by the Microsoft Silverlight configuration tool.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36230
2023-05-22 22:56:46 +02:00
Connor McAdams
32cb8bd152 uiautomationcore: Don't leak parent node in conditional_navigate_uia_node.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-22 22:56:29 +02:00
Connor McAdams
7f119bad76 include: Define the remaining missing provider interfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-22 22:56:29 +02:00
Bartosz Kosiorek
413fc34be7 gdiplus: Fix GdipGetGenericFontFamily functions according to native gdiplus.dll. 2023-05-22 22:56:13 +02:00
Hans Leidekker
e2458a88c8 winhttp/tests: Fix a test failure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54960
2023-05-22 11:10:27 +02:00
Rémi Bernon
88a34c74b0 dinput: Delay input thread start until the first device acquire.
Some applications create a IDirectInput and IDirectInputDevice instance
from their DllMain procedure, and starting the thread on the first user
creation and waiting for it to start will deadlock on the loader lock.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54916
2023-05-22 11:10:07 +02:00
Rémi Bernon
cb7bb2284c dinput: Avoid remapping already mapped objects in BuildActionMap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-22 11:10:07 +02:00
Jinoh Kang
839a53797e imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
Fixes: 8ae0c30823
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54965
2023-05-22 11:09:25 +02:00
Brendan Shanks
f4a43a8b2f winemac: Explicitly link against Foundation.framework. 2023-05-19 15:17:36 -05:00
Rémi Bernon
df6bc20b90 dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
5b648e7e5d dinput: Reset action map mapping before loading the registry mapping.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
b95c820557 dinput: Delete the action mapping registry key on SetActionMap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
bed1ecba2f dinput/tests: Add some tests with keyboard action mapping.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Zebediah Figura
a8c56b1939 user32/tests: Do not stop checking the message list when skipping an optional or unsupported message.
This was either added by accident, or in an attempt to stop checking the message
list once we hit a winevent hook todo [and accidentally given too wide of a
scope]. However, the same commit also uses a global counter to ensure that only
one winevent todo is printed, so we don't need to break in the first hunk
anyway.

For trailing winevent todos, there is no global counter, so instead move the
goto inside the if block.

Fixes: a72bffe768

The test marked todo here was broken by 33617af814, which was hidden due to the above commit.
2023-05-19 09:26:27 -05:00
Zebediah Figura
9b6f65cc09 user32/tests: Do not dump the message sequence when a todo succeeds on Windows. 2023-05-19 09:26:27 -05:00
Zebediah Figura
b5958a7836 qcap/tests: Test audio capture streaming. 2023-05-19 09:05:34 -05:00
Zebediah Figura
aece95c9d8 qcap/audiorecord: Implement streaming. 2023-05-19 09:05:33 -05:00
Zebediah Figura
5bac0fabb9 qcap/audiorecord: Open a winmm device when connecting. 2023-05-19 09:05:32 -05:00
Zebediah Figura
348205b097 qcap/tests: Test audio capture allocator properties. 2023-05-19 09:05:32 -05:00
Zebediah Figura
c808b30b2c qcap/tests: Add tests for audio capture pin connection. 2023-05-19 09:05:32 -05:00
Zebediah Figura
4925b34c90 qcap/audiorecord: Implement DecideBufferSize(). 2023-05-19 09:05:30 -05:00
Mohamad Al-Jaf
9c60c34c94 msmpeg2vdec: Add DllGetClassObject() stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54955
2023-05-19 08:50:46 -05:00
Rémi Bernon
65d0f7a756 imm32: Remove now unused members from ime_private.
And move its definition to ime.c.
2023-05-19 08:49:09 -05:00
Rémi Bernon
d61a786461 imm32: Get rid of the graphics driver loading mechanism. 2023-05-19 08:49:09 -05:00
Rémi Bernon
f7d4eec459 winex11: Use the default IME implementation for ImeSelect. 2023-05-19 08:49:08 -05:00
Rémi Bernon
cbf719d72d winex11: Remove now unnecessary selected HIMC tracking code. 2023-05-19 08:49:08 -05:00
Rémi Bernon
9f05a79bd6 winex11: Drop the x11drv_ime_update_association user callback. 2023-05-19 08:49:08 -05:00
Piotr Caban
55b9b2f675 gdi32: Mark objects as not used before clearing handles table in emf_reset.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54936
2023-05-19 08:34:46 -05:00
Piotr Caban
410b0f4d51 wineps: Don't store ImageableArea in print_ctx. 2023-05-19 08:34:35 -05:00
Piotr Caban
cdb57c524c wineps: Don't store logPixels in print_ctx. 2023-05-19 08:34:35 -05:00
Piotr Caban
3fca78fbe4 wineps: Remove unused fields from print_ctx. 2023-05-19 08:34:35 -05:00
Piotr Caban
e70aa825cf wineps: Simplify PSDRV_UVMetrics implementation. 2023-05-19 08:34:35 -05:00
Piotr Caban
1cccaa1e8a wineps: Mark default DEVMODE const. 2023-05-19 08:34:35 -05:00
Piotr Caban
97cde730c0 wineps: Remove unix_ prefix from find_pagesize and find_slot functions. 2023-05-19 08:34:35 -05:00
Piotr Caban
36a9bc820a wineps: Define PSDRV_DEVMODE in unixlib.h. 2023-05-19 08:34:35 -05:00
Piotr Caban
f848b9f846 wineps: Move BANDINFOSTRUCT definition to unixlib.c. 2023-05-19 08:34:33 -05:00
Sebastian Mayr
7a2b34c324 wined3d: Improve d3d8 compatibility of texture filters.
In d3d8, setting texture filters to invalid values does not yield an
error when calling IDirect3DDevice8::ValidateDevice. Some applications,
such as Worms Blast, rely on this behaviour.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54898
2023-05-18 15:40:17 -05:00
Sebastian Mayr
38f3f83943 d3d8/tests: Test IDirect3DDevice8::ValidateDevice() with various min, mag and mip filters.
This test is an adaptation of the corresponding d3d9 test.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54898
2023-05-18 15:40:14 -05:00
Brendan Shanks
a4f19d1879 winemac: Add missing event to dbgstr_event(). 2023-05-18 15:17:18 -05:00
Piotr Caban
3d9d52dbfc localspl: Fix wow64_start_doc Wow64 entry point. 2023-05-18 13:49:11 -05:00
Bartosz Kosiorek
9749caf78e gdiplus: Improve performance of gdip_transform_points.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-18 13:48:07 -05:00
Paul Gofman
901c8b90a1 ntdll: Handle context overlap in call_user_exception_dispatcher() on x64. 2023-05-18 09:15:21 -05:00
Nikolay Sivov
a79d27c04a mfmediaengine: Implement GetNumberOfStreams().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-18 09:14:32 -05:00
Rémi Bernon
b9bfd74acc winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks. 2023-05-18 09:14:15 -05:00
Rémi Bernon
c28f571a55 winex11: Include the XIM preedit and result text into the IME updates. 2023-05-18 09:09:14 -05:00
Rémi Bernon
9b4c09d8c4 winex11: Post internal WM_IME_NOTIFY wparam on composition updates. 2023-05-18 09:09:14 -05:00
Rémi Bernon
ecd8c9310f winex11: Set or clear XIC focus using a xim_set_focus helper. 2023-05-18 09:09:14 -05:00
Rémi Bernon
4e92c57221 winex11: Send an internal WM_IME_NOTIFY wparam to set open status. 2023-05-18 09:09:14 -05:00
Rémi Bernon
5d0526d298 winex11: Keep track of the cursor position on the XIM side.
The caret callback is rarely used and XIM also doesn't support changing
the preedit string, so we cannot support composition string updates from
the PE side either. Requesting only the cursor position, is then likely
not useful.
2023-05-18 09:09:14 -05:00
Rémi Bernon
e70b1b722a winex11: Use ime_comp_buf != NULL instead of ximInComposeMode. 2023-05-18 09:09:14 -05:00
Eric Pouech
2d4742aa93 kernel32/tests: Harden some wow64 module tests.
Showing some cases where loader should unredirect some
module paths from syswow64 to system32.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-18 09:09:14 -05:00
Esme Povirk
629d2d09a0 mscoree: Search the Mono GAC before the appdomain paths. 2023-05-18 09:09:14 -05:00
Esme Povirk
ddc9ef10c9 mscoree: Use updated preload hook function. 2023-05-18 09:09:14 -05:00
Esme Povirk
0a3fe99d2b mscoree: Update Wine Mono to 8.0.0. 2023-05-18 05:30:36 -05:00
Bernhard Kölbl
7056f421a0 mf: Don't try to clone non existent topo connections.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-05-18 05:29:57 -05:00
Anton Baskanov
79ce998e79 ir50_32: Let video_decoder flip the video instead of doing it manually.
Fixes upside-down videos in multiple games (e.g. Hard Truck 2, Firestarter).
2023-05-18 05:29:32 -05:00
Anton Baskanov
c73e8b8551 winegstreamer: Don't force top-down orientation when changing output format in video_decoder. 2023-05-18 05:29:32 -05:00
Anton Baskanov
dd20b89571 winegstreamer: Add a second videoconvert before the videoflip.
videoflip can't handle 15/16-bit RGB. Fixes video playback in multiple games (e.g. Hard Truck 2, Firestarter).
2023-05-18 05:29:30 -05:00
Bartosz Kosiorek
9a94647656 gdiplus: Improve performance of GdipInvertMatrix.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-18 05:29:12 -05:00
Jinoh Kang
e308b19ac8 combase: Prevent use-after-free due to a race with proxy_manager_destroy.
Today, find_proxy_manager() may return a proxy manager that is about to
be freed.  This happens when the proxy manager's reference count reaches
zero, but proxy_manager_destroy() has not removed the proxy manager from
the apartment proxy list.

Fix this by incrementing the reference count only if it is already
nonzero.  If the reference count is zero, any reference to the proxy
manager will become invalid after the current thread leaves the critical
section (apt->cs).  This is because proxy_manager_destroy() will proceed
to destroy the proxy manager after the apartment lock (apt->cs) is
released.

An alternative solution would be to prevent find_proxy_manager from
observing the zero reference count in the first place.  Multiple
approaches have been considered for implementing this solution, but were
eventually dropped due to several disadvantages when applied to the
current Wine codebase:

1. Always acquire the apartment lock from the proxy manager's Release()
   method, and hold the lock until the proxy manager is completely
   removed from the list if the reference count drops to zero.

   This requires handling the special case when the proxy manager's
   parent apartment has been destroyed.  When an apartment is destroyed,
   it sets the `parent` field of each proxy manager that was previously
   owned by the apartment to NULL.  This means that each access to
   `This->parent->cs` has to be guarded by a NULL check for
   `This->parent`.

   Even if `parent` were never NULL, unconditionally acquiring a lock
   may unnecessarily block the subroutine and introduce contention.

2. Opportunistically decrement the reference count without holding the
   lock, but only if the count is greater than 1.  This approach is
   still not free from the NULL parent apartment problem.

3. Check for any concurrent reference count change from
   proxy_manager_destroy(), and bail out if such change has occurred.
   This makes it possible for the proxy manager's AddRef() method to
   return 1, which is unusual.
2023-05-18 05:27:44 -05:00
Jinoh Kang
f55f0b8342 combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
Today, find_proxy_manager() tests if AddRef() returns 0 in an attempt to
protect against a race condition bug.

Note that AddRef does not return zero in normal circumstances, since
AddRef returns the reference count after the increment, not before.

Fix this by comparing the return value of AddRef() against 1, not 0.
2023-05-18 05:27:41 -05:00
Francois Gouget
b97090214b gdi32/tests: Use skip() for APIs which are stubs in some drivers. 2023-05-17 08:06:13 -05:00
Francois Gouget
2cb4fa04cf wineps: Fix the spelling of a constant. 2023-05-17 07:27:14 -05:00
Nikolay Sivov
c627c168c2 wineps: Fix names in paper sizes list.
This is likely a regression from cd4f48f229.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:27:05 -05:00
Piotr Caban
9fd82b6156 winspool: Register wineps print processor before adding printer. 2023-05-17 07:19:16 -05:00
Piotr Caban
9f578f6a30 wineps: Use default devmode if winspool returns fake data.
Fixes regression caused by aa3699dd59.
2023-05-17 07:19:14 -05:00
Piotr Caban
407b01c4c3 wineps: Implement Wow64 entry points in the Unix library. 2023-05-17 07:19:14 -05:00
Piotr Caban
ec6062c572 wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
Doing it this way avoids passing Unix library pointers throught PE.
2023-05-17 07:19:09 -05:00
Hans Leidekker
a894528071 webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option(). 2023-05-17 07:14:49 -05:00
Nikolay Sivov
c9b68daf44 d2d1: Implement IsSupported() for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Zhiyi Zhang
4150d7282e d2d1/tests: Add some IsSupported() tests for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Ziqing Hui
cfbcd014c6 mfreadwrite/tests: Add tests for MP4 sink writer. 2023-05-17 07:13:09 -05:00
Rémi Bernon
fbfc724d69 quartz: Avoid reading past the end of a buffer (Valgrind). 2023-05-16 15:47:11 -05:00
Mohamad Al-Jaf
6243093fba msauddecmft: Add DllGetClassObject() stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54934
2023-05-16 08:25:08 -05:00
Rémi Bernon
ff60152ff0 winegstreamer: Remove unnecessary wg_parser_stream their_src pad. 2023-05-16 08:18:19 -05:00
Rémi Bernon
f595a3f904 winegstreamer: Remove unnecessary wg_parser their_sink pad. 2023-05-16 08:18:19 -05:00
Rémi Bernon
f3b9ea7aef winegstreamer: Free the params structure after setting the pool meta (Valgrind). 2023-05-16 08:18:19 -05:00
Rémi Bernon
25cb216546 winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind). 2023-05-16 08:18:19 -05:00
Giovanni Mascellani
059f79be5d winegstreamer: Free the GStreamer buffer when freeing a WG parser stream. 2023-05-16 08:18:19 -05:00
Francois Gouget
477df6231a dnsapi/tests: Ignore OPT records in the CNAME tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54848
2023-05-16 08:16:53 -05:00
Francois Gouget
4c9e305132 uiautomationcore/tests: Fix the spelling of a win_skip() message. 2023-05-16 08:16:33 -05:00
Francois Gouget
1017f0ae1b taskschd/tests: Fix the spelling of a test string. 2023-05-16 08:16:33 -05:00
Francois Gouget
decb572d1a ndtll: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Francois Gouget
8caae7de4f msado15: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Francois Gouget
decc90187e mf/tests: Fix the spelling of a win_skip() message. 2023-05-16 08:16:33 -05:00
Francois Gouget
a109a7048f imm32/tests: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Piotr Caban
a6cb10bba2 wineps: Don't pass PRINTERINFO structure to unixlib. 2023-05-16 08:05:08 -05:00
Piotr Caban
351e58dc2d wineps: Pass font data in NTF format to unixlib. 2023-05-16 08:05:08 -05:00
Piotr Caban
9a07269672 wineps: Enumerate NTF fonts in enum_fonts. 2023-05-16 08:05:08 -05:00
Piotr Caban
fbfb42f44f wineps: Add support for loading builtin fonts from NTF files. 2023-05-16 08:05:08 -05:00
Piotr Caban
7a15c777b1 include: Add ddk/winddi.h header. 2023-05-16 08:05:07 -05:00
Piotr Caban
b55576b6c3 wineps: Store builtin fonts list in DEVMODE. 2023-05-16 08:05:07 -05:00
Piotr Caban
82ef9166a7 wineps: Convert WCHAR to Adobe Glyph name on PE side. 2023-05-16 08:05:07 -05:00
Rémi Bernon
cfff330604 rtworkq: Release thread pool work object when work_item is destroyed (Valgrind). 2023-05-16 08:04:59 -05:00
Rémi Bernon
f85c5f1c3a mf/tests: Avoid leaking media types in test_video_processor (Valgrind). 2023-05-16 08:04:59 -05:00
Rémi Bernon
ac393df4b5 mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind). 2023-05-16 08:04:59 -05:00
Davide Beatrici
7d7da2efb1 wineoss: Use mmdevapi's AudioRenderClient. 2023-05-16 08:04:49 -05:00
Davide Beatrici
446a8f143a winecoreaudio: Use mmdevapi's AudioRenderClient. 2023-05-16 08:04:49 -05:00
Davide Beatrici
69b4dfbc7f winealsa: Use mmdevapi's AudioRenderClient. 2023-05-16 08:04:49 -05:00
Davide Beatrici
4f5913e0c0 winepulse: Move AudioRenderClient into mmdevapi. 2023-05-16 08:04:49 -05:00
Rémi Bernon
cbbb88f2b4 dinput/tests: Add a zero-terminator for hardware ids (Valgrind). 2023-05-16 08:04:39 -05:00
Alexandre Julliard
428c4afeb0 ntdll: Fix typo in the check for hidden files.
My fault, improperly tested last-minute fixup to the original patch.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54939
2023-05-16 08:00:22 -05:00
Jinoh Kang
d54e7cd51d combase: Fix reading from beyond the end of a HGLOBAL stream. 2023-05-15 11:26:12 -05:00
Rémi Bernon
b3fbc16fea winemac: Use the default IME implementation for ImeSelect. 2023-05-15 06:25:22 -05:00
Rémi Bernon
70ff82312e winemac: Remove now unnecessary selected HIMC tracking code. 2023-05-15 06:25:03 -05:00
Rémi Bernon
6a7c131d0e winemac: Return the caret position in query_ime_char_rect.
And drop the ime_query_char_rect driver user callback.
2023-05-15 06:24:57 -05:00
Rémi Bernon
c6da1739d1 windows.gaming.input: Avoid leaking IDirectInputEffect reference (Valgrind). 2023-05-15 06:20:35 -05:00
Rémi Bernon
dde9cef0ff dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind). 2023-05-15 06:09:54 -05:00
Rémi Bernon
fefc1e57d2 dinput/tests: Avoid leaking a IDirectInput reference (Valgrind). 2023-05-15 06:09:54 -05:00
Rémi Bernon
63702c22c1 hid: Avoid printing uninitialized guid (Valgrind). 2023-05-15 06:09:54 -05:00
Brendan Shanks
b6f5bdb73f winemac: Work around poor-quality downscaling in high-res/retina mode on macOS 10.13 and earlier. 2023-05-15 06:09:54 -05:00
Brendan Shanks
fcd2a5f592 winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer. 2023-05-15 06:09:54 -05:00
Brendan Shanks
0576c6368d winemac: Centralize initialization of WineContentView. 2023-05-15 06:09:54 -05:00
Brendan Shanks
b7105bde7c winemac: Remove the unused WineContentView _retinaMode variable. 2023-05-15 06:09:54 -05:00
Brendan Shanks
e9aafe0b8a winemac: Fix window scaling in high-res/retina mode when using a non-retina monitor. 2023-05-15 06:09:54 -05:00
Rémi Bernon
851c57d475 user32/edit: Delegate composition string rendering to the IME UI.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon
40fddc6233 user32/edit: Notify IME on position, format_rect and font changes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon
fa56a363b1 comctl32/edit: Delegate composition string rendering to the IME UI.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon
e2cd4dcf8b comctl32/edit: Notify IME on caret position, format_rect and font changes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon
478ffa8c12 imm32: Use DrawTextW to wrap IME composition string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon
bbfb15a5e5 imm32: Update the IME composition window position after drawing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Paul Gofman
354a8bb1f4 ntdll: Better match Windows subheap sizes. 2023-05-15 06:09:54 -05:00
Paul Gofman
76fc73f311 kernel32/tests: Add tests for subheap sizes. 2023-05-15 06:09:54 -05:00
Paul Gofman
74b04b7633 ntdll: Fix last block detection in heap_walk_blocks(). 2023-05-15 06:09:54 -05:00
Paul Gofman
0fc9a9e426 ntdll: Fix tail padding in mark_block_tail(). 2023-05-15 06:09:54 -05:00
Francois Gouget
c8362ef8d1 ntdll/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 06:09:54 -05:00
Francois Gouget
e36e8d4ae1 sti/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 05:40:57 -05:00
Francois Gouget
d84077c226 gdi32/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 05:40:55 -05:00
Francois Gouget
25e64b06de wintab32/tests: Use win_skip() for missing dlls.
A missing dll is a todo in Wine.
2023-05-15 05:40:29 -05:00
Francois Gouget
9428d66eed wtsapi32/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 05:40:28 -05:00
Francois Gouget
98b7a56262 ws2_32/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 05:40:27 -05:00
Francois Gouget
0028d8f0a7 iphlpapi/tests: Use win_skip() for missing APIs.
A missing API is a todo in Wine.
2023-05-15 05:40:25 -05:00
Davide Beatrici
652574f115 wineoss: Use mmdevapi's AudioCaptureClient. 2023-05-15 05:39:03 -05:00
Davide Beatrici
1256c415bb winecoreaudio: Use mmdevapi's AudioCaptureClient. 2023-05-15 05:39:03 -05:00
Davide Beatrici
2bff41cb33 winealsa: Use mmdevapi's AudioCaptureClient. 2023-05-15 05:39:03 -05:00
Davide Beatrici
cca12c50c4 winepulse: Move AudioCaptureClient into mmdevapi. 2023-05-15 05:39:01 -05:00
Alexandre Julliard
5662d85e0e Release 8.8. 2023-05-12 23:48:10 +02:00
Zebediah Figura
d53fdd0eb0 qcap/audiorecord: Partially implement QueryAccept(). 2023-05-12 17:50:49 +02:00
Zebediah Figura
c752b56110 qcap/audiorecord: Implement IAMStreamConfig::GetStreamCaps().
Needed by the Microsoft Silverlight configuration tool.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36230
2023-05-12 17:50:49 +02:00
Zebediah Figura
fa32380292 qcap/audiorecord: Implement pin_get_media_type(). 2023-05-12 17:50:49 +02:00
Zebediah Figura
c06fe6112c qcap/tests: Add tests for media types. 2023-05-12 17:50:49 +02:00
Zebediah Figura
c7061ee511 qcap/audiorecord: Stub IAMStreamConfig. 2023-05-12 17:50:49 +02:00
Jactry Zeng
996271fc2f wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
The current size set to these buttons is too small when in HiDPI.
2023-05-12 17:50:49 +02:00
Davide Beatrici
c74b6ed4e9 wineoss: Use mmdevapi's AudioClock. 2023-05-12 17:50:49 +02:00
Davide Beatrici
7698135def winecoreaudio: Use mmdevapi's AudioClock. 2023-05-12 17:50:49 +02:00
Davide Beatrici
e50946f0d1 winealsa: Use mmdevapi's AudioClock. 2023-05-12 17:50:49 +02:00
Davide Beatrici
352d493ef1 winepulse: Move AudioClock into mmdevapi. 2023-05-12 17:50:49 +02:00
Rémi Bernon
8ae0c30823 winemac: Generate IME messages from the default ImeToAsciiEx implementation. 2023-05-12 17:50:49 +02:00
Rémi Bernon
8c08ffcdec winemac: Write the IME strings to the COMPOSITIONSTRING in ImeToAsciiEx. 2023-05-12 17:50:49 +02:00
Rémi Bernon
4870a9dfad imm32: Resize the composition string if the driver requested so. 2023-05-12 17:50:49 +02:00
Rémi Bernon
3cee423da0 winemac: Compute the required COMPOSITIONSTRING size in ImeToAsciiEx. 2023-05-12 17:50:49 +02:00
Rémi Bernon
54bbdb83e9 winemac: Use the ImeToAsciiEx driver entry to retrieve IME result. 2023-05-12 17:50:49 +02:00
Rémi Bernon
bfa19f8c7e win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Rémi Bernon
f185dc1701 winemac: Use the ImeProcessKey driver entry to process IME input. 2023-05-12 17:50:49 +02:00
Rémi Bernon
c7dc10b192 win32u: Introduce a new ImeProcessKey call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Alexandre Julliard
1d368b3789 server: Move the Wine-specific flags out of the image_flags field. 2023-05-12 17:50:48 +02:00
Alexandre Julliard
8f9c0c825d server: Add a separate request to create a memory view for a .so builtin. 2023-05-12 17:50:26 +02:00
Alexandre Julliard
fddd7aab7c winebuild: Disallow floating point arguments in syscall functions. 2023-05-12 11:39:10 +02:00
Alexandre Julliard
f83ec675bd win32u: Don't use floating point types in syscalls. 2023-05-12 11:39:10 +02:00
Piotr Caban
19eab9c0e5 wineps: Store font substitution table in DEVMODE. 2023-05-11 22:53:15 +02:00
Piotr Caban
aa3699dd59 wineps: Store data from PPD file used in unixlib in DEVMODE. 2023-05-11 22:53:14 +02:00
Piotr Caban
5b166890f0 wineps: Use standard DEVMODEW structure instead of PSDRV_DEVMODE when possible. 2023-05-11 22:53:14 +02:00
Piotr Caban
919392848a wineps: Remove unused fields from PSDRV_DEVMODE. 2023-05-11 22:53:14 +02:00
Piotr Caban
faba25c637 wineps: Remove gdi_physdev from print_ctx structure. 2023-05-11 22:53:14 +02:00
Rémi Bernon
ab98b13480 winemac: Use the default IME implementation for ImeSetCompositionString. 2023-05-11 22:53:14 +02:00
Rémi Bernon
2c74f4ede1 winex11: Use the default IME implementation for ImeSetCompositionString. 2023-05-11 22:53:14 +02:00
Francois Gouget
c6ab26bd04 kernelbase/tests: Use win_skip() for missing APIs. 2023-05-11 22:53:14 +02:00
Francois Gouget
ab3503bf5c kernel32/tests: Use win_skip() for missing APIs. 2023-05-11 22:53:14 +02:00
Zebediah Figura
3d246c6643 qcap/tests: Test the audio capture CLSID. 2023-05-11 22:53:14 +02:00
Zebediah Figura
a6047aee24 qcap/tests: Test audio capture pin information. 2023-05-11 22:53:14 +02:00
Zebediah Figura
b9b425d683 qcap/tests: Test audio capture pin interfaces. 2023-05-11 22:53:14 +02:00
Zebediah Figura
6174d63b3d qcap/audiorecord: Add a stub source pin. 2023-05-11 22:53:14 +02:00
Zebediah Figura
eab26e6155 qcap/audiorecord: Get rid of the AudioRecord typedef. 2023-05-11 22:53:14 +02:00
Alexandre Julliard
483a2203eb kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
Following recent Windows versions.
2023-05-11 22:53:14 +02:00
Alexandre Julliard
6b90aea87a win32u: Don't export wow64 Unix call functions.
They are not used, and can interfere with other libraries that link
directly to win32u.so.
2023-05-11 22:53:14 +02:00
Alexandre Julliard
f5d272f561 ntdll: Move the Unix function tables to avoid forward declarations, and make them static. 2023-05-11 22:53:14 +02:00
Alexandre Julliard
9f36fbdbc3 ntdll: Add a helper function to free a range of pages. 2023-05-11 22:53:14 +02:00
Paul Gofman
f2efdfbdf9 ntdll: Add logging for free ranges. 2023-05-11 13:54:01 +02:00
Paul Gofman
fb6a6374dd ntdll: Support partial view release in NtFreeVirtualMemory(). 2023-05-11 13:51:12 +02:00
Paul Gofman
3d1c27d51b ntdll: Factor out some view manipulation functions. 2023-05-11 13:51:12 +02:00
Paul Gofman
5f36b7a2c8 ntdll: Fully support unaligned views in free ranges management. 2023-05-11 13:51:12 +02:00
Paul Gofman
e90b2bb950 ntdll: Fix size validation in NtFreeVirtualMemory(). 2023-05-11 13:51:12 +02:00
Paul Gofman
d8fc23d86e kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx(). 2023-05-11 13:51:12 +02:00
Paul Gofman
1d3c0d738c ntdll/tests: Add tests for freeing a part of view. 2023-05-11 13:51:12 +02:00
Brendan Shanks
d2789ef067 winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
retina_on was being set (indirectly) by check_retina_status(), but it
relies on retina_on itself.
This resulted in incorrect (non-retina) monitor and work RECTs being
cached, causing odd application bugs like a window that won't resize
larger than 1/4 of the screen.

Initialize retina_on to the value of retina_enabled, so later calls
to check_retina_status() don't result in incorrect data being cached.
2023-05-10 23:19:20 +02:00
Rémi Bernon
4c91545367 winemac: Use the default IME implementation for NotifyIME. 2023-05-10 21:21:27 +02:00
Rémi Bernon
800af36d93 winex11: Move NotifyIME to the default IME implementation. 2023-05-10 21:21:26 +02:00
Rémi Bernon
56d0b870b6 win32u: Introduce new NtUserNotifyIMEStatus syscall. 2023-05-10 21:21:25 +02:00
Rémi Bernon
e2674379c5 winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE. 2023-05-10 21:21:25 +02:00
Rémi Bernon
d9fc3eab9a winex11: Clear the composition string when input context is closed. 2023-05-10 21:21:25 +02:00
Rémi Bernon
f3696e6a9c winex11: Use a helper to change internal composition status. 2023-05-10 21:21:25 +02:00
Vijay Kiran Kamuju
9d282171f5 winex11.drv: Fix compile when xrandr is not available. 2023-05-10 21:19:34 +02:00
Piotr Caban
53daf8961f wineps: Define PSDRV_PDEVICE structure in unixlib. 2023-05-10 21:18:10 +02:00
Piotr Caban
b0c843eb34 wineps: Rename PSDRV_PDEVICE structure to print_ctx. 2023-05-10 21:18:10 +02:00
Piotr Caban
c1a12304f7 wineps: Move remaining DC driver functions to unixlib. 2023-05-10 21:18:10 +02:00
Piotr Caban
0ba17961a9 gdi32: Add device name to wine_get_gdi_driver call. 2023-05-10 21:18:10 +02:00
Piotr Caban
f739bfc3c2 wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions. 2023-05-10 21:18:10 +02:00
Piotr Caban
be33dfbde0 wineps: Remove no longer used font selection code from PE side. 2023-05-10 21:18:09 +02:00
Piotr Caban
4e1de86d9c wineps: Don't use BUILTIN structure on PE side. 2023-05-10 21:18:09 +02:00
Piotr Caban
96a6d1fd27 wineps: Remove unused fields from PSFONT structure. 2023-05-10 21:18:09 +02:00
Piotr Caban
d1b09fa24c wineps: Introduce PSDRV_GET_GLYPH_NAME escape to obtain builtin glyph name from unixlib. 2023-05-10 21:18:09 +02:00
Piotr Caban
9e95b9e6fc wineps: Change initial printer font to DEVICE_DEFAULT_FONT. 2023-05-10 21:18:09 +02:00
Paul Gofman
afaf678615 ntdll: Retry send on ECONNREFUSED in try_send(). 2023-05-10 21:18:09 +02:00
Eric Pouech
0e622f64e0 winegstreamer: Fix typo.
Introduced in 98d209752c.
An application (Idol Showdown) fails to play its intro video without
this change.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-10 21:18:09 +02:00
Michael Stefaniuc
0542346d3b wbemprox: Avoid assigning COM objects to interface variables. 2023-05-10 21:18:09 +02:00
Paul Gofman
a634499783 wbemprox: Bump video driver version and date. 2023-05-10 21:18:09 +02:00
Davide Beatrici
018516729b wineoss: Use mmdevapi's AudioStreamVolume. 2023-05-10 21:18:09 +02:00
Davide Beatrici
d8b098dbde winecoreaudio: Use mmdevapi's AudioStreamVolume. 2023-05-10 21:18:09 +02:00
Davide Beatrici
844cf46d16 winealsa: Use mmdevapi's AudioStreamVolume. 2023-05-10 21:18:09 +02:00
Davide Beatrici
7244666dc9 winepulse: Move AudioStreamVolume into mmdevapi. 2023-05-10 21:18:09 +02:00
Alexandre Julliard
f0a6c3f6bc wow64: Convert MEM_EXTENDED_PARAMETER also for NtMapViewOfSectionEx(). 2023-05-10 21:18:09 +02:00
Alexandre Julliard
e031141178 wow64: Add a helper function to convert MEM_EXTENDED_PARAMETER.
And use the correct 32-bit types for the conversion.
2023-05-10 21:18:09 +02:00
Alexandre Julliard
9099289aff ntdll/tests: Add tests for address requirements in NtMapViewOfSectionEx().
Based on the similar tests for NtAllocateVirtualMemoryEx().
2023-05-10 18:11:18 +02:00
Alexandre Julliard
4b8f3dd9a5 ntdll: Support extended address requirements in NtMapViewOfSectionEx(). 2023-05-10 17:08:48 +02:00
Alexandre Julliard
185e168acc ntdll: Add a helper function to process MEM_EXTENDED_PARAMETER parameters. 2023-05-10 17:08:48 +02:00
Alexandre Julliard
04ef02f6ff ntdll: Pass limit instead of zero bits to internal memory mapping functions. 2023-05-10 17:08:48 +02:00
Zebediah Figura
9aac2d95ed wined3d: Do not declare resources as multisampled if the sample count is 1.
Based on vkd3d commit d8ef0c69a817d059b1d4fc62520131eed80aba29.
2023-05-10 17:08:48 +02:00
Zebediah Figura
d53fd40165 wined3d: Read the sm4 sample count in DCL instructions.
Based on vkd3d commit ee52ad810635cf504a49d5267a5942fffb16836e.
2023-05-10 17:08:48 +02:00
Zebediah Figura
2cfd75f7c5 wined3d: Do not forward texture references to the swapchain.
Rely on the swapchain to reference its individual textures, and rely on the
parent texture object to keep the swapchain alive if necessary.

This is necessary to allow detaching textures from a swapchain.
2023-05-10 17:08:48 +02:00
Zebediah Figura
30a7487b70 d3d11: Hold a reference to the wined3d swapchain from d3d11 swapchain textures. 2023-05-10 17:08:48 +02:00
Zebediah Figura
3ba9a7f7b4 d3d8: Hold a reference to the wined3d swapchain from d3d8 swapchain surfaces. 2023-05-10 17:08:48 +02:00
Zebediah Figura
f97163f4ea d3d9: Hold a reference to the wined3d swapchain from d3d9 swapchain surfaces. 2023-05-10 17:08:48 +02:00
Zebediah Figura
eae8705184 d3d9/tests: Add some more tests for accessing an old backbuffer surface after a reset. 2023-05-10 17:08:48 +02:00
Michael Stefaniuc
3d8e7ea69f d2d1: Remove superfluous casts to self. 2023-05-10 17:08:48 +02:00
Nikolay Sivov
de034b36b7 mfplat/tests: Add another test for MFCopyImage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-09 22:46:41 +02:00
Michael Stefaniuc
d0e5f14a6e dbgeng: Avoid casts to IUnknown* in IUnknown method calls. 2023-05-09 22:46:41 +02:00
Michael Stefaniuc
e4b30b46c3 dxdiagn: Avoid assigning COM objects to interface variables. 2023-05-09 22:46:41 +02:00
Rémi Bernon
c11ed566cb imm32/tests: Mark some tests as broken by prior SetForegroundWindow call.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54760
2023-05-09 20:16:54 +02:00
Piotr Caban
d98cd8d28b wineps: Use printer DC in print processor. 2023-05-09 20:16:54 +02:00
Piotr Caban
18bcec0d25 wineps: Copy GetTextExtentExPoint implementation to unixlib. 2023-05-09 19:26:10 +02:00
Piotr Caban
df0417831a wineps: Copy GetTextMetrics implementation to unixlib. 2023-05-09 19:26:10 +02:00
Piotr Caban
b1f7b0da98 wineps: Move GetCharWidth implementation to unixlib. 2023-05-09 19:26:10 +02:00
Piotr Caban
a52167e762 wineps: Move EnumFonts implementation to unixlib. 2023-05-09 19:26:09 +02:00
Piotr Caban
fb8daf332a wineps: Copy SelectFont implementation to unixlib. 2023-05-09 19:26:09 +02:00
Piotr Caban
11ab927ae2 wineps: Store font related strings in unicode. 2023-05-09 19:26:09 +02:00
Piotr Caban
8cfa8c15ee wineps: Move ExtEscape implementation to unixlib. 2023-05-09 19:26:09 +02:00
Piotr Caban
ab38530e81 wineps: Copy ResetDC implementation to unixlib. 2023-05-09 19:26:09 +02:00
Piotr Caban
75e0072cc2 wineps: Copy GetDeviceCaps implementation to unixlib. 2023-05-09 19:26:08 +02:00
Alistair Leslie-Hughes
992ec949ba activeds: Free memory on error paths (coverity). 2023-05-09 15:12:16 +02:00
Brendan Shanks
820a9d0d6c include: Implement C_ASSERT() using the C11 _Static_assert() if available. 2023-05-09 14:52:06 +02:00
Zebediah Figura
298ffd8f80 quartz: Check whether the pin is connected in IVideoWindow::SetWindowPosition().
Ferro CCTV calls this.
2023-05-09 14:51:30 +02:00
Zebediah Figura
8be62e8e30 quartz: Check whether the pin is connected in IVideoWindow::put_Visible().
Ferro CCTV calls this.
2023-05-09 14:51:28 +02:00
Zebediah Figura
e4ec04bf26 quartz: Check whether the pin is connected in IVideoWindow::put_MessageDrain().
Ferro CCTV calls this.
2023-05-09 14:51:26 +02:00
Zebediah Figura
9d6f8a6a3c quartz: Check whether the pin is connected in IVideoWindow::put_Owner().
Ferro CCTV calls this.
2023-05-09 14:51:24 +02:00
Eric Pouech
5900418781 winedump: Fix copy & paste error.
(Thanks to Andrey for point it out).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-09 14:50:52 +02:00
Rémi Bernon
39696138a6 winemac: Send IME key input from ImeProcessKey. 2023-05-09 14:50:42 +02:00
Rémi Bernon
3b42967442 winemac: Wait for IME input result on the unix side. 2023-05-09 14:50:41 +02:00
Rémi Bernon
4071f49fb2 winemac: Delay ime_set_text until ImeToAsciiEx requests it. 2023-05-09 14:50:41 +02:00
Zhiyi Zhang
80060f2155 oledb32: Support converting DBTYPE_VARIANT to DBTYPE_VARIANT. 2023-05-09 14:49:50 +02:00
Zhiyi Zhang
b6216a0650 oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_VARIANT. 2023-05-09 14:49:50 +02:00
Zhiyi Zhang
6a58b25bb4 oledb32: Support converting DBTYPE_VARIANT to DBTYPE_GUID. 2023-05-09 14:49:50 +02:00
Zhiyi Zhang
90124d54e6 oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_GUID. 2023-05-09 14:49:50 +02:00
Zhiyi Zhang
0dc1c6ac00 oledb32: Support converting DBTYPE_VARIANT to DBTYPE_UI8. 2023-05-09 14:49:50 +02:00
Zhiyi Zhang
c29b7db339 oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_UI8. 2023-05-09 14:49:49 +02:00
Zhiyi Zhang
3d514933b9 oledb32: Put provider initialization properties in a single DBPROP_INIT_PROVIDERSTRING.
Put provider initialization properties in a single DBPROP_INIT_PROVIDERSTRING for IDBProperties::SetProperties().
Otherwise, according to MSDN for IDBProperties::SetProperties(), if the same property is specified
more than once, the value used is provider-specific. So it won't be consider as an initialization property.

Fix PowerPivot for Excel not connecting to embedded data sources.
2023-05-09 14:48:52 +02:00
Zhiyi Zhang
4085cca750 oledb32/tests: Test provider string with multiple provider specific properties. 2023-05-09 14:48:52 +02:00
Zhiyi Zhang
e9c8de2300 oledb32: Use the correct property for initial catalog.
"Initial Catalog" should use property DBPROP_INIT_CATALOG instead of DBPROP_CATALOGLOCATION.

Fix PowerPivot for Excel not able to query embedded data sources.
2023-05-09 14:48:48 +02:00
Zhiyi Zhang
e00dfd2064 oledb32/tests: Test initial catalog property. 2023-05-09 14:48:48 +02:00
Gerald Pfeifer
358ead7ab4 webservices: Avoid uninitialized variable warning in format_double.
GCC 13 was going to diagnose
dlls/webservices/writer.c:960:18: warning: 'mag2' may be used uninitialized
2023-05-09 14:48:20 +02:00
Rémi Bernon
038e1dc47b winegstreamer: Create media source presentation descriptor as needed. 2023-05-09 14:35:24 +02:00
Rémi Bernon
44232f9521 winegstreamer: Keep a stream descriptor array on the media source. 2023-05-09 14:35:24 +02:00
Rémi Bernon
1f239c9b82 winegstreamer: Avoid eating errors in media source async commands. 2023-05-09 14:35:24 +02:00
Rémi Bernon
4e24486341 winegstreamer: Simplify media source wait_on_sample control flow. 2023-05-09 14:35:24 +02:00
Rémi Bernon
449e56128e winegstreamer: Start media streams in a dedicated media_stream_start helper. 2023-05-09 14:35:24 +02:00
Rémi Bernon
b3535aa0df winegstreamer: Use helpers to convert stream descriptor type to wg_format. 2023-05-09 14:35:24 +02:00
Rémi Bernon
6f477988c8 winegstreamer: Avoid potential leak of media source async commands. 2023-05-09 14:35:24 +02:00
Rémi Bernon
e2c6a54054 winegstreamer: Return a IUnknown pointer from source_create_async_op. 2023-05-09 14:35:23 +02:00
Alexandre Julliard
17a0e19489 server: Make x86_64 a supported architecture on ARM64. 2023-05-09 14:28:04 +02:00
Alexandre Julliard
1b823e5f3e ntdll: Support the MEM_EXTENDED_PARAMETER_EC_CODE attribute. 2023-05-09 14:28:04 +02:00
Alexandre Julliard
5b6e82f0f9 ntdll: Handle the extended memory attributes in NtAllocateVirtualMemoryEx(). 2023-05-09 14:28:04 +02:00
Alexandre Julliard
f2623cca38 ntdll: Implement RtlIsEcCode(). 2023-05-09 14:28:04 +02:00
Alexandre Julliard
c722353c87 ntdll: Support the ARM64EC code map. 2023-05-09 14:11:19 +02:00
Alexandre Julliard
0a3a1d2b03 ntdll: Apply dynamic relocations when mapping an ARM64X binary. 2023-05-09 12:31:45 +02:00
Alexandre Julliard
702f9e6bec ntdll: Allow loading ARM64EC binaries. 2023-05-09 12:14:40 +02:00
Alexandre Julliard
f55a5812ed ntdll: Add a helper function to read a PE image directory. 2023-05-09 12:09:13 +02:00
Zebediah Figura
233f86abf4 quartz: Check whether the pin is connected in IVideoWindow::put_AutoShow().
Ferro CCTV calls this.
2023-05-08 20:03:15 +02:00
Zebediah Figura
9b47d3c543 quartz: Check whether the pin is connected in IVideoWindow::put_WindowStyle().
Ferro CCTV calls this.
2023-05-08 20:03:14 +02:00
Zebediah Figura
bf461e6407 quartz: Check whether the pin is connected in IVideoWindow::put_Caption().
Ferro CCTV calls this.
2023-05-08 20:03:12 +02:00
Zebediah Figura
7eaac918fd quartz: Check whether the pin is connected in IBasicVideo::GetVideoSize(). 2023-05-08 20:03:12 +02:00
Zebediah Figura
bf45b87a3a advapi32/tests: Add more tests for token duplication. 2023-05-08 20:02:28 +02:00
Zebediah Figura
8fb562f7c2 ntdll: Fix the prototype of NtDuplicateToken().
The fourth parameter is a boolean flag. The impersonation level is specified
only through the SECURITY_QUALITY_OF_SERVICE structure.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54913
2023-05-08 20:02:26 +02:00
Olivier F. R. Dierick
60ef0f8677 dxdiag: Ignore option /64bit on the commandline.
The builtin dxdiag doesn't know about option /64bit and display an
error dialog. Some games use that option internally on startup and the
dialog is annoying.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49964
2023-05-08 20:01:42 +02:00
Nikolay Sivov
32cec5e628 mfplat: Implement MFCreatePathFromURL(). 2023-05-08 20:01:26 +02:00
Sven Baars
d26e0b880c ddraw: Set the texture height in SetSurfaceDesc() (Coverity). 2023-05-08 20:01:21 +02:00
Sven Baars
1b36e9b2fa mscoree/tests: Remove the parent argument from create_new_dir() (Coverity). 2023-05-08 20:01:17 +02:00
Connor McAdams
8d11327ecf combase: Check that process ID matches before searching the MTA for a stub manager.
Now that MTA objects across processes share a value of 0 in the Data2
field of the stub manager IPID, make sure that we only search the MTA
for stub managers that reside in the current process.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-05-08 20:01:10 +02:00
Piotr Caban
6f475608b2 wineps: Remove no longer used NEXTBAND escape. 2023-05-08 20:00:50 +02:00
Piotr Caban
9adaca0f19 gdi32: Handle NEXTBAND escape in Escape(). 2023-05-08 20:00:50 +02:00
Piotr Caban
cd4f48f229 wineps: Store page size full name as unicode string. 2023-05-08 20:00:50 +02:00
Piotr Caban
bcb5fabc8c wineps: Use designated initializers to initialize gdi_dc_funcs structure. 2023-05-08 20:00:50 +02:00
Davide Beatrici
7e8aa1d9ef winepulse: Use mmdevapi's ChannelAudioVolume. 2023-05-08 20:00:43 +02:00
Davide Beatrici
0f8f0717b1 wineoss: Use mmdevapi's ChannelAudioVolume. 2023-05-08 20:00:43 +02:00
Davide Beatrici
9da395d019 winecoreaudio: Use mmdevapi's ChannelAudioVolume. 2023-05-08 20:00:43 +02:00
Davide Beatrici
9a9a86ea84 winealsa: Move ChannelAudioVolume into mmdevapi. 2023-05-08 20:00:43 +02:00
David Kahurani
49baaf133e shlwapi: Implement StrFormatByteSizeEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54733
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-05-08 10:56:01 +02:00
Giovanni Mascellani
885d8dfab2 mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
8c0a1dfb63 mfplat/tests: Test IMF2DBuffer::ContiguousCopyTo(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
da1885ce23 mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
This is a generic implementation, which is probably fine for buffers
backed by system memory. The implementation for buffers backed by
GPU memory can probably be optimized.
2023-05-08 10:55:29 +02:00
Giovanni Mascellani
cd719c7c44 mfplat/tests: Test IMF2DBuffer::ContiguousCopyFrom(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
73dbdf3037 mfplat/tests: Test large RGB image formats. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
4805546024 mfplat/buffer: Support YV12, I420 and IYUV image formats. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
6d1fc9096d mfplat/buffer: Use the appropriate image copy function for NV11. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
399cec1b75 mfplat/tests: Push image size and format as context. 2023-05-08 10:55:29 +02:00
Tim Clem
222d20a585 winemac.drv: Force a window in front of its peers if its level is decreased.
Working around a macOS bug: -setLevel: is documented to move a window
in front of its new peers, but that doesn't happen on Ventura.
2023-05-05 22:27:49 +02:00
Rémi Bernon
e6b21cc577 imm32/tests: Test MS Japanese IME NIHONGO-NO sequence. 2023-05-05 15:38:56 +02:00
Rémi Bernon
2024e45b9f imm32/tests: Test MS Korean IME GA-NA-DA sequence.
Credits to Byeong-Sik Jeon for the sequence, thanks!
2023-05-05 15:38:54 +02:00
Rémi Bernon
828fc9f50d imm32/tests: Add some missing local variables declarations. 2023-05-05 15:38:53 +02:00
Rémi Bernon
24ccd03e3e imm32/tests: Ignore some unknown WM_IME_NOTIFY messages. 2023-05-05 15:38:53 +02:00
Rémi Bernon
fc7203fb13 imm32/tests: Print human readable IME message names. 2023-05-05 15:38:53 +02:00
Rémi Bernon
2fe97d5178 imm32/tests: Adjust the ImmSetOpenStatus tests for MS Korean IME.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54864
2023-05-05 15:38:53 +02:00
Shaun Ren
bfe0180957 sapi: Implement ISpObjectToken::CreateInstance. 2023-05-05 15:38:27 +02:00
Shaun Ren
26d60533d2 sapi: Implement ISpObjectToken::Set/GetStringValue. 2023-05-05 15:38:27 +02:00
Shaun Ren
f6c1a7444c sapi: Use ISpRegDataKey in object_token. 2023-05-05 15:38:27 +02:00
Shaun Ren
3bba4065d3 sapi: Implement ISpRegDataKey::OpenKey. 2023-05-05 15:38:27 +02:00
Shaun Ren
51e84c02e7 sapi: Ignore read_only in ISpRegDataKey::SetKey. 2023-05-05 15:38:27 +02:00
Shaun Ren
762918c2ec sapi: Implement ISpRegDataKey::SetStringValue. 2023-05-05 15:38:27 +02:00
Zebediah Figura
0d666de0f0 winepulse: Avoid accessing the product name after freeing it. 2023-05-05 15:38:19 +02:00
Rémi Bernon
f99ad772d1 imm32: Post messages to the target window in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon
1c96ed9bd9 imm32: Clear vkey before calling ToAsciiEx in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon
bfb7799b74 imm32: Ignore some messages in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon
4b621dd9ae imm32/tests: Test ImmTranslateMessage / ImeToAsciiEx calls. 2023-05-04 18:48:48 +02:00
Rémi Bernon
655bd354ee imm32/tests: Add more ImmProcessKey and ImmGetVirtualKey tests. 2023-05-04 18:48:48 +02:00
Rémi Bernon
a117b9b202 imm32: Use INPUTCONTEXT directly in ImmRequestMessage(W|A). 2023-05-04 18:48:48 +02:00
Rémi Bernon
c4187bc46b imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls. 2023-05-04 18:48:48 +02:00
Rémi Bernon
4ccc47c0ca imm32/tests: Move IME calls test helpers around. 2023-05-04 18:48:48 +02:00
Rémi Bernon
0f16bf1daf winex11: Always zero terminate XIM composition string buffer. 2023-05-04 18:48:48 +02:00
Rémi Bernon
3723b7867a winex11: Compute preedit text buffer sizes in WCHAR units. 2023-05-04 18:48:48 +02:00
Rémi Bernon
6a36990f10 winex11: Simplify xic_preedit_draw control flow. 2023-05-04 18:48:48 +02:00
Rémi Bernon
cbe434299c winex11: Rename preedit buffer and related variables. 2023-05-04 18:48:48 +02:00
Rémi Bernon
de45bc33a7 riched20: Update the editor IME position on GCS_RESULTSTR.
So that a GCS_RESULTSTR followed by GCS_COMPSTR, without interruping the
composition, begins inserting the new composition text after the result
instead of before it.
2023-05-04 18:48:48 +02:00
Georg Lehmann
e32711dd2f winevulkan: Update to VK spec version 1.3.250. 2023-05-04 18:48:48 +02:00
Zebediah Figura
c7d8a1b47a wined3d: Directly call wined3d_texture_create() to create swapchain textures.
Get rid of the create_swapchain_texture callback.
2023-05-04 18:44:48 +02:00
Zebediah Figura
fd3d4d0a93 d3d8: Pass the container to d3d8_surface_create(). 2023-05-04 18:44:48 +02:00
Zebediah Figura
9a6d889b41 d3d8: Create sub-resource surfaces manually. 2023-05-04 18:44:48 +02:00
Zebediah Figura
e0828a70b2 d3d8: Move surface allocation to d3d8_surface_create().
Renamed from d3d8_surface_init() accordingly.
2023-05-04 18:44:46 +02:00
Alexandre Julliard
b247a33fa1 ntdll: Initialize TLS links also on the 64-bit side in wow64 mode. 2023-05-04 10:39:31 +02:00
Davide Beatrici
460eaee43d mmdevapi: Remove unused "channel" member in set_volumes_params. 2023-05-04 10:39:02 +02:00
Davide Beatrici
f46e9b8f12 winecoreaudio: Implement per-channel volume control. 2023-05-04 10:39:00 +02:00
Etaash Mathamsetty
bd89ab3040 kernelbase: Add GetPackagesByPackageFamily stub. 2023-05-03 22:10:46 +02:00
Conor McCarthy
b2600c8338 vkd3d: Leave the command queue op mutex locked after a partial flush.
All return paths in d3d12_command_queue_flush_ops_locked() must
leave the op mutex locked.

(cherry-picked from upstream commit e27ceddfb4a89470d5d35ab4391d0a5cf4453ef1)
2023-05-03 22:09:17 +02:00
Floris Renaud
423eb0a15f po: Update Dutch translation. 2023-05-03 21:00:57 +02:00
Rémi Bernon
b4b48e232a winegstreamer: Remove unnecessary media source stream states. 2023-05-03 16:48:51 +02:00
Giovanni Mascellani
b7f5d908b5 winegstreamer: Synchronize access to the media source from callbacks. 2023-05-03 16:48:51 +02:00
Giovanni Mascellani
49af378e31 winegstreamer: Synchronize concurrent access to the media stream. 2023-05-03 16:48:51 +02:00
Giovanni Mascellani
aed8612c2c winegstreamer: Synchronize concurrent access to the media source. 2023-05-03 16:48:51 +02:00
Rémi Bernon
be50a7899a winegstreamer: Only break cyclic references in IMFMediaSource_Shutdown. 2023-05-03 16:48:50 +02:00
Rémi Bernon
3eb9571d5f winegstreamer: Keep a IMFMediaSource pointer in the media stream. 2023-05-03 16:48:50 +02:00
Rémi Bernon
cd120fa8be winegstreamer: Query the wg_parser stream in media_stream_create. 2023-05-03 16:48:50 +02:00
Nikolay Sivov
a63612045d ntdll/tests: Add some RtlValidSecurityDescriptor() tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:45 +02:00
Ake Rehnman
5a3fd972f4 ntdll: Fix RtlValidSecurityDescriptor() return value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Nikolay Sivov
b62abc1a2c ntdll: Fix subauthority count check in RtlInitializeSid().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Nikolay Sivov
af65fa044a ntdll/tests: Add some tests for RtlInitializeSid().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Ake Rehnman
f6e11d6566 ntdll: Fix return value of RtlInitializeSid().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Eric Pouech
0cc4a38aae evr: Fix incorrect integral computation.
Note: typeof (int * unsigned) is unsigned.
So:
- on 64bit CPUs, where sizeof(int) = 4 < sizeof(void*) = 8,
- when the result of the multiplication is supposed to be negative
- there's no propagation of the negative sign from 32bit to 64 bit integers

Fixes a crash in Age of Empire II.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-03 16:48:41 +02:00
Santino Mazza
a65d0e1fe7 mf/session: Reset presentation flags when session_clear_presentation is called.
This prevents hangs when a program sets a new topology after stopping the current
topology, because if we don't reset the flags to 0 the session will not subscribe
to the events of the new topology sources.
2023-05-03 16:48:41 +02:00
Aurimas Fišeras
72d4aea80f po: Update Lithuanian translation. 2023-05-03 11:17:52 +02:00
Paul Gofman
0b9620266f d3dx9: Fix dst pitch for compressed format in D3DXLoadSurfaceFromMemory().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54901
2023-05-02 22:21:30 +02:00
Mohamad Al-Jaf
eff714e339 hrtfapo: Add CreateHrtfApo() stub.
Needed by Britannia VR: Out of Your Mind.
2023-05-02 22:21:26 +02:00
Mohamad Al-Jaf
9c46b673ba hrtfapo: Add stub DLL. 2023-05-02 22:21:26 +02:00
Mohamad Al-Jaf
2b32ba593d include: Add hrtfapoapi.idl file. 2023-05-02 22:21:26 +02:00
Alex Henrie
9d80b367ce winemenubuilder: Skip desktop integration for certain associations.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41275
2023-05-02 20:02:20 +02:00
Tim Clem
fac1aabbef ntdll: Decrement thread count from exit_thread and exit the process if needed. 2023-05-02 13:41:32 +02:00
Zhiyi Zhang
f88affa2a1 findstr: Add basic functionality.
Company of Heroes: Battle of Crete needs a functioning findstr.exe to exit properly.
Freemake Video Converter 4.1 installer also needs this.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35254
2023-05-02 13:33:07 +02:00
Zhiyi Zhang
db0ccc440a tasklist: Partially support '/fi' option.
Some filters such as STATUS and CPUTIME are not implemented.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48596
2023-05-02 13:33:07 +02:00
Zhiyi Zhang
397ce0dbf2 tasklist: Support '/fo' option. 2023-05-02 13:33:06 +02:00
Zhiyi Zhang
8238c1d48f tasklist: Support '/nh' option. 2023-05-02 13:33:06 +02:00
Zhiyi Zhang
62af0b5f84 tasklist: Add basic functionality.
Company of Heroes: Battle of Crete needs a functioning tasklist.exe to exit properly.
2023-05-02 13:33:03 +02:00
Torge Matthies
8245478055 ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
And make sure it doesn't get deleted.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53826
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-05-02 13:24:27 +02:00
Torge Matthies
d433986924 ntdll: Only infer hidden attribute from file name if xattr is not present.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-05-02 13:02:45 +02:00
Torge Matthies
a8b6966a91 ntdll: Handle hidden file names inside get_file_info instead of after it.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-05-02 13:02:45 +02:00
Torge Matthies
4ad7575884 ntdll/tests: Add test for file attributes of files with names beginning with a dot. 2023-05-02 12:58:09 +02:00
Biswapriyo Nath
2b7ba08743 include: Add DXGI_DEBUG_D3D11 in d3d11sdklayers.idl.
Required for libplacebo.

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-05-01 18:34:25 +02:00
David Kahurani
03bc97a8c1 gdiplus: Traverse and draw the whole string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45698
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-05-01 18:29:12 +02:00
Piotr Caban
eb73012a01 wineps: Remove no longer used graphic driver functions. 2023-05-01 16:44:14 +02:00
Piotr Caban
7034fc297b winspool: Change CUPS printers print processor to wineps. 2023-05-01 16:44:14 +02:00
Piotr Caban
50e18d19cc Revert "wineps: Fix default device font selection.".
This reverts commit 4216179eaa.
2023-05-01 16:44:11 +02:00
Piotr Caban
eec01270c0 wineps: Use only TrueType fonts in print processor. 2023-05-01 16:44:11 +02:00
Piotr Caban
857b25e548 win32u: Don't allow bitmap fonts if OUT_TT_ONLY_PRECIS output precision is specified. 2023-05-01 16:44:11 +02:00
Piotr Caban
33ee9fad71 gdi32: Return error in EndPage if it's called before StartPage. 2023-05-01 16:44:11 +02:00
Piotr Caban
f4d78d5352 gdi32: Support saving EMR_EXTESCAPE record in spool file. 2023-05-01 16:44:11 +02:00
Piotr Caban
a79c2fd379 gdi32: Ignore in_count parameter in Escape() on PASSTHROUGH escape. 2023-05-01 16:44:11 +02:00
Davide Beatrici
77428d0295 winepulse: Use mmdevapi's SimpleAudioVolume. 2023-05-01 14:40:07 +02:00
Davide Beatrici
04c909eae2 wineoss: Use mmdevapi's SimpleAudioVolume. 2023-05-01 14:40:07 +02:00
Davide Beatrici
4ee9c5dd9c winecoreaudio: Use mmdevapi's SimpleAudioVolume. 2023-05-01 14:40:07 +02:00
Davide Beatrici
668f95168b winealsa: Move SimpleAudioVolume into mmdevapi. 2023-05-01 14:40:07 +02:00
Ziqing Hui
96c8be0031 winegstreamer: Use codec format in stream_props_GetMediaType. 2023-05-01 14:40:04 +02:00
Ziqing Hui
6c424b7ed2 winegstreamer: Implement amt_from_wg_format_video_wmv. 2023-05-01 14:40:03 +02:00
Ziqing Hui
13188bb14b winegstreamer: Implement wg_parser_stream_get_codec_format. 2023-05-01 14:40:03 +02:00
Ziqing Hui
32cabd1b9f winegstreamer: Introduce format_is_compressed. 2023-05-01 14:40:03 +02:00
Paul Gofman
24019f0d38 win32u: Partially implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE). 2023-05-01 14:38:30 +02:00
Alexandre Julliard
c732d24589 Release 8.7. 2023-04-28 22:02:23 +02:00
Connor McAdams
b04acc81d0 uiautomationcore: Retrieve runtime ID on UiaReturnRawElementProvider thread to prevent a deadlock.
If we pass a node to the provider thread that contains a provider
that was created in an STA with the ProviderOptions_UseComThreading
flag set, we can deadlock when attempting to get a runtime ID from the
proxy due to the message queue not being pumped. To avoid this, retrieve
the runtime ID before passing the node to the provider thread.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-28 20:56:12 +02:00
Connor McAdams
5bd4090705 uiautomationcore: Implement IUIAutomation::GetFocusedElement{BuildCacheRequest}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-28 20:56:12 +02:00
Connor McAdams
e070e9b476 uiautomationcore: Implement UiaNodeFromFocus.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-28 20:56:11 +02:00
Connor McAdams
ba927e507b uiautomationcore: Add UiaNodeFromFocus stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-28 20:56:10 +02:00
Paul Gofman
8665935e2f wined3d: Add a comment about mismatched samplers. 2023-04-28 20:55:14 +02:00
Piotr Caban
cdb0be7272 wineps: Handle EMRI_DEVMODE record in spool files. 2023-04-28 18:33:23 +02:00
Piotr Caban
4496c64aa1 gdi32: Support creating EMRI_DEVMODE records in spool files. 2023-04-28 18:33:23 +02:00
Piotr Caban
2b8de93005 gdi32: Implicitly call StartPage while drawing on printer DC. 2023-04-28 18:33:23 +02:00
Piotr Caban
70d84f7062 localspl: Add partial support for PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS attribute. 2023-04-28 18:33:23 +02:00
Davide Beatrici
cbd47ebc83 winepulse: Use mmdevapi's AudioSessionControl. 2023-04-28 18:33:23 +02:00
Davide Beatrici
99ff19a51e wineoss: Use mmdevapi's AudioSessionControl. 2023-04-28 18:33:23 +02:00
Davide Beatrici
2bfe72956e winecoreaudio: Use mmdevapi's AudioSessionControl. 2023-04-28 18:33:23 +02:00
Davide Beatrici
06d2d41158 winealsa: Move AudioSessionControl into mmdevapi. 2023-04-28 18:33:23 +02:00
Alexandre Julliard
7bdcfbbf6e winedump: Fix printing of code ranges in hybrid modules. 2023-04-28 18:33:23 +02:00
Alexandre Julliard
4e72c0016b include: Add some new ProcThreadAttribute definitions. 2023-04-28 14:30:58 +02:00
Stefan Dösinger
4dce49594f d3d9/tests: Accept random depth when using a 3D texture with a 2D sampler. 2023-04-27 22:35:40 +02:00
Stefan Dösinger
32f6fcbf50 d3d9/tests: AMD GPUs sample the border color of cube textures. 2023-04-27 22:35:37 +02:00
Rémi Bernon
08e2edce96 imm32: Send messages one by one in ImmGenerateMessage. 2023-04-27 20:31:24 +02:00
Rémi Bernon
1d591d08fd imm32/tests: Add some ImmGenerateMessage tests. 2023-04-27 20:31:24 +02:00
Rémi Bernon
920154672d imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes. 2023-04-27 20:31:24 +02:00
Rémi Bernon
b5c30f8ef2 imm32: Move ImmAssociateContext(Ex) around. 2023-04-27 20:31:24 +02:00
Rémi Bernon
2fda6abfc4 imm32: Don't hide/show IME UI window in ImmSetCompositionWindow. 2023-04-27 20:31:24 +02:00
Stefan Dösinger
3a9e237bdf d3dcompiler: Make D3DAssemble a private export. 2023-04-27 20:22:47 +02:00
Stefan Dösinger
3d6569a8b4 d3dcompiler/tests: Load D3DAssemble via GetProcAddress. 2023-04-27 20:22:47 +02:00
Stefan Dösinger
6d41756ce1 d3dx9: Load D3DAssemble via GetProcAddress.
This allows linking our d3dx9.dll to Microsoft's d3dcompiler.lib implib.
2023-04-27 20:22:45 +02:00
Piotr Caban
e0513f4dd1 gdi32: Add GdiIsMetaPrintDC implementation. 2023-04-27 18:34:10 +02:00
Piotr Caban
ca66b3eb84 gdi32: Add support for creating EMF spool files. 2023-04-27 18:34:10 +02:00
Piotr Caban
f79c9f3568 gdi32: Factor out emf_create helper. 2023-04-27 18:34:10 +02:00
Piotr Caban
16b951ccbf gdi32: Factor out emf_eof helper. 2023-04-27 18:34:10 +02:00
Piotr Caban
acbccf177e gdi32: Improve EMF DC cleanup when CloseEnhMetafile is not called. 2023-04-27 18:34:10 +02:00
Piotr Caban
d317db91f2 gdi32: Store the printer info in a structure. 2023-04-27 18:34:09 +02:00
Piotr Caban
818a144eb5 wineps: Reset current position on every page. 2023-04-27 18:34:09 +02:00
Piotr Caban
e930220b2a localspl: Validate datatype in StartDocPrinter. 2023-04-27 18:34:09 +02:00
Piotr Caban
dd4603d3ab localspl: Add support for PRINTER_ATTRIBUTE_RAW_ONLY printer attribute. 2023-04-27 18:34:09 +02:00
Anton Baskanov
7e334a7a94 dsound: Allocate big enough committedbuff up front. 2023-04-27 18:33:57 +02:00
Anton Baskanov
136726501c dsound: Acquire the lock when setting 3D buffer parameters. 2023-04-27 18:33:57 +02:00
Anton Baskanov
4871cd032f dsound: Preserve freqAccNum value in DSOUND_RecalcFormat().
Resetting it results in position discontinuity. With frequent
SetFrequency() calls, this produces audible crackling. The issue
affects pedestrian voices in GTA: San Andreas.
2023-04-27 18:33:56 +02:00
Anton Baskanov
c2563de512 dsound: Remove redundant assignments to freqAdjustNum and freqAdjustDen. 2023-04-27 18:33:56 +02:00
Anton Baskanov
7bd2e99b66 dsound: Remove the unused nAvgBytesPerSec field. 2023-04-27 18:33:55 +02:00
André Zwing
7a9679a717 ntdll: Print RPC_S_SERVER_UNAVAILABLE exceptions. 2023-04-27 08:58:01 +02:00
Paul Gofman
5a162f2c31 mfplat: Fix returned buffer length in dxgi_surface_buffer_lock(). 2023-04-27 08:57:14 +02:00
Aurimas Fišeras
0c4e69ec5b po: Update Lithuanian translation. 2023-04-27 08:57:02 +02:00
Francois Gouget
a80b183af7 msi/tests: Ok_() takes printf-style arguments.
This lets the compiler check that the format and argument sizes match.
2023-04-27 08:56:57 +02:00
Francois Gouget
b6fb1b8983 msi/tests: Fix the ok() formats so they match the size of their arguments. 2023-04-27 08:56:56 +02:00
Jactry Zeng
619e34500f appwiz.cpl: Handle WM_CLOSE and WM_COMMAND(IDCANCEL) in the support info dialog. 2023-04-26 22:49:17 +02:00
Jactry Zeng
3e6779867a appwiz.cpl: Process messages while waiting for the uninstaller to terminate.
In the current implementation, the main UI will be blocked after
the uninstaller is launched. So using MsgWaitForMultipleObjects()
to wait the process and process new messages from GUI. Also popup
a message dialog while trying to launch multiple uninstallers.
2023-04-26 22:49:17 +02:00
Shaun Ren
7f1df4b27d include: Add ISpTTSEngineSite and ISpTTSEngine interfaces. 2023-04-26 22:49:17 +02:00
Shaun Ren
5f977d2fa8 include: Add more sapi structs and enums. 2023-04-26 22:49:17 +02:00
Zebediah Figura
ba99b0d77b d3d9: Pass the container to d3d9_surface_create(). 2023-04-26 22:49:17 +02:00
Zebediah Figura
7b7195330d d3d9: Create sub-resource surfaces manually.
Move away from using the sub_resource_created callback to do this.

This is also a step away from using the create_swapchain_texture callback.
2023-04-26 22:49:17 +02:00
Zebediah Figura
8a5b4252c8 d3d9: Move surface allocation to d3d9_surface_create().
Renamed from d3d9_surface_init() accordingly.
2023-04-26 22:49:17 +02:00
Zebediah Figura
7b7d26a731 dxgi: Create d3d11 swapchain textures directly from d3d11_swapchain_init().
Using the IWineDXGIDeviceParent::swapchain_texture_created() callback.
2023-04-26 22:49:17 +02:00
Zebediah Figura
4413e94908 dxgi: Introduce IWineDXGIDeviceParent::register_swapchain_texture() and use it in IDXGIDevice::CreateSurface().
Instead of having d3d11 create the wined3d texture, create it in dxgi instead,
and let d3d11 create a d3d_texture2d object to wrap it.

This is a step towards getting rid of the create_swapchain_texture() callback,
which is mildly difficult to work with and conceptually complex.
2023-04-26 22:49:17 +02:00
Giovanni Mascellani
f443b9e042 mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
d073d3ea18 mfplat: Only upload surface data to GPU for DXGI buffers when writing. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
49b8e55b3c mfplat: Only download surface data from GPU for DXGI buffers when reading. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
071eb50ff0 mfplat: Fix locking flags usage for DXGI buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
df660e80f0 mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
Analogous to 44c9ea5043.
2023-04-26 22:49:17 +02:00
Giovanni Mascellani
f40e5fcb38 mfplat/tests: Test locking flags for DXGI buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
c1eee92bd2 mfplat/tests: Test Lock2D() on a locked DXGI surface buffer. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
91c0eda709 mfplat: Fix locking flags usage for D3D9 buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
d24f8dbbc7 mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
In the previous test the same address was always returned for data,
hinting that the tests might have been succeding just because of some
aliasing reason. The new tests show that this is not the case:
even when transferring data through another throw-away surface,
changes are seen and recorded independently of the locking flags.
2023-04-26 22:49:17 +02:00
Giovanni Mascellani
ee16e7145e mfplat/tests: Test locking flags for D3D9 buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
ef4441a263 mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer. 2023-04-26 22:49:17 +02:00
Michael Stefaniuc
5cae9680f4 win32u: Use ARRAY_SIZE() instead of open coding it. 2023-04-26 22:49:16 +02:00
Michael Stefaniuc
b0dd4177d5 uiautomationcore: Drop superfluous TRUE : FALSE conditional expression. 2023-04-26 22:49:16 +02:00
Michael Stefaniuc
572a9f6a68 threadpoolwinrt: Forward a Release() to a Release() method. 2023-04-26 22:49:16 +02:00
Alexandre Julliard
da16581e63 ntdll: Use nameless unions/structs for register contexts. 2023-04-26 22:49:16 +02:00
Mohamad Al-Jaf
33598db743 shell32: Fix last parameter behavior in SHBindToFolderIDListParent(). 2023-04-26 22:49:16 +02:00
Mohamad Al-Jaf
27434f360e shell32/tests: Test SHBindToParent() last parameter behavior. 2023-04-26 22:49:16 +02:00
Dmitry Timoshkov
5956c995c3 shell32/tests: Add SHBindToFolderIDListParent() tests. 2023-04-26 22:49:16 +02:00
Mohamad Al-Jaf
c12ccd6f80 shell32: Implement SHBindToFolderIDListParent().
Called by IE11.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
2023-04-26 22:49:16 +02:00
Gabriel Ivăncescu
a500bb72f0 mshtml/tests: Fix element leak in elem_fire_event.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:20 +02:00
Gabriel Ivăncescu
31e023fb1d mshtml: Pass actual node_ccp to ccref_decr for nodes.
Avoids having to look it up again later during collection.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:16 +02:00
Gabriel Ivăncescu
fd2f3a035c mshtml: Fix nsChannel's load_info leak.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:16 +02:00
Gabriel Ivăncescu
668d8afd74 mshtml: Support cycle collection for nsChannel.
This is traversed from the Gecko document, and should be part of the graph
(it refers to gecko objects that participate in it, and which are part of
a cycle).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:15 +02:00
Gabriel Ivăncescu
917ec2db66 mshtml: Store minimum compat mode required for events in the ctor table.
Since such event types don't exist as separate event types in older modes,
this prevents confusing leaks without bloating the constructors with more
boilerplate.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:12 +02:00
Gabriel Ivăncescu
1544be253a mshtml: Fix URI leak in NewURI on failure.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:12 +02:00
Gabriel Ivăncescu
a10acc0ac3 mshtml: Fix nsIFile dir leak in init_xpcom.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:12 +02:00
Gabriel Ivăncescu
eba8c8d66e mshtml: Fix factory leak in init_nsio.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:12 +02:00
Gabriel Ivăncescu
a80a3be462 mshtml: Do not release the principal returned by GetPrincipal.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-25 21:39:12 +02:00
Stefan Dösinger
60adbec765 d3d8/test: Accept AMD GPU sysmem sample failure in test_mipmap_upload. 2023-04-25 21:39:07 +02:00
Stefan Dösinger
e39c497559 d3d8/tests: Radeon GPUs don't draw from sysmem textures. 2023-04-25 21:39:07 +02:00
Stefan Dösinger
830906f3dc d3d9/tests: Accept AMD GPU sysmem sample failure in test_mipmap_upload. 2023-04-25 21:39:07 +02:00
Stefan Dösinger
e5f149a81a d3d9/tests: Radeon GPUs don't draw from sysmem textures. 2023-04-25 21:39:07 +02:00
Alexandre Julliard
871f333d55 ntdll: Use a separate memory allocation for the kernel stack. 2023-04-25 18:00:38 +02:00
Mohamad Al-Jaf
041a7990a3 apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
Needed for Minecraft Legends.
2023-04-25 17:59:35 +02:00
Mohamad Al-Jaf
1a4be35948 twinapi.appcore: Add UnregisterAppStateChangeNotification stub. 2023-04-25 17:59:35 +02:00
Mohamad Al-Jaf
5ff1242c94 twinapi.appcore: Add RegisterAppStateChangeNotification stub.
Needed for Minecraft Legends.
2023-04-25 17:59:35 +02:00
Mohamad Al-Jaf
4d61854dc1 twinapi.appcore: Add stub DLL. 2023-04-25 17:59:35 +02:00
Mohamad Al-Jaf
4ce24eb9be include: Add appnotify.h file. 2023-04-25 17:59:14 +02:00
Piotr Caban
537c9655e0 wineps: Reset memory DC state on every page. 2023-04-25 17:43:57 +02:00
Piotr Caban
9b98c90e6e wineps: Continue printing if path drawing function returns error. 2023-04-25 17:43:57 +02:00
Piotr Caban
ee972bf061 wineps: Fix return value in path drawing routines. 2023-04-25 17:43:57 +02:00
Piotr Caban
4216179eaa wineps: Fix default device font selection. 2023-04-25 17:43:57 +02:00
Vova Mshanetskiy
8f5aece0ce winhttp: Avoid unnecessary cast in connect_query_option(). 2023-04-25 10:32:37 +02:00
Vova Mshanetskiy
8bba759156 winhttp: Support WINHTTP_OPTION_PARENT_HANDLE in request_query_option(). 2023-04-25 10:32:37 +02:00
Davide Beatrici
8d9c12723f winepulse: Use dedicated macros to call interface functions. 2023-04-25 10:32:26 +02:00
Davide Beatrici
22018db18d wineoss: Use dedicated macros to call interface functions. 2023-04-25 10:32:26 +02:00
Davide Beatrici
93fae6885b winecoreaudio: Use dedicated macros to call interface functions. 2023-04-25 10:32:26 +02:00
Davide Beatrici
687d5019ab winealsa: Use dedicated macros to call interface functions. 2023-04-25 10:32:25 +02:00
Henri Verbeet
5ad68393ec d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc(). 2023-04-24 16:33:03 +02:00
Henri Verbeet
93cc58d121 d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc(). 2023-04-24 16:33:03 +02:00
Paul Gofman
27c4c64c36 ntdll: Avoid integer overflow in block_get_subheap(). 2023-04-24 16:32:54 +02:00
Paul Gofman
74e0c4ce6b ntdll: Mind LFH pending blocks in RtlDestroyHeap(). 2023-04-24 16:32:50 +02:00
Alistair Leslie-Hughes
1aa6a900e8 widl: Suppress a coverity warning.
Knowning that frame->code will be set when the exception handler
is called.  Suppress this coverity issue.
2023-04-24 10:33:33 +02:00
Alex Henrie
7af7ff872b ntdll: Increment offset by len in build_clr_surrogate_section.
Instead of multiplying it by 2.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54808
Co-authored-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-04-23 15:49:48 +02:00
Alex Henrie
bd7459579d kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
If lpSectionBase is null then the tests will still crash, but at least
we'll know why.
2023-04-23 15:49:46 +02:00
Alexandre Julliard
2371906a25 ntdll: Reimplement RtlNumberOfSetBits() to check 32 bits at a time. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
504f9d3cb8 ntdll: Reimplement RtlAreBitsClear() to check 32 bits at a time. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
23ce5b8f10 ntdll: Reimplement RtlAreBitsSet() to check 32 bits at a time. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
500ec80e9f ntdll: Reimplement RtlClearBits() to clear 32 bits at a time. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
d619a44ba6 ntdll: Reimplement RtlSetBits() to set 32 bits at a time. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
bddfa07190 kernel32: Move to a higher address on 64-bit. 2023-04-22 17:34:32 +02:00
Alexandre Julliard
cab914c3aa kernelbase: Move to a higher address on 64-bit. 2023-04-22 17:34:32 +02:00
Davide Beatrici
5a9adc1f28 winepulse: Implement functions to lock and unlock sessions. 2023-04-22 17:34:32 +02:00
Davide Beatrici
04914b5cd1 wineoss: Implement functions to lock and unlock sessions. 2023-04-22 17:34:32 +02:00
Davide Beatrici
4aeef7e613 winecoreaudio: Implement functions to lock and unlock sessions. 2023-04-22 17:34:32 +02:00
Davide Beatrici
bebe0f7ee0 winealsa: Implement functions to lock and unlock sessions. 2023-04-22 17:34:32 +02:00
Piotr Caban
28df39908a gdi32/tests: Add EMF palette tests. 2023-04-22 17:34:32 +02:00
Piotr Caban
f45baaa11e gdi32: Store palette in EMR_EOF record. 2023-04-22 17:34:32 +02:00
Piotr Caban
b9b159e5a8 gdi32: Fix EMR_CREATEPALETTE recording. 2023-04-22 17:34:32 +02:00
Piotr Caban
c752e84543 gdi32: Use EMR_REALIZEPALETTE to record RealizePalette. 2023-04-22 17:34:32 +02:00
Piotr Caban
3fdff0b106 wineps: Handle EMR_SETPALETTEENTRIES record in spool files. 2023-04-22 17:34:32 +02:00
Piotr Caban
d1d7f1a5dc wineps: Handle EMR_RESIZEPALETTE record in spool files. 2023-04-22 17:34:32 +02:00
Piotr Caban
d200b0fcf2 wineps: Handle EMR_REALIZEPALETTE record in spool files. 2023-04-22 17:34:32 +02:00
Ziqing Hui
d1c317720a mfreadwrite: Fix an address of operator typo. 2023-04-21 22:33:29 +02:00
Brendan Shanks
e414561a96 msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64. 2023-04-21 20:44:43 +02:00
Alexandre Julliard
90cc094260 winedump: Print entry point names in code range lists. 2023-04-21 16:34:29 +02:00
Alexandre Julliard
7e8ac46a5c makedep: Avoid generating empty dependencies. 2023-04-21 09:59:37 +02:00
Alexandros Frantzis
bddfcd0716 winewayland.drv: Infer and report Windows monitor positions.
Use the xdg-output-unstable-v1 protocol to get the size of the Wayland
outputs in the compositor logical space, and use this information, along
with the logical position and size in physical pixels (i.e., the current
mode) to infer the Windows virtual screen coordinates of the monitors.

Note that there are multiple possible mappings from Wayland logical
coordinates to Windows virtual screen coordinates. We choose one
algorithm that works well for the majority of output arrangements, and
we can refine in the future as needed.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:59:37 +02:00
Alexandros Frantzis
ce6a7ae841 winewayland.drv: Basic support for Windows monitor positioning.
Use the xdg-output-unstable-v1 protocol to get the positions of the
Wayland outputs in the compositor logical space, and use this
information to arrange the monitors in the Windows virtual screen space.
For now we assume that the logical positions match the physical pixel
positions (i.e., the outputs are not scaled), a deficiency which will be
addressed in an upcoming commit.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:59:37 +02:00
Alexandros Frantzis
7b48de324a winewayland.drv: Use the output name reported by the compositor.
Use the xdg-output-unstable-v1 protocol to get a unique, cross-process
consistent name for the outputs.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:59:37 +02:00
Alexandros Frantzis
8570016783 tools: Support building Wayland protocol source files.
Wayland protocol descriptions are distributed as source XML files that
need to be transformed to C source and header files with a version of
the wayland-scanner tool compatible with the used libwayland library.

This commit enhances the makedep build tool to support building such
Wayland protocol XML files.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:59:37 +02:00
Alexandros Frantzis
fcaed00a03 winewayland.drv: Initialize display devices once after process init.
After the driver process initialization is done, use all the received
wl_output information to non-forcefully initialize the display devices.
We will reintroduce dynamic display device reinitialization (i.e., as a
response to non-initial wl_output events) when we start reading and
dispatching Wayland events.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:16:18 +02:00
Henri Verbeet
7f90c9d7eb vkd3d: Update the version information for release 1.7. 2023-04-20 22:55:56 +02:00
Piotr Caban
5ece770d37 wineps: Handle EMR_STRETCHDIBITS record in spool files. 2023-04-20 22:55:56 +02:00
Piotr Caban
a3d1985ca8 wineps: Handle EMR_SETDIBITSTODEVICE record in spool files. 2023-04-20 22:55:56 +02:00
Piotr Caban
40c5790c55 wineps: Handle EMR_SELECTPALETTE record in spool files. 2023-04-20 22:55:56 +02:00
Piotr Caban
40fdf388cf wineps: Handle EMR_CREATEPALETTE record in spool files. 2023-04-20 22:55:56 +02:00
Piotr Caban
08386cd984 wineps: Clip visible rectangle to bitmap size in get_vis_rectangles. 2023-04-20 22:55:56 +02:00
Francois Gouget
4d3eb56e7c kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
On Windows 10 1909 ScrollConsoleScreenBufferA() returns an error if
the destination is not within the clip rectangle but still modifies the
console buffer as expected! So mark this behavior as very_broken().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54871
2023-04-20 22:55:56 +02:00
Francois Gouget
c441ad6a4e wininet/tests: Add more proxy tests. 2023-04-20 09:47:30 +02:00
Francois Gouget
e6ac3499a5 wininet: Add constants for DetectAutoProxyUrl(). 2023-04-20 09:47:28 +02:00
Connor McAdams
cd9f3e5d05 uiautomationcore: Add normalization navigation to UiaGetUpdatedCache.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-19 22:00:48 +02:00
Connor McAdams
f93bd3ff2c uiautomationcore: Implement conditional NavigateDirection_Parent navigation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-19 22:00:48 +02:00
Connor McAdams
b532f695c1 uiautomationcore: Implement IUIAutomation::GetRootElement.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-19 22:00:48 +02:00
Connor McAdams
a97cdeaf20 uiautomationcore: Implement UiaGetRootNode.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-19 22:00:46 +02:00
Andrey Gusev
af6d82613a dxgi: Update TRACE in dxgi_device_create_resource(). 2023-04-19 20:26:15 +02:00
Jinoh Kang
3268601dae kernelbase: Implement activation context switching for fibers. 2023-04-19 20:26:15 +02:00
Jinoh Kang
7c4eb574f0 ntdll: Implement RtlFreeActivationContextStack(). 2023-04-19 20:26:15 +02:00
Jinoh Kang
41a193c418 ntdll: Use ActivationContextStackPointer instead of referencing ActivationContextStack directly.
This allows changing the location of activation context stack if it
should be put somewhere else (e.g. inside the fiber structure).
2023-04-19 20:26:15 +02:00
Jinoh Kang
68e354f3e4 ntdll: Store current activation context stack pointer into a local variable.
This refactoring makes it easier to change the algorithm of obtaining
the current activation context stack.
2023-04-19 20:26:15 +02:00
Jinoh Kang
4dadf7a0de ntdll: Factor out reading current activation context into a helper function.
This refactoring makes it easier to change the algorithm of obtaining
the current activation context stack.

Note that RtlAddRefActivationContext(NULL) is a no-op, and
check_actctx(NULL) returns NULL without doing anything.
2023-04-19 20:26:15 +02:00
Jinoh Kang
f7315ebe5b kernel32/tests: Test for activation context switching between fibers. 2023-04-19 20:26:15 +02:00
Alexandre Julliard
002d6a9475 zlib: Run source files through zlib2ansi to avoid K&R function definitions. 2023-04-19 20:26:15 +02:00
Alexandre Julliard
36203f1b86 include: Update the PEB and TEB structures.
According to Geoff Chappell's information.
2023-04-19 16:44:54 +02:00
Alexandre Julliard
b7f6620c01 include: Add the ARM64EC context structure. 2023-04-19 14:31:00 +02:00
Francois Gouget
d46f888123 dnsapi/tests: Make DnsQuery()'s CNAME tests more compatible with CDNs.
Depending on the DNS server, querying test.winehq.org may point to CDN
servers, resulting in more records than expected.
Also some of the CDN servers may have IPv6 addresses.
Dump the DNS records if $WINETEST_DEBUG > 1.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54847
2023-04-19 14:26:03 +02:00
Piotr Caban
0d95b82182 wineps: Add BiDi support in EMR_EXTTEXTOUTW record. 2023-04-19 14:19:46 +02:00
Piotr Caban
2df476c11f wineps: Handle EMR_EXTTEXTOUTW record in spool files. 2023-04-19 14:19:46 +02:00
Piotr Caban
ac13b95020 wineps: Store text justification info in print processor data. 2023-04-19 14:19:46 +02:00
Piotr Caban
f2f90fae67 wineps: Handle font selection in spool files. 2023-04-19 14:19:45 +02:00
Piotr Caban
16a8da44f1 wineps: Handle EMR_EXTCREATEFONTINDIRECTW record in spool files. 2023-04-19 14:19:45 +02:00
Piotr Caban
a2c644a8f1 wineps: Set text and background color during device creation. 2023-04-19 14:19:45 +02:00
Piotr Caban
c15add3210 wineps: Rename handle count parameter in hmf_proc. 2023-04-19 14:19:45 +02:00
Henri Verbeet
11fe071d51 wined3d: Implement shader_extract_from_dxbc() on top of vkd3d_shader_parse_dxbc(). 2023-04-19 14:19:31 +02:00
Stefan Dösinger
31cb8d8aa6 wined3d: Fall back to general layout if necessary.
If a texture is used as shader resource and DS/RT at the same time, including
cases where a different subresource is bound to each.

In theory this could be handled better, but would require per-subresource layout
tracking.
2023-04-19 14:19:22 +02:00
Stefan Dösinger
9d4e4e496f wined3d: Avoid VK_IMAGE_LAYOUT_GENERAL.
This improves GPU-side performance considerably by allowing the driver
to keep lossless texture compression enabled for textures that are used
as both render taget / depth stencil and shader resource.
2023-04-19 14:19:18 +02:00
Stefan Dösinger
75e82b77aa wined3d: Sync depth stencils to both early and late depth test.
We don't know which test the next draw will use when we place the
barrier. We may be able to figure this out, but it is not trivial.

This avoids a read-after-write hazard after the next patch. The layout
transition from shader-read-only to depth stencil needs to be finished
before the early depth test in a follow-up draw if this draw uses early
depth.
2023-04-19 14:19:16 +02:00
Stefan Dösinger
9e99c6f66d d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics. 2023-04-18 21:33:17 +02:00
Stefan Dösinger
54890fe3c4 d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
MSVC doesn't support "name...".
2023-04-18 21:33:17 +02:00
Mohamad Al-Jaf
0b4dc016b9 include: Add windows.graphics.capture.interop.idl file.
Needed for PyWinRT.
2023-04-18 21:33:17 +02:00
Eric Pouech
f01ce56a49 winedbg: Improve size management in watch command.
- support 8 byte targets
- default to CPU pointer size if size isn't present nor supported.
- detect unaligned requests

Signed-off-by: Eric Pouech <eric.pouech@codeweavers.com>
2023-04-18 18:18:19 +02:00
Eric Pouech
adde76fabd winedbg: Simplify watch command implementation.
This also correctly initialize some lvalue.
Context of the bug has changed, but the underlying issue remained the same.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39495
Signed-off-by: Eric Pouech <eric.pouech@codeweavers.com>
2023-04-18 18:18:16 +02:00
Eric Pouech
812b4b1ca3 dbghelp: Use source file path as stored in debug info format.
Currently, dbghelp returns the source file either:
- in DOS format when native module option isn't enabled
- as stored in debug info format otherwise

This used to work for PE modules inside ELF shared libraries but is broken
since evolution to REAL modules. This generates several issues:
- winedbg does not always set the native module option when calling dbghelp
  for source file related functions, leading to heterogenous output to user
- some dbghelp function rely on matching source paths, hence leading to
  errors in winedbg when mixing the two formats for the same source file.

Introduce a new Wine only dbghelp option to return the source paths as they
are stored inside debug information format, and activate it unconditionaly
inside winedbg.

This fixes some failure cases of command 'break <NN>' in winedbg.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-18 18:17:44 +02:00
Eric Pouech
fd87ddfae7 winedbg: Let 'break symbol : line' command work again.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-18 18:17:44 +02:00
Alexandre Julliard
fe693a7047 winedump: Dump hybrid metadata also for i386 CHPE modules. 2023-04-18 17:49:51 +02:00
Alexandre Julliard
6e348640c5 include: Add some CHPE definitions. 2023-04-18 17:49:23 +02:00
Zebediah Figura
f19555c866 wined3d: Disable shaderTessellationAndGeometryPointSize. 2023-04-18 16:48:18 +02:00
Zebediah Figura
f74de8e0ab ddraw: Retrieve the frontbuffer directly from wined3d. 2023-04-18 16:48:17 +02:00
Zebediah Figura
83518a6810 wined3d: Allow retrieving the frontbuffer from a wined3d swapchain.
For ddraw.
2023-04-18 16:48:17 +02:00
Martin Garton
0dda5753c5 msvcrt: Fix typo in #define. 2023-04-18 10:23:52 +02:00
Brendan Shanks
06011209d7 winemac: Don't constrain surface dimensions to the onscreen part of a window.
Fixes an issue where a window's image would be stretched as it was moved
further offscreen.
The offscreen part of a window also did not display correctly in Exposé.
2023-04-18 10:22:31 +02:00
Brendan Shanks
88a09dd334 winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame(). 2023-04-18 10:22:31 +02:00
Brendan Shanks
51f9bb766a winemac: Refactor constrain_window_frame() to use separate origin and size arguments. 2023-04-18 10:22:31 +02:00
Henri Verbeet
55ab59af9f d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init(). 2023-04-18 10:18:48 +02:00
Henri Verbeet
372dc31eac d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_strip_shader(). 2023-04-18 10:18:48 +02:00
Henri Verbeet
7dfd32d5f0 d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_get_blob_part(). 2023-04-18 10:18:48 +02:00
Henri Verbeet
8455b47b86 d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_strip_shader().
Note that this adds a todo_wine to test_get_blob_part2(). It looks
like native d3dcompiler only adds padding between sections, while
vkd3d-shader always adds padding to the end of sections. I've sent a
vkd3d-shader patch to fix that, but the extra padding at the end of
the DXBC blob doesn't seem terribly concerning.
2023-04-18 10:18:48 +02:00
Henri Verbeet
0c7313840c d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part(). 2023-04-18 10:18:48 +02:00
Henri Verbeet
b8fe76a8b5 d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures. 2023-04-18 10:18:48 +02:00
Matteo Bruni
92a2ebc680 d3dcompiler/tests: Add a couple tests for minimum size in D3DStripShader(). 2023-04-18 10:18:29 +02:00
Matteo Bruni
a639324b3d d3dcompiler/tests: Add a couple tests for minimum size in D3DGetBlobPart(). 2023-04-18 10:18:28 +02:00
Henri Verbeet
3fbfd1da2c d3dcompiler: Check for minimum bytecode size in d3dcompiler_strip_shader(). 2023-04-18 10:18:28 +02:00
Henri Verbeet
a342c75a37 d3dcompiler: Check for minimum bytecode size in d3dcompiler_get_blob_part(). 2023-04-18 10:18:28 +02:00
Eric Pouech
9718a0b6d3 winegstreamer: In video_processor, activate a videoflip converter.
The app I'm considering opens a video_processor on its own, with
a NV12 format on input and a ARGB32 format on output.

Tested on Windows: the samples are flipped vertically. While Wine
keeps them untouched.

So added a videoflip in the video processor to be activated when needed.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-18 10:18:17 +02:00
Eric Pouech
77a21bfbe3 mf/tests: Add tests about (negative) stride handling.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-18 10:18:17 +02:00
Ziqing Hui
992984f12c wingstreamer: Create extra decodebin to decode compressed stream. 2023-04-18 10:17:51 +02:00
Ziqing Hui
3cef365f63 winegstreamer: Implement wg_format_from_caps_video_wmv. 2023-04-18 10:17:51 +02:00
Anton Baskanov
5ae89b0c8b winegstreamer: Call init_gstreamer() in winegstreamer_create_video_decoder(). 2023-04-18 10:17:43 +02:00
Anton Baskanov
a455dd53d5 winegstreamer: Fix negative height image size calculation.
Fixes intro video playback in multiple games (e.g. Earth 2150).
2023-04-18 10:17:36 +02:00
Connor McAdams
a19c1ff169 uiautomationcore: Add a default ProviderType_Proxy MSAA bridge clientside provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-17 22:27:24 +02:00
Connor McAdams
2a089f52f0 uiautomationcore: Implement NavigateDirection_Parent navigation for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-17 22:27:24 +02:00
Connor McAdams
9b1243fb6b uiautomationcore: Implement UIA_BoundingRectanglePropertyId for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-17 22:27:24 +02:00
Connor McAdams
cee22e0cb6 uiautomationcore: Implement UIA_ControlTypePropertyId for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-17 22:27:24 +02:00
Bernhard Übelacker
07c0cd6ba5 ntoskrnl: Do not leak memory by setting input buffer to NULL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52322
2023-04-17 18:55:41 +02:00
Hans Leidekker
956e580f06 wine.inf: Use FLG_ADDREG_NOCLOBBER for CurrentMajor/MinorVersionNumber.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54844
2023-04-17 18:55:41 +02:00
Gabriel Ivăncescu
602e7f891d mshtml: Use proper event type for PageTransition events.
wine-gecko now supports their creation via CreateEvent.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-17 18:55:41 +02:00
Gabriel Ivăncescu
bce0ebafa6 mshtml: Implement MediaQueryList's removeListener method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-17 18:55:41 +02:00
Gabriel Ivăncescu
1a01fb23a3 mshtml: Implement MediaQueryList's addListener method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-17 18:55:41 +02:00
Francois Gouget
8b8d787d7d user32/tests: Fix the DBCS WM_CHAR tests in mixed locales.
WM_CHAR interprets the character codes using a code page tied to the
keyboard layout, not CP_ACP.
Also skip the test if WideCharToMultiByte() used the default character
since that breaks the round-trip.
Trace the code page when skipping the tests.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54424
2023-04-17 18:55:41 +02:00
Rémi Bernon
6fb4766947 user32: Ignore WM_IME_COMPOSITION from the IME UI window in DefWindowProc.
As in 6fd3bd9b62.
2023-04-17 18:55:41 +02:00
Rémi Bernon
45b096abb4 user32: Move WM_IME_COMPOSITION DefWindowProc handlers in separate helpers. 2023-04-17 18:55:41 +02:00
Byeong-Sik Jeon
93e5d7b317 imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation. 2023-04-17 18:55:41 +02:00
Rémi Bernon
422ee56c1b imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly. 2023-04-17 18:55:41 +02:00
Byeongsik Jeon
5ef8554ee9 imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext. 2023-04-17 18:55:41 +02:00
Rémi Bernon
53ae92fab4 imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member. 2023-04-17 18:55:41 +02:00
Rémi Bernon
c8d5603776 imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow. 2023-04-17 18:55:41 +02:00
Rémi Bernon
3e3706adcc imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC. 2023-04-17 18:55:41 +02:00
Davide Beatrici
c0884c02cb winepulse: Remove AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici
03f7d797e5 wineoss: Remove AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici
95dfef6ad3 winecoreaudio: Remove AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici
25dc3d82c6 winealsa: Remove AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici
c0aa622d96 mmdevapi: Implement AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici
4cee5af0ea mmdevapi: Import GetAudioSessionWrapper() from driver. 2023-04-17 18:55:41 +02:00
Davide Beatrici
8f31a253f0 winepulse: Export function to get AudioSessionWrapper object. 2023-04-17 18:55:41 +02:00
Davide Beatrici
07d6a48c73 wineoss: Export function to get AudioSessionWrapper object. 2023-04-17 18:55:41 +02:00
Davide Beatrici
0e7a4fd7c1 winecoreaudio: Export function to get AudioSessionWrapper object. 2023-04-17 18:55:41 +02:00
Davide Beatrici
9bfaf65b7c winealsa: Export function to get AudioSessionWrapper object. 2023-04-17 18:55:41 +02:00
Derek Lesho
e6e7c7916d winegstreamer: Cache wg_parser input data.
In order to reduce wg_parser initialization time by skipping the round-trip to the PE thread.

Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2023-04-17 18:55:41 +02:00
Alexandre Julliard
4d610717bb Release 8.6. 2023-04-14 21:45:19 +02:00
Piotr Caban
256c344550 msvcr100: Use Context blocking functions in reader_writer_lock class. 2023-04-14 20:33:54 +02:00
Piotr Caban
c595bef69b msvcr100: Add ExternalContextBase::Unblock implementation. 2023-04-14 20:33:54 +02:00
Piotr Caban
b96e7d34e4 msvcr100: Add ExternalContextBase::IsSynchronouslyBlocked() implementation. 2023-04-14 20:33:54 +02:00
Piotr Caban
dcccf544be msvcr100: Add ExternalContextBase::Block() implementation. 2023-04-14 20:33:54 +02:00
Piotr Caban
92e75061f3 msvcr100: Add Context::Block() implementation. 2023-04-14 20:33:54 +02:00
Piotr Caban
08ed6b1ddf msvcr100: Add missing ExternalContextBase virtual functions stubs. 2023-04-14 20:33:54 +02:00
Torge Matthies
0aa7ac415f msvcr110: Implement _Context::_IsSynchronouslyBlocked. 2023-04-14 20:33:54 +02:00
Alexandre Julliard
c8a79e7bc6 winedump: Apply all dynamic relocations before dumping alternate PE headers. 2023-04-14 18:56:23 +02:00
Rémi Bernon
223d279205 winegstreamer: Introduce new stream_type_from_caps helper. 2023-04-14 18:56:23 +02:00
Rémi Bernon
6d37b673b4 winegstreamer: Introduce new link_src_to_element / link_element_to_sink helpers. 2023-04-14 18:56:23 +02:00
Rémi Bernon
8f7616f360 winegstreamer: Remove unnecessary unlink in pad-removed callback. 2023-04-14 18:56:23 +02:00
Rémi Bernon
49b0e6c22d winegstreamer: Use append_element to build wg_parser pipeline. 2023-04-14 18:56:23 +02:00
Rémi Bernon
5ed0abf349 winegstreamer: Sync element state with parent in append_element. 2023-04-14 18:56:23 +02:00
Rémi Bernon
c23f6650bf winegstreamer: Move some wg_parser / wg_transform helpers to unixlib.c. 2023-04-14 18:56:23 +02:00
Rémi Bernon
2df0b96008 winegstreamer: Introduce a new wg_init_gstreamer unixlib entry. 2023-04-14 18:56:23 +02:00
Piotr Caban
3099e6afc5 wineps: Handle EMR_SETTEXTJUSTIFICATION record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
980086bf49 wineps: Handle EMR_SETLAYOUT record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
0ee21cc04f wineps: Handle EMR_SETPOLYFILLMODE record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
021d2ca114 wineps: Handle EMR_SETBKMODE record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
0afe5837f6 wineps: Handle EMR_SETMAPMODE record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
d282f40895 wineps: Handle EMR_SETMAPPERFLAGS record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
5bf693ed86 wineps: Silence FIXME message on EMR_EXTFLOODFILL record. 2023-04-14 15:43:45 +02:00
Piotr Caban
cec7c44c44 wineps: Silence FIXME message on EMR_ALPHABLEND record. 2023-04-14 15:43:45 +02:00
Piotr Caban
dcf8b5cd4b wineps: Handle EMR_EXTESCAPE record in spool files. 2023-04-14 15:43:45 +02:00
Piotr Caban
5104fcd797 wineps: Handle EMR_RESTOREDC record in spool files. 2023-04-14 15:43:44 +02:00
Piotr Caban
fe3abe4ff2 wineps: Handle EMR_SAVEDC in spool files. 2023-04-14 15:43:44 +02:00
Piotr Caban
e26b3ba30a wineps: Handle EMR_SETBKCOLOR record in spool files. 2023-04-14 15:43:44 +02:00
Piotr Caban
90191dbacc wineps: Handle EMR_SETTEXTCOLOR record in spool files. 2023-04-14 15:43:44 +02:00
Piotr Caban
7dc4f9d001 wineps: Don't store currently selected brush in print processor data. 2023-04-14 15:43:44 +02:00
Davide Beatrici
27d88669b4 mmdevapi: Add missing includes and typedef to mmdevdrv.h. 2023-04-14 15:43:16 +02:00
Davide Beatrici
6cfc37404b mmdevapi: Add missing includes to mmdevapi_private.h. 2023-04-14 15:43:15 +02:00
Davide Beatrici
f7dfba08d0 mmdevapi: Rename mmdevapi.h to mmdevapi_private.h.
This should make it clear it's not an external header.

It could be confused with mmdeviceapi.h, in particular.
2023-04-14 15:43:13 +02:00
Piotr Caban
20be5ecd40 wineps: Fix SetPixel implementation. 2023-04-13 21:57:06 +02:00
Piotr Caban
747fa33bbb gdi32: Handle EMR_TRANSPARENTBLT record in PlayEnhMetaFileRecord. 2023-04-13 21:56:58 +02:00
Piotr Caban
8b48ee987f include: Add EMRTRANSPARENTBLT definition. 2023-04-13 21:56:58 +02:00
Francois Gouget
4abd7af2e4 advapi32/tests: Make the services resume handle traces more informative. 2023-04-13 18:00:25 +02:00
Francois Gouget
6e2efe54f1 dnsapi/tests: Test how DnsQuery() handles CNAMEs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54819
2023-04-13 17:59:40 +02:00
Francois Gouget
9a3c008283 user32/tests: Windows 11's notepad has four icons.
There's the regular application icon and three different styles of
close window icons. While there is nothing wrong with that this case is
marked as broken() because Wine's notepad only has one icon so only 1 is
a valid PrivateExtractIconsA() result in Wine.
2023-04-13 17:58:56 +02:00
Rémi Bernon
01677af42a imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow. 2023-04-13 16:18:38 +02:00
Rémi Bernon
cf03ab4133 imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow. 2023-04-13 16:18:38 +02:00
Rémi Bernon
93b6c4557d imm32: Use INPUTCONTEXT directly in ImmGetCompositionFont(A|W). 2023-04-13 16:18:38 +02:00
Rémi Bernon
d4318270da imm32: Use INPUTCONTEXT directly in ImmSetCompositionFont(A|W). 2023-04-13 16:18:38 +02:00
Rémi Bernon
9a4b9a3ae5 imm32: Use INPUTCONTEXT directly in ImmGetStatusWindowPos. 2023-04-13 16:18:38 +02:00
Rémi Bernon
d0a88bf7de imm32: Use INPUTCONTEXT directly in ImmSetStatusWindowPos. 2023-04-13 16:18:38 +02:00
Rémi Bernon
e49feacdb4 imm32: Use INPUTCONTEXT directly in ImmGetCompositionWindow. 2023-04-13 16:18:37 +02:00
Rémi Bernon
048d2f0d13 imm32: Use INPUTCONTEXT directly in ImmSetCompositionWindow. 2023-04-13 16:18:37 +02:00
Rémi Bernon
564deb8a34 imm32/tests: Add some Imm(Get|Set)CandidateWindow tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon
7ddc95d4aa imm32/tests: Add some Imm(Get|Set)CompositionFont tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon
f35cb95d5f imm32/tests: Add some Imm(Get|Set)StatusWindowPos tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon
7a3991913b imm32/tests: Add some Imm(Get|Set)CompositionWindow tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon
e164515549 include: Add INPUTCONTEXT fdwInit flags definitions. 2023-04-13 16:18:37 +02:00
Piotr Caban
63615abbb9 wineps: Handle EMR_WIDENPATH record in spool files. 2023-04-13 11:03:36 +02:00
Piotr Caban
266097d59f wineps: Handle EMR_FLATTENPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
0b018bbc68 wineps: Handle EMR_CLOSEFIGURE record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
7afe71cd53 wineps: Handle EMR_STROKEPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
45e0e603b3 wineps: Handle EMR_STROKEANDFILLPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
bd5a340043 wineps: Handle EMR_FILLPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
254a823824 wineps: Handle EMR_BEGINPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
f623ec60b5 wineps: Handle EMR_ABORTPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
e92309043b wineps: Handle EMR_ENDPATH record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
b51d9e2cfb wineps: Handle EMR_GRADIENTFILL record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
d0e4834355 wineps: Fix reporting supported color depths in PSDRV_PutImage. 2023-04-13 11:03:35 +02:00
Piotr Caban
2929ce9b75 wineps: Handle EMR_EXTSELECTCLIPRGN record in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
672088477f wineps: Handle EMR_SELECTCLIPPATH in spool files. 2023-04-13 11:03:35 +02:00
Piotr Caban
ce3604bf58 wineps: Don't write invisible parts of image to decrease output file size. 2023-04-13 11:03:35 +02:00
Mohamad Al-Jaf
a7569e3ee9 include: Add windows.ui.composition.interop.idl file.
Needed for mingw Firefox build.
2023-04-13 10:25:20 +02:00
Mohamad Al-Jaf
3b31e75395 widl: Add support for WinRT HANDLE parameter type.
Needed by windows.ui.composition.interop.idl.
2023-04-13 10:25:19 +02:00
Alexandre Julliard
738b6c00a9 ntdll: Use the correct section start when reading the COR header. 2023-04-13 09:12:28 +02:00
Hans Leidekker
f512b3c08c ws2_32: Skip non-address records in dns_only_query().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54819
2023-04-12 21:24:02 +02:00
Gabriel Ivăncescu
5b5dd96fdc mshtml/tests: Add tests for non-stringed url() with non-URL characters in CSS.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:48 +02:00
Gabriel Ivăncescu
ebd7f4e7f2 mshtml: Implement ProgressEvent's initProgressEvent method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:48 +02:00
Gabriel Ivăncescu
14db082f57 mshtml: Get rid of dispatch_nsevent_hook.
Since wine-gecko now implements synchronous events for image loads in legacy
modes, this is no longer needed.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:46 +02:00
Gabriel Ivăncescu
6b107d4181 mshtml: Implement complete prop for input elements.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:46 +02:00
Gabriel Ivăncescu
4cb364037f mshtml: Set dom.ipc.plugins.enabled to FALSE.
Since we only use in-process plugins anyway.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:44 +02:00
Gabriel Ivăncescu
608872012b mshtml: Tell wine-gecko about the IE compat document mode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-04-12 18:13:44 +02:00
Francois Gouget
1e2a24e9b8 wininet/tests: Fix InternetGetConnectedStateEx() parameter checking.
It should set the error code if given a non-zero reserved value.
2023-04-12 16:32:20 +02:00
Francois Gouget
6fa67bc8d7 wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54799
2023-04-12 16:32:20 +02:00
Francois Gouget
f0b9f257c4 wininet/tests: Dump the state string if it is not as expected.
Also set up the buffer so dumping it is safe enough if the string is
not null-terminated.
And fix the failure messages since the tested value is the string length
in characters, not the buffer size in bytes.
2023-04-12 16:32:19 +02:00
Francois Gouget
9c885b1b4c winintest/tests: Remove a couple of redundant InternetGetConnectedStateEx*() tests.
The first test would succeed whether the API touched the buffer or not,
while the second one only succeeds if the API sets the first character
to 0. So keeping the second test is sufficient.
2023-04-12 16:32:17 +02:00
Francois Gouget
12c94ec6e8 wininet/tests: Avoid an unnecessary lstrlenW() call in internet.c. 2023-04-12 16:32:17 +02:00
Francois Gouget
341da46629 wininet/tests: Fix the InternetErrorDlg() tests on Windows 10 1607.
ERROR_INTERNET_SEC_CERT_WEAK_SIGNATURE is not supported on 1507, broken
on 1607 and works as expected on 1709+.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54815
2023-04-12 16:32:02 +02:00
Piotr Caban
7f9748d3af wineps: Handle EMR_SCALEWINDOWEXTEX record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
90c4829512 wineps: Handle EMR_SCALEVIEWPORTEXTEX record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
fadc63fb67 wineps: Handle EMR_INTERSECTCLIPRECT record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
3455d80f50 wineps: Handle EMR_EXCLUDECLIPRECT record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
b8ae45ed48 wineps: Handle EMR_OFFSETCLIPRGN record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
be530b3759 wineps: Handle EMR_SETTEXTALIGN record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
480b42a95d wineps: Handle EMR_SETSTRETCHBLTMODE record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
f358dcb784 wineps: Handle EMR_SETROP2 record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
a6ceafae2e wineps: Handle EMR_INVERTRGN record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
e9da35db21 wineps: Handle EMR_FRAMERGN record in spool files. 2023-04-12 16:31:46 +02:00
Piotr Caban
5c3b412cf8 wineps: Handle EMR_FILLRGN record in spool files. 2023-04-12 16:31:46 +02:00
Tatsuyuki Ishi
a612ab6f2a ntdll: Use log-linear bucketing for free lists.
Currently, the free list consists of a "small list" for sizes below 256,
which are linearly spaced, and a "large list" which is manually split
into a few chunks.

This patch replaces it with a single log-linear policy, while expanding
the range the large list covers.

The old implementation had issues when a lot of large allocations
happened. In this case, all the allocations went in the last catch-all
bucket in the "large list", and what happens is:
1. The linked list grew in size over time, causing searching cost to
   skyrocket.
2. With the first-fit allocation policy, fragmentation was also making
   the problem worse.

The new bucketing covers the entire range up until we start allocating
large blocks, which will not enter the free list. It also makes the
allocation policy closer to best-fit (although not exactly), reducing
fragmentation.

The increase in number of free lists does incur some cost when it needs
to be skipped over, but the improvement in allocation performance
outweighs it.

For future work, these ideas (mostly from glibc) might or might not
benefit performance:
- Use an exact best-fit allocation policy.
- Add a bitmap for freelist, allowing empty lists to be skipped with a
  single bit scan.

Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2023-04-12 12:03:51 +02:00
Alexandre Julliard
f78a604f9b ntdll: Use the fabs() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
0aa71bdec4 ntdll: Use the floor() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
ef4cefe8fb ntdll: Use the ceil() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
4371d5a9dc ntdll: Use the sqrt() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
913d6abc50 ntdll: Use the pow() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
9de6d202e6 ntdll: Use the log() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
91faba4d9a ntdll: Use the atan2() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
50c1ec6060 ntdll: Use the atan() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
05e4a39f0d ntdll: Use the tan() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
b655da1556 ntdll: Use the cos() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Alexandre Julliard
aa4d70b5dc ntdll: Use the sin() implementation from the bundled musl library. 2023-04-11 22:22:18 +02:00
Davide Beatrici
1546ef3015 winepulse: Use mmdevdrv structs from mmdevapi. 2023-04-11 21:47:32 +02:00
Davide Beatrici
bdabe6a47b wineoss: Use mmdevdrv structs from mmdevapi. 2023-04-11 21:47:32 +02:00
Davide Beatrici
854066a589 winecoreaudio: Use mmdevdrv structs from mmdevapi. 2023-04-11 21:47:32 +02:00
Davide Beatrici
d67a211cb1 winealsa: Move common mmdevdrv structs into mmdevapi. 2023-04-11 21:47:32 +02:00
Piotr Caban
061dc3a480 gdi32: Support stock brush in EMR_FRAMERGN. 2023-04-11 18:22:29 +02:00
Piotr Caban
10dfb4f3b7 gdi32: Support stock brush in EMR_FILLRGN. 2023-04-11 18:22:29 +02:00
Piotr Caban
1fa938c17e gdi32: Factor out function for obtaining gdi object handle. 2023-04-11 18:22:29 +02:00
Piotr Caban
507e5481b0 wineps: Handle EMR_CREATEBRUSHINDIRECT record in spool files. 2023-04-11 18:00:10 +02:00
Piotr Caban
ebb75389ac wineps: Handle EMR_CREATEPEN record in spool files. 2023-04-11 18:00:10 +02:00
Piotr Caban
74c376dd4b wineps: Handle EMR_POLYDRAW16 record in spool files. 2023-04-11 18:00:10 +02:00
Piotr Caban
1a326f6c4e wineps: Handle EMR_POLYDRAW record in spool files. 2023-04-11 18:00:10 +02:00
Piotr Caban
700f0c6b8c wineps: Handle EMR_DELETEOBJECT record in spool files. 2023-04-11 18:00:10 +02:00
Santino Mazza
dd6b2f9ab5 mf/session: Handle error when a source fails to start. 2023-04-11 16:16:51 +02:00
Santino Mazza
74b64eab20 mf/session: Handle errors when subscribing to source's events. 2023-04-11 16:16:50 +02:00
Santino Mazza
2580799e70 mf/tests: Test media session error handling.
Test error handling for mfsession_Start when a source fails
at different stages.
2023-04-11 16:16:48 +02:00
Rémi Bernon
1cd71e92be imm32: Use INPUTCONTEXT directly in ImmSetConversionStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon
67ddc3146c imm32: Use INPUTCONTEXT directly in ImmGetConversionStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon
26d2d2c438 imm32: Compare open status values in ImmSetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon
6e51928ae5 imm32: Cache INPUTCONTEXT values for every IME. 2023-04-11 12:37:08 +02:00
Rémi Bernon
374db20a5d imm32: Use INPUTCONTEXT directly in ImmSetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon
0af5829476 imm32: Use INPUTCONTEXT directly in ImmGetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon
3cd1dc5273 imm32: Serialize ImeInquire / ImeDestroy calls. 2023-04-11 12:37:08 +02:00
Rémi Bernon
ff08b083fd imm32/tests: Cleanup the cross thread IMC tests. 2023-04-11 12:37:08 +02:00
Rémi Bernon
152d6e8b27 imm32/tests: Reduce the number of IME installations. 2023-04-11 12:37:08 +02:00
Paul Gofman
01c59b3f18 winex11.drv: Fix bit shifts in pixel format description for RGBA formats. 2023-04-11 12:36:53 +02:00
Alexandre Julliard
d70a652da8 msvcrt: Use the _dclass()/_fdclass() implementation from the bundled musl library. 2023-04-11 12:36:53 +02:00
Alexandre Julliard
75eb987768 msvcrt: Use the sqrt() implementation from the bundled musl library. 2023-04-11 12:36:53 +02:00
Alexandre Julliard
20c53e72c9 msvcrt: Use the sqrtf() implementation from the bundled musl library. 2023-04-11 12:36:53 +02:00
Alexandre Julliard
bfc3a2bdb3 msvcrt: Use the erf()/erfc()/erff()/erfcf() implementation from the bundled musl library. 2023-04-11 12:36:53 +02:00
Alexandre Julliard
3b1e2a7bfd msvcrt: Use the remainder()/remainderf() implementation from the bundled musl library. 2023-04-11 12:36:53 +02:00
Stefan Dösinger
64eed89a53 include: X86 msvc has _InterlockedExchangePointer and _InterlockedCompareExchangePointer.
I fixed this issue in ad05f33d67, but a40973f20 regressed this again. I
was carrying a patch for quite a while, feeling dejavu.

According to boost they are available since MSVC 2015. I don't have old
versions of msvc hanging around, and we don't put much value in keeping
old versions working, so just use them unconditionally.
2023-04-11 12:36:53 +02:00
Alex Henrie
28233dd3bc winex11: Allow replacing either context in wglShareLists.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=11436
2023-04-11 11:42:11 +02:00
Alex Henrie
c3eca06a2a opengl32/tests: Make the wglShareLists tests comprehensive.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51311
2023-04-11 11:42:11 +02:00
Biswapriyo Nath
467604c661 include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
This matches the declaration with official documentation and fixes
the following two compiler errors in apitrace project.

d3d9trace.cpp:28469:59: error: invalid conversion from 'const DXVA2_ConfigPictureDecode*' to 'DXVA2_ConfigPictureDecode*' [-fpermissive]
d3d9trace.cpp:28194:65: error: invalid conversion from 'void*' to 'IUnknown*' [-fpermissive]

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-04-10 21:54:17 +02:00
Jacek Caban
84f1f36686 mshtml: Wine Gecko 2.47.4 release. 2023-04-10 16:19:33 +02:00
Alexandre Julliard
5c00be28fc msvcrt: Use the tanh()/tanhf() implementation from the bundled musl library. 2023-04-10 14:18:20 +02:00
Alexandre Julliard
4ffb1199e3 msvcrt: Use the atanh()/atanhf() implementation from the bundled musl library. 2023-04-10 14:18:18 +02:00
Alexandre Julliard
e2924fafdf msvcrt: Use the acosh()/acoshf() implementation from the bundled musl library. 2023-04-10 14:18:17 +02:00
Alexandre Julliard
6e9dd141a8 msvcrt: Use the asinh()/asinhf() implementation from the bundled musl library. 2023-04-10 14:18:17 +02:00
Alexandre Julliard
ecfbd5971e msvcrt: Use the atan() implementation from the bundled musl library. 2023-04-10 14:18:17 +02:00
Alexandre Julliard
82563ede70 msvcrt: Use the asin() implementation from the bundled musl library. 2023-04-10 14:18:11 +02:00
Alexandre Julliard
938acddb9f msvcrt: Use the acos() implementation from the bundled musl library. 2023-04-10 14:18:11 +02:00
Alexandre Julliard
5c3de7d794 msvcrt: Use the exp() implementation from the bundled musl library. 2023-04-10 14:18:10 +02:00
Alexandre Julliard
e525730cc1 msvcrt: Use the atanf() implementation from the bundled musl library. 2023-04-10 14:18:09 +02:00
Alexandre Julliard
472d7ec76d msvcrt: Use the asinf() implementation from the bundled musl library.
With the changes from 0b8db61271.
2023-04-10 14:18:08 +02:00
Alexandre Julliard
c9399ae7d5 msvcrt: Use the acosf() implementation from the bundled musl library.
With the changes from 9c8f8e715f.
2023-04-10 14:18:06 +02:00
Alexandre Julliard
221f891848 msvcrt: Use the expf() implementation from the bundled musl library. 2023-04-10 14:18:06 +02:00
Alexandre Julliard
554e7aee72 msvcrt: Use the rint()/rintf() implementation from the bundled musl library. 2023-04-10 14:18:05 +02:00
Jactry Zeng
c26fd2621c shell32: Assign a default flags for view information of IShellView. 2023-04-10 14:18:00 +02:00
Jactry Zeng
b659fd28ef shell32/tests: Add tests for IShellView_GetCurrentInfo(). 2023-04-10 14:18:00 +02:00
Jactry Zeng
bac369eb00 shell32/tests: Move interfaces creation to a function. 2023-04-10 14:18:00 +02:00
Jactry Zeng
e5c3a111c5 shell32: Assign a default view mode value for IShellView. 2023-04-10 14:18:00 +02:00
Jactry Zeng
eef4393fb7 include: Add FWF_NONE. 2023-04-10 14:18:00 +02:00
Paul Gofman
17c86f42de winegstreamer: Pass temporary sample to wg_transform_read_mf() in h264 decoder. 2023-04-10 14:18:00 +02:00
Paul Gofman
a208589b27 winegstreamer: Provide samples if DXGI device manager is set in h264 decoder. 2023-04-10 14:18:00 +02:00
Paul Gofman
3f2ff939a1 winegstreamer: Process MFT_MESSAGE_SET_D3D_MANAGER in h264 decoder. 2023-04-10 14:18:00 +02:00
Paul Gofman
31d11d80f6 mf/tests: Test h264 decoder with dxgi device manager. 2023-04-10 14:18:00 +02:00
Paul Gofman
9ab3804903 mf/tests: Increase h264data.bin video length. 2023-04-10 14:18:00 +02:00
Nikolay Sivov
69b98b2b79 mfplat: Handle more video subtypes in MFInitMediaTypeFromAMMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-04-10 14:18:00 +02:00
Davide Beatrici
357f0e9a49 winecoreaudio: Implement and call timer_loop in unixlib. 2023-04-10 14:18:00 +02:00
Davide Beatrici
c6a97c0f19 winecoreaudio: Implement and call set_event_handle in unixlib. 2023-04-10 14:18:00 +02:00
Davide Beatrici
356a93732c winecoreaudio: Store flags in unixlib. 2023-04-10 14:18:00 +02:00
Davide Beatrici
57dfaf1d0c winecoreaudio: Retain precision when storing period in unixlib. 2023-04-10 14:18:00 +02:00
Francois Gouget
8d2146934c iphlpapi: Fix the GAA_FLAG_INCLUDE_GATEWAYS constant name. 2023-04-10 14:18:00 +02:00
Zhiyi Zhang
9909631f23 wined3d: Add GPU information for AMD Raphael. 2023-04-07 20:54:52 +02:00
Jacek Caban
0a56a4ada2 winevulkan: Add support for VK_KHR_map_memory2. 2023-04-07 20:36:44 +02:00
Vijay Kiran Kamuju
389fbcf961 msvcp110: Add std::_Rethrow_future_exception implementation. 2023-04-07 20:36:12 +02:00
Francois Gouget
11934d2c92 kernel32/tests: Improve the WideCharToMultiByte() null-termination and truncation tests.
Check the content of the output buffer in addition to checking the
return value.
Also show that multibyte characters are not truncated when the output
buffer is too small.
2023-04-07 18:00:58 +02:00
Francois Gouget
f75fc81c38 wininet/tests: Avoid an unnecessary strlen() call in internet.c. 2023-04-07 18:00:29 +02:00
Francois Gouget
ceb058e622 wininet/tests: Remove redundant quotes in an ok() message.
wine_dbgstr_w() already quotes (and escapes) the string.
2023-04-07 18:00:27 +02:00
Rémi Bernon
e04079160d imm32: Remove unnecessary HIMC check in IME UI window proc. 2023-04-07 18:00:18 +02:00
Rémi Bernon
617e24233b imm32: Call DefWindowProcW from IME UI for unhandled messages. 2023-04-07 18:00:18 +02:00
Rémi Bernon
c902be6a84 imm32: Cleanup default IME UI window proc traces. 2023-04-07 18:00:18 +02:00
Rémi Bernon
d8fa43377d winemac: Use the default IME UI window proc implementation.
This slightly changes ime_ui_update_window to match what was previously
in winex11.drv, since e5f0cdfcf6, which
seems to be a more recent change.
2023-04-07 18:00:15 +02:00
Rémi Bernon
bc1b15211d winex11: Move IME UI proc to default IME implementation. 2023-04-07 18:00:14 +02:00
Rémi Bernon
a5117ed5cd winex11: Cleanup spaces in IME UI window proc. 2023-04-07 18:00:14 +02:00
Rémi Bernon
82971f2348 imm32/tests: Add more ImmSetCompositionString tests. 2023-04-07 17:17:42 +02:00
Rémi Bernon
272677e7e0 imm32/tests: Add more ImmGetCompositionString(W|A) tests. 2023-04-07 17:17:42 +02:00
Rémi Bernon
0522c01be3 imm32/tests: Test WM_IME_NOTIFY messages target window.
Showing that they aren't sent to the focused window but only to the
INPUTCONTEXT hWnd member.
2023-04-07 17:17:40 +02:00
Rémi Bernon
8cb2d2d541 imm32/tests: Test setting the same HIMC statuses twice. 2023-04-07 17:17:40 +02:00
Francois Gouget
089cfc7953 dinput/tests: Fix the spelling of an ok() message. 2023-04-07 17:10:41 +02:00
Alistair Leslie-Hughes
f1594312fb msado15: Initialize all SYSTEMTIME members. 2023-04-07 17:05:52 +02:00
Zebediah Figura
58a791b7f9 d3d10core/tests: Add a regression test for mismatch of layered framebuffer attachments. 2023-04-07 17:05:52 +02:00
Zebediah Figura
41581e8de8 wined3d: Do not use glFramebufferTexture() to bind array RTVs with an array size of one.
Despite the array size, these are considered to be "layered" for the purposes of
GL_FRAMEBUFFER_ATTACHMENT_LAYERED, and mixing array and non-array textures in
this way will trigger GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49002
2023-04-07 17:05:52 +02:00
Hans Leidekker
93a2556fae wldap32: Don't call ldap_connect() when a connection has already been established. 2023-04-07 17:05:52 +02:00
Hans Leidekker
3bdf2ad64c wldap32: Implement LDAP_OPT_REFERRAL_HOP_LIMIT. 2023-04-07 17:05:52 +02:00
Alexandre Julliard
b89b7b9aaf msvcrt: Use the pow()/powf() implementation from the bundled musl library. 2023-04-07 17:05:52 +02:00
Alexandre Julliard
25c233ece4 msvcrt: Use the tan()/tanf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard
6ec636f288 msvcrt: Use the cos()/cosf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard
5ddd46592d msvcrt: Use the sin()/sinf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard
90c61c7cd2 msvcrt: Use the __cosdf() implementation from the bundled musl library.
With the changes from 9008cd2f24.
2023-04-07 13:29:46 +02:00
Alexandre Julliard
b46bf3ffb1 msvcrt: Use the __sindf() implementation from the bundled musl library.
With the changes from ee7b5ebc3a.
2023-04-07 13:29:46 +02:00
Alexandre Julliard
b9b19ea2db msvcrt: Use the __rem_pio2()/__rem_pio2f() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard
8252be560e msvcrt: Use the nexttoward()/nexttowardf() implementation from the bundled musl library.
Rename the musl functions to avoid compiler warnings about the
signature mismatch (double vs. long double).
2023-04-07 13:29:46 +02:00
Alexandre Julliard
85e655445b msvcrt: Use the nextafter()/nextafterf() implementation from the bundled musl library. 2023-04-07 13:28:07 +02:00
Alexandre Julliard
cd29cd85ab msvcrt: Use the ceil()/ceilf() implementation from the bundled musl library.
With the changes from 2a5e68ab80.
2023-04-07 13:28:06 +02:00
Alexandre Julliard
70bcaec7dc msvcrt: Use the floor()/floorf() implementation from the bundled musl library.
With the changes from 29c07324c1.
2023-04-07 13:28:05 +02:00
Alexandre Julliard
9db27802c3 msvcrt: Use the round()/roundf() implementation from the bundled musl library.
With the changes from df9c11ffa8.
2023-04-07 13:28:02 +02:00
Zhiyi Zhang
77b6cf56c1 light.msstyles: Don't draw a border for progress fill parts.
These parts were supposed to contain a solid fill background without a border. If BorderSize is not
set, they will use the border size of 1 from the inherited progress class.
2023-04-07 13:27:35 +02:00
Zhiyi Zhang
2960cf2e06 light.msstyles: Use border fill background for progress parts.
These parts only contain simple images that can be achieved with border fill backgrounds as well.
So visually, this change is a no-op. The reason for using image file backgrounds is that I tend
to use the same background type as the theme files for Windows. However, drawing border fill
background is much more efficient.

Pro Evolution Soccer 2008 demo is buggy and generates ~570,000 WM_PAINT messages for the progress
control. On Windows, it's ~1,140,000 WM_PAINT messages. DrawThemeBackground() on Wine is 10x more
expensive than that of Windows and I found little room for optimization. 60% of the time in
DrawThemeBackground() is spend for CreateCompatibleDC() and other 30% for actually drawing. So I
decided to change light.msstyles instead.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54728
2023-04-07 13:27:33 +02:00
Zebediah Figura
6c11a4af58 winegstreamer: Move flipping based on RGB to the frontends.
Give the backend a more simple and self-consistent API.

This commit also changes behaviour, by virtue of *not* changing some frontends.
In specific, this commit does not modify the AVI splitter, which is known to
output top-down RGB samples on Windows if the original video uses them (this is
trivial to test by modifying test.avi in quartz to use "bgra" instead of
"yuv420p"). It also does not modify the Media Foundation color converter DMO,
whose tests imply that the MF_MT_DEFAULT_STRIDE attribute is always positive.
2023-04-07 13:26:58 +02:00
Zebediah Figura
af82c44e03 winegstreamer: Translate the MF_MT_DEFAULT_STRIDE attribute to flipped video in mf_media_type_to_wg_format(). 2023-04-07 13:26:58 +02:00
Zebediah Figura
ef354da590 winegstreamer: Set the MF_MT_DEFAULT_STRIDE attribute in mf_media_type_from_wg_format(). 2023-04-07 13:26:58 +02:00
Zebediah Figura
98d209752c winegstreamer: Initialize media source video types from a wg_video_format array.
The mf_media_type_from_wg_format function will use the video format to calculate stride.
2023-04-07 13:26:56 +02:00
Piotr Caban
93c5adbf92 wineps: Handle EMR_PLGBLT record in spool files. 2023-04-07 13:26:24 +02:00
Piotr Caban
61c8910600 wineps: Handle EMR_MASKBLT record in spool files. 2023-04-07 13:26:24 +02:00
Zebediah Figura
9e9f3703b2 d3dx10: Map DXGI_FORMAT_R16_UNORM to DXGI_FORMAT_R16G16B16A16_UNORM in get_d3dx10_dds_format(). 2023-04-07 13:18:26 +02:00
Zebediah Figura
2d9b61d039 windowscodecs: Map GUID_WICPixelFormat32bppRGBA1010102 to DXGI_FORMAT_R10G10B10A2_UNORM as well. 2023-04-07 13:18:26 +02:00
Zebediah Figura
2666d020de d3dx10/tests: Port some additional D3DX10GetImageInfoFromMemory() tests from d3dx11. 2023-04-07 13:18:24 +02:00
Eric Pouech
e658a30a91 psapi: Test filesystem redirection with EnumProcessModulesEx.
To make it short: redirection has no impact on EnumProcessModules*()
behavior.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-06 18:02:17 +02:00
Paul Gofman
c4073d5abf win32u: Set DEVPKEY_Device_RemovalPolicy for GPUs. 2023-04-06 17:02:18 +02:00
Paul Gofman
bee387dc8a win32u: Set DEVPKEY_Device_BusNumber for GPUs. 2023-04-06 17:02:18 +02:00
Paul Gofman
80910517d7 win32u: Set DEVPKEY_Device_MatchingDeviceId for GPUs. 2023-04-06 17:02:18 +02:00
Alexandros Frantzis
2c02d6e817 winex11.drv: Use a distinct type for the settings id.
This helps us avoid using an id from a different namespace (e.g.,
from the host handler id namespace) as a settings id.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-06 14:33:06 +02:00
Alexandros Frantzis
83b1d167bd winex11.drv: Do not call desktop get_current_mode() from UpdateDisplayDevices.
We don't need to set the win32u current mode when we are in virtual
desktop mode, and, additionally, skipping this avoids a deadlock, since
the virtual desktop get_current_mode() implementation recurses into
win32u.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Fixes: 4232312dff
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54781
2023-04-06 14:33:03 +02:00
Alexandros Frantzis
239bc1b756 winex11.drv: Use the proper id with the settings handler.
The adapter ids used by the host and settings handlers are not guaranteed
to be compatible, so ensure we are using the proper id with each
handler.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-06 14:33:01 +02:00
Alexandre Julliard
a44bf343ba msvcrt: Use the fma()/fmaf() implementation from the bundled musl library. 2023-04-06 14:32:45 +02:00
Alexandre Julliard
21cbe74b88 msvcrt: Use the log2()/log2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard
714874ba46 msvcrt: Use the log1p()/log1pf() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard
ca06438759 msvcrt: Use the exp2()/exp2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard
6148bf503b msvcrt: Use the atan2()/atan2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard
03bdd6d52d msvcrt: Use the sinh() implementation from the bundled musl library.
With the changes from 11166aa01e.
2023-04-06 14:32:43 +02:00
Alexandre Julliard
9fd9ebcb7a msvcrt: Use the cosh() implementation from the bundled musl library.
With the changes from 60d178b410.
2023-04-06 14:32:42 +02:00
Alexandre Julliard
66bef6db20 msvcrt: Use the sinhf() implementation from the bundled musl library.
With the changes from 4fd9daea4a.
2023-04-06 14:32:41 +02:00
Alexandre Julliard
248a17377c msvcrt: Use the coshf() implementation from the bundled musl library.
With the changes from 361143252b.
2023-04-06 14:32:39 +02:00
Alexandre Julliard
bbc8c34735 msvcrt: Use the __expo2()/__expo2f() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Alexandre Julliard
c53bd233f0 msvcrt: Use the log10()/log10f() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Alexandre Julliard
f0c700502a msvcrt: Use the log()/logf() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Rémi Bernon
3fad9cac5b dinput/tests: Mark some tests as flaky to work around fvwm bug.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54594
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54713
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54774
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
048b0421ff include: Add Windows.UI.Composition.CompositionGraphicsDevice definition.
Needed for mingw Firefox build.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
191dbcc807 include: Add Windows.UI.Composition.CompositionDrawingSurface definition.
Needed by Windows.UI.Composition.CompositionGraphicsDevice.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
0d4b02a15f include: Add Windows.UI.Composition.CompositionObject definition.
Needed for mingw Firefox build.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
3de1dab657 include: Add Windows.UI.Composition.Compositor definition.
Needed for mingw Firefox build.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
ee7ba9fb56 include: Add Windows.UI.Composition.CompositionCommitBatch definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
62ac026286 include: Add Windows.UI.Composition.Vector4KeyFrameAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
208971f181 include: Add Windows.UI.Composition.Vector3KeyFrameAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
52478c3011 include: Add Windows.UI.Composition.Vector2KeyFrameAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
dfbe81f7c2 include: Add Windows.UI.Composition.CompositionTarget definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
d3ac460cdd include: Add Windows.UI.Composition.CompositionScopedBatch definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
b9878e0c2e include: Add Windows.UI.Composition.ScalarKeyFrameAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
ed5d87a565 include: Add Windows.UI.Composition.QuaternionKeyFrameAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
76ffc7324f include: Add Windows.UI.Composition.CompositionPropertySet definition.
Needed for mingw Firefox build and Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
438185ed21 include: Add Windows.UI.Composition.LinearEasingFunction definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:33 +02:00
Mohamad Al-Jaf
c5de4c4357 include: Add Windows.UI.Composition.InsetClip definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
6b173e51e5 include: Add Windows.UI.Composition.ExpressionAnimation definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
779d6b2d3c include: Add Windows.UI.Composition.CompositionEffectFactory definition.
Needed by Windows.UI.Composition.Compositor.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
0b5bc1ffd9 include: Add Windows.UI.Composition.CompositionEffectBrush definition.
Needed by Windows.UI.Composition.CompositionEffectFactory.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
a2f13c76e6 include: Add Windows.UI.Composition.CubicBezierEasingFunction definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
69848689f1 include: Add Windows.UI.Composition.CompositionColorBrush definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
7dc5eee13c include: Add Windows.UI.Composition.ColorKeyFrameAnimation definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
00eff2447c include: Add Windows.UI.Composition.Visual definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
89c1dc71b5 include: Add Windows.UI.Composition.CompositionClip definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
0eaafd2dcf include: Add Windows.UI.Composition.SpriteVisual definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
7ba9a38456 include: Add Windows.UI.Composition.CompositionSurfaceBrush definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
9129c338b8 include: Add ICompositionSurface interface definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
06133eaf0c include: Add Windows.UI.Composition.CompositionBrush definition.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
6637e1d8fa include: Add windows.ui.composition.idl file.
Needed for mingw Firefox build.
2023-04-06 14:32:32 +02:00
Zebediah Figura
95258873a5 advapi32: Print ReportEvent() messages one line at a time.
.NET Framework passes multiline backtraces to ReportEvent(), which get cut off when passed to debugstr_w().
2023-04-06 14:32:32 +02:00
Mohamad Al-Jaf
3939eaf81a cryptowinrt/tests: Remove racey refcount test.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54783
2023-04-06 14:32:32 +02:00
Piotr Caban
273f40b6c4 gdi32: Let SetDIBits handle DIB_PAL_INDICES color usage in PlayEnhMetaFileRecord. 2023-04-06 14:32:32 +02:00
Piotr Caban
8ada95cec4 gdi32: Rename DIB_PAL_MONO to DIB_PAL_INDICES. 2023-04-06 14:32:32 +02:00
Piotr Caban
3f051d3b1e win32u: Add support for undocummented DIB_PAL_INDICES color usage in SetDIBits. 2023-04-06 14:32:32 +02:00
Alexandre Julliard
b5bc026798 msvcrt: Use the fmod()/fmodf() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard
ec31d30ec0 msvcrt: Use the jn()/yn() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard
5895cb5e93 msvcrt: Use the j1()/y1() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard
c75a041044 msvcrt: Use the j0()/y0() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard
4ef90e94fd msvcrt: Use the expm1()/expm1f() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard
dae30bd66d msvcrt: Use the tgamma()/tgammaf() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard
442052fe18 msvcrt: Use the lgamma()/lgammaf() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard
f27f2d4e66 msvcrt: Use the remquo()/remquof() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard
1cff65b69f msvcrt: Use the logb()/logbf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard
d1ba9a30dc msvcrt: Use the ilogb()/ilogbf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard
52621691fd msvcrt: Use the scalbn() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard
0750079ace msvcrt: Use the nan()/nanf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Zebediah Figura
4a441e7b41 quartz/vmr9: Do not set the mode if we failed to create the default presenter. 2023-04-05 15:25:28 +02:00
Zebediah Figura
966bad6aa5 quartz/vmr9: Do not bother setting the cookie when using the default presenter.
We do not use it in this case.
2023-04-05 15:25:27 +02:00
Zebediah Figura
0ea07738b8 quartz/vmr9: Return a default_presenter structure from the default presenter constructor. 2023-04-05 15:25:25 +02:00
Zebediah Figura
f6c1548bf8 quartz/vmr9: Do not clear the previous allocator and presenter in IVMRFilterConfig9::SetRenderingMode().
There cannot be any previous allocator and presenter. They can only be set by
this function, which cannot be called more than once, or by
IVMRSurfaceAllocatorNotify9::AdviseSurfaceAllocator(), which can only be called
after setting the rendering mode.
2023-04-05 15:25:23 +02:00
Eric Pouech
8ad9ddaa28 kernel32/tests: Workaround broken behavior in Win7 Pro64.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-04-05 15:25:05 +02:00
Eric Pouech
24069aad30 winedbg: Don't crash when no search path has been set.
Note: it's anyway wrong to search source files inside modules' path
(a proper fix will require revisiting source file handling).
This fix will actually be sufficient when running wine from within
its build tree.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-04-05 15:24:41 +02:00
Rémi Bernon
2be535a221 winex11: Set x11drv_win_data XIC out of X11DRV_CreateIC. 2023-04-05 14:56:11 +02:00
Rémi Bernon
d84f8dccf0 winex11: Early return control flow in xic_preedit_caret. 2023-04-05 14:56:10 +02:00
Rémi Bernon
994d79903a winex11: Fix XIM wchar encoding in xic_preedit_draw. 2023-04-05 14:56:10 +02:00
Rémi Bernon
1a0ba03cd7 winex11: Reorder control flow in xic_preedit_draw. 2023-04-05 14:56:10 +02:00
Rémi Bernon
d0691e8c9a winex11: Refactor XIM input style selection. 2023-04-05 14:56:10 +02:00
Rémi Bernon
08bc39bd0e winex11: Register XIC status callbacks. 2023-04-05 14:56:10 +02:00
Rémi Bernon
bf9a649e10 winex11: Add a helper to select IME private font. 2023-04-05 14:56:10 +02:00
Rémi Bernon
904ddc7eb5 winex11: Add a helper to get COMPOSITIONSTRING text. 2023-04-05 14:56:10 +02:00
Rémi Bernon
b869270bef winex11: Pass INPUTCONTEXT pointer to UpdateDefaultIMEWindow. 2023-04-05 14:56:10 +02:00
Rémi Bernon
fd9cd64b79 winex11: Assume IME UI window always has a valid HIMC. 2023-04-05 14:56:10 +02:00
Rémi Bernon
addef4c979 winemac: Add a helper to select IME private font. 2023-04-05 14:56:10 +02:00
Rémi Bernon
fc37fdc44e winemac: Add a helper to get COMPOSITIONSTRING text. 2023-04-05 14:56:10 +02:00
Rémi Bernon
7c09cae7f4 winemac: Add a helper to get IME private window. 2023-04-05 14:56:10 +02:00
Rémi Bernon
5f413c1ff5 winemac: Pass INPUTCONTEXT pointer to UpdateDataInDefaultIMEWindow. 2023-04-05 14:56:10 +02:00
Rémi Bernon
f16dcbbe47 winemac: Assume IME UI window always has a valid HIMC. 2023-04-05 14:56:10 +02:00
Rémi Bernon
d69f799ced winemac: Use UINT(32) for HIMC in the unixlib interface. 2023-04-05 14:56:10 +02:00
Rémi Bernon
158d6caabe winemac: Rename imeData / data members and variables to himc. 2023-04-05 14:55:29 +02:00
Eric Pouech
020b6e094f winedump: Fix out of bounds access (spotted by GCC13).
Anyway, it's a pain that we have to maintain two MS symbols
demanglers (this one and the one in dlls/msvcrt).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-05 11:37:19 +02:00
Giovanni Mascellani
9015565ac0 dxgi/tests: Test the frame latency waitable more thoroughly. 2023-04-05 11:36:14 +02:00
Giovanni Mascellani
3cb350b228 dxgi/tests: Rename the waitable object from "event" to "semaphore".
From the tests it behaves more like a semaphore than like an event.

I'm not testing explicitly because I'm not sure it's relevant, but
another indication is that calling ReleaseSemaphore() returns
ERROR_ACCESS_DENIED, while calling SetEvent() returns
ERROR_INVALID_HANDLE.
2023-04-05 11:36:13 +02:00
Giovanni Mascellani
54bf9a9363 dxgi: Return a duplicate frame latency event. 2023-04-05 11:36:13 +02:00
Giovanni Mascellani
c6c065818c dxgi: Return correct present count with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT. 2023-04-05 11:36:13 +02:00
Giovanni Mascellani
ecc480c8dc dxgi/tests: Test GetLastPresentCount() with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT. 2023-04-05 11:36:11 +02:00
Connor McAdams
2f3673ca7b uiautomationcore: Implement UIA_NamePropertyId for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-04 22:24:13 +02:00
Connor McAdams
9bf99d3713 uiautomationcore: Implement UIA_ClassNamePropertyId for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-04 22:24:13 +02:00
Connor McAdams
646d44078c uiautomationcore: Implement UIA_ProcessIdPropertyId for default HWND provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-04 22:24:13 +02:00
Connor McAdams
8070e44f76 uiautomationcore: Add a default ProviderType_BaseHwnd clientside provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-04 22:24:13 +02:00
Connor McAdams
3a456d51f2 uiautomationcore/tests: Add tests for default ProviderType_BaseHwnd clientside provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-04-04 22:24:13 +02:00
Stefan Dösinger
f197125cc0 wined3d: Rotate vk bind masks in wined3d_swapchain_vk_rotate. 2023-04-04 22:22:17 +02:00
Alexandros Frantzis
aa5915ff43 wineandroid.drv: Set the current mode using gdi_device_manager.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:44 +02:00
Alexandros Frantzis
faa0fc828e winemac.drv: Set the current mode using gdi_device_manager.
Since setting the current mode also sets the registry settings (if not
already set), we also remove the code that manually changes the registry
settings.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com
2023-04-04 21:57:42 +02:00
Alexandros Frantzis
239f2180cb winemac.drv: Extract function to get the current mode.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:41 +02:00
Alexandros Frantzis
ae2314512c winewayland.drv: Set the current mode using gdi_device_manager.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:39 +02:00
Alexandros Frantzis
4232312dff winex11.drv: Set the current mode using gdi_device_manager.
Since setting the current mode also sets the registry settings (if not
previously set), we also remove the code that manually changes the
registry settings.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:38 +02:00
Alexandros Frantzis
22ce57c418 winex11.drv: Extract function to check devmode equality.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:36 +02:00
Alexandros Frantzis
df8b7e0473 win32u: Support setting the current mode using gdi_device_manager.
Update the gdi_device_manager API to enable drivers to set the current
mode (along with the registry mode if not already set) in
UpdateDisplayDevices.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-04 21:57:33 +02:00
Eric Pouech
b7225671fd kernel32/debugger: Fix a failing test (on Wine).
The failing test was garbled by remaining debug events from previous test.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-04 21:20:38 +02:00
Zhiyi Zhang
3cbba43ddb winex11.drv: Fix a typo. 2023-04-04 18:30:53 +02:00
Rémi Bernon
e3453ed814 ws2_32/tests: Adjust test results without host IPv6 support. 2023-04-04 18:30:23 +02:00
Florian Will
c5a58aed08 dinput/tests: Remove unmatched winetest_pop_context(). 2023-04-04 11:55:37 +02:00
Florian Will
ba889f2c4c dinput: Set guidType = GUID_Unknown for HID collections.
Fixes an issue in Zusi 3 where DIDFT_COLLECTION objects would be passed
to SetDataFormat.
2023-04-04 11:55:36 +02:00
Florian Will
4413356d19 dinput/tests: Add guidType test for collection objects. 2023-04-04 11:55:35 +02:00
Rémi Bernon
3385cda1c7 imm32: Use a stack allocated buffer in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon
8d0e7d8cdc imm32: Cleanup parameters and traces in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon
101743205d imm32: Simplify control flow in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon
4445fd14d7 imm32: Fix mixed-up HIMC / imc pointers in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon
7f0c2c48df imm32: Rewrite ImmInternalSendIMENotify helper as imc_notify_ime. 2023-04-04 09:44:58 +02:00
Rémi Bernon
3b4aa1662e imm32: Rewrite ImmInternalPostIMEMessage helper as imc_post_message. 2023-04-04 09:44:58 +02:00
Rémi Bernon
f6cf1d4432 imm32: Rewrite ImmInternalSendIMEMessage helper as imc_send_message. 2023-04-04 09:44:58 +02:00
Alex Henrie
12b5da66e9 wldap32: Skip over the TLS certificate check if not using TLS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54772
2023-04-04 09:44:29 +02:00
Alexandre Julliard
b5ba4baa51 msvcrt: Use the copysign()/copysignf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard
233eea6cfa msvcrt: Use the fdim()/fdimf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard
5564512b09 msvcrt: Use the fmin()/fminf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard
4a9258ee97 msvcrt: Use the fmax()/fmaxf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard
0900667876 msvcrt: Use the trunc()/truncf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard
15b50e98a4 msvcrt: Use the hypot()/hypotf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard
406c583c3b msvcrt: Use the cbrt()/cbrtf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard
e5808e2036 msvcrt: Use the modf()/modff() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard
be147a806b msvcrt: Use the frexp()/frexpf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard
b7228259f8 msvcrt: Use the fabs()/fabsf() implementation from the bundled musl library. 2023-04-04 09:43:54 +02:00
Alexandre Julliard
438553e923 libs: Import the math library from upstream musl 1.2.3. 2023-04-04 09:43:51 +02:00
Paul Gofman
35f9091bee winegstreamer: Fix check for non-zero padding in h264 transform. 2023-04-04 09:43:46 +02:00
Rémi Bernon
64cca15329 winex11: Cleanup XIM initialization traces. 2023-04-03 16:56:18 +02:00
Rémi Bernon
f1f0386c1e winex11: Set thread data XIM pointer outside of open_xim. 2023-04-03 16:56:18 +02:00
Rémi Bernon
4390b01176 winex11: Create the thread XFontSet on thread attach. 2023-04-03 16:56:18 +02:00
Rémi Bernon
cc8a6b1384 winex11: Remove unnecessary else control flow. 2023-04-03 16:56:18 +02:00
Rémi Bernon
b91774a1ee winex11: Pass hwnd parameter to all XIC callbacks. 2023-04-03 16:56:18 +02:00
Rémi Bernon
a1f5def2dc winex11: Always create XIC preedit and status attributes. 2023-04-03 16:56:18 +02:00
Rémi Bernon
41fa67c69e winex11: Remove non-CJK specific XIC creation logic. 2023-04-03 16:56:18 +02:00
Alex Henrie
654651bf23 wintrust: Annotate WINTRUST_Alloc with __WINE_(DEALLOC|MALLOC). 2023-04-03 16:52:01 +02:00
Hugh McMaster
d350af2455 kernel32/tests: Test GetConsoleOriginalTitleW() with an empty title. 2023-04-03 16:52:01 +02:00
Hugh McMaster
30f1c1be74 kernelbase: Implement GetConsoleOriginalTitleA(). 2023-04-03 16:52:01 +02:00
Hugh McMaster
887aa70e08 kernelbase: Implement GetConsoleOriginalTitleW(). 2023-04-03 16:52:01 +02:00
Hugh McMaster
6891faf454 conhost: Save original console title on initialization. 2023-04-03 16:52:01 +02:00
Hugh McMaster
b1dc5a533b kernel32/tests: Check return length of GetConsoleOriginalTitleA/W(). 2023-04-03 16:52:01 +02:00
Daniel Tang
9a49c0a655 wintypes: Declare exported functions in rometadataresolution.h. 2023-04-03 16:52:01 +02:00
Aurimas Fišeras
18358c474d po: Update Lithuanian translation. 2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf
712f87ee8e widl: Add support for composable attribute.
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf
a7e1c707f1 widl: Add support for protected attribute. 2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf
781b8b0e99 widl: Add support for inherited runtime classes.
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Alex Henrie
42d0fa8b13 wldap32: Allow LDAP_OPT_REFERRALS to be set from a pointer. 2023-04-03 16:52:01 +02:00
Alex Henrie
e2ead2fbfe wldap32/tests: Name option test functions after the option being tested. 2023-04-03 16:52:01 +02:00
Florian Will
dcb84a45f6 dinput: Fix EnumObjects callback return value handling.
This solves an issue in ZUSI 3 settings for DirectInput devices. Delphi
defines the True value of the "C-compatible" LongBool type as -1, which
wine interpreted to mean DIENUM_STOP because it is != DIENUM_CONTINUE.
Change that logic so only an explicit DIENUM_STOP (= 0) return value
stops the enumeration of objects.
2023-04-03 16:52:01 +02:00
Florian Will
c04319e5a0 dinput/tests: Add EnumObjects callback return value test. 2023-04-03 16:52:01 +02:00
Alexandre Julliard
02876a4b13 Release 8.5. 2023-03-31 23:18:31 +02:00
Connor McAdams
6f2aa68e9f uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-31 23:12:43 +02:00
Connor McAdams
74f06be676 uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-31 23:12:42 +02:00
Connor McAdams
fc3b0d3392 uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-31 23:12:42 +02:00
Connor McAdams
77fa740398 uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-31 23:12:42 +02:00
Rémi Bernon
19186b5063 imm32/tests: Add some ImmGetCandidateWindow tests. 2023-03-31 19:15:32 +02:00
Rémi Bernon
91bb0bf545 imm32/tests: Add some ImmGetCandidateListCount(W|A) tests. 2023-03-31 19:15:32 +02:00
Rémi Bernon
18d7be24ce imm32/tests: Add some ImmGetCandidateList(W|A) tests. 2023-03-31 19:15:31 +02:00
Rémi Bernon
e6e63828d3 imm32/tests: Add some ImmRequestMessageW tests. 2023-03-31 19:15:31 +02:00
Rémi Bernon
4a52781ec9 imm32/tests: Add some spurious IME select calls.
Seen with the Korean locale from time to time, probably caused by some
uninitialized input context data.
2023-03-31 19:15:28 +02:00
Rémi Bernon
3ed1bb2464 imm32/tests: Add some ImeSetActiveContext tests. 2023-03-31 19:15:28 +02:00
Rémi Bernon
7d03937abe imm32/tests: Init INPUTCONTEXT status in ImeSelect. 2023-03-31 19:15:28 +02:00
Rémi Bernon
ddfbc66fcf imm32: Avoid recursing into ImeSelect calls. 2023-03-31 19:15:28 +02:00
Rémi Bernon
feb427db1a imm32/tests: Add some ImmSetOpenStatus tests. 2023-03-31 19:15:28 +02:00
Rémi Bernon
13f0b5c9c6 imm32/tests: Add some ImmSetConversionStatus tests. 2023-03-31 19:15:28 +02:00
Zebediah Figura
3cb0b6c3f3 winedevice: Use the ntoskrnl channel. 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
2a069e4a91 kernel32: Add semi-stub for RemoveDirectoryTransactedA/W(). 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
121ab8bf83 kernel32: Add semi-stub for GetFileAttributesTransactedA/W(). 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
e89ee645b3 kernel32: Add semi-stub for FindFirstFileTransactedA/W(). 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
4de32bc980 kernel32: Add semi-stub for DeleteFileTransactedA/W(). 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
960526dad1 kernel32: Add semi-stub for CreateDirectoryTransactedA/W(). 2023-03-31 19:10:38 +02:00
Etaash Mathamsetty
dc938571d6 kernel32: Add semi-stub for CreateFileTransactedA/W(). 2023-03-31 19:10:38 +02:00
Georg Lehmann
36f5da51d0 winevulkan: Update to VK spec version 1.3.246. 2023-03-31 19:10:38 +02:00
Floris Renaud
c1a40a9c31 po: Update Dutch translation. 2023-03-31 19:10:38 +02:00
Zhiyi Zhang
f2df5a6c5d dwrite: Use cache when font transform matrix contains only translation offsets.
Word 2016 queries a lot of font glyph bounding boxes and bitmaps with translation matrices. The
result of these queries is not cached because the transform matrix is not the identity matrix.
However, the translation offsets don't affect FreeType font operations at all, which can be
verified in ft_matrix_from_dwrite_matrix() called by get_glyph_transform(). So these results with
translation matrices can be cached as well. With this patch, Word 2016 stuttering is reduced
significantly.
2023-03-31 19:00:30 +02:00
Michael Stefaniuc
e4512287a0 mfplat/tests: Remove duplicated ok() call. 2023-03-31 19:00:04 +02:00
Michael Stefaniuc
17fbef9192 wmvcore/tests: Don't cast NULL to another pointer type. 2023-03-31 19:00:04 +02:00
Michael Stefaniuc
0a2cfe902e ntdll/tests: Use FAILED() instead of not SUCCEEDED(). 2023-03-31 19:00:04 +02:00
Michael Stefaniuc
0afc0d8de9 uiautomationcore/tests: Drop superfluous TRUE : FALSE conditional expression. 2023-03-31 19:00:04 +02:00
Mohamad Al-Jaf
98d7ac0c84 include: Add windows.ui.core.idl file.
Needed for mingw Firefox build.
2023-03-31 11:11:09 +02:00
Michael Stefaniuc
6acbec1927 dinput: Remove superfluous cast to self. 2023-03-31 11:10:58 +02:00
Michael Stefaniuc
567e35ceaf dinput/tests: Drop superfluous TRUE : FALSE conditional expressions. 2023-03-31 11:10:58 +02:00
Zebediah Figura
cf4b4ff642 include: Include corecrt.h in vadefs.h.
For the __has_attribute() fallback.

Fixes: f4c3801495

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54666
2023-03-31 11:10:43 +02:00
Alistair Leslie-Hughes
3a1f5224fb msado15: Handle DBTYPE_STR type when loading recordset data. 2023-03-30 20:53:21 +02:00
Mohamad Al-Jaf
58e6c4d11c include: Add DirectXAlphaMode enum.
Needed for mingw Firefox build.
2023-03-30 20:34:28 +02:00
Michael Stefaniuc
48fdc8e08c dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
Wrong sizeof check: pointer instead of referenced structure.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53704
2023-03-30 20:31:46 +02:00
Alex Henrie
8fb04515cf wldap32: Implement setting LDAP_OPT_SERVER_CERTIFICATE and add tests.
ctxt_handle is moved to the top of struct tlsw_session so that it can be
easily retrieved via LDAP_OPT_X_TLS_SSL_CTX.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54727
2023-03-30 20:28:28 +02:00
Alex Henrie
c8148d6778 wldap32: Return ~0u from ldap_modrdn* for any error. 2023-03-30 20:28:27 +02:00
Alex Henrie
0256f13184 wldap32: Implement ldap_connect. 2023-03-30 20:28:27 +02:00
Rémi Bernon
50352739ca winemac: Use the default IME implementation for stubs. 2023-03-30 19:00:25 +02:00
Rémi Bernon
2a4dff01bd winex11: Use the default IME implementation for stubs. 2023-03-30 19:00:25 +02:00
Rémi Bernon
32c5b57ac8 imm32: Return TRUE from ImmIsIME with any HKL. 2023-03-30 19:00:25 +02:00
Rémi Bernon
3d694c8118 imm32: Add a default implementation for IME functions.
To be used by graphics drivers.
2023-03-30 19:00:23 +02:00
Rémi Bernon
f24479793b imm32: Introduce new input_context_init helper. 2023-03-30 19:00:23 +02:00
Rémi Bernon
538d48e3f9 imm32: Select current IME on input contexts when needed. 2023-03-30 19:00:23 +02:00
Rémi Bernon
1b778dbea7 imm32: Send WM_IME_SELECT messages when IME is activated. 2023-03-30 19:00:23 +02:00
Rémi Bernon
e64e4e7461 imm32: Pass the HIMC to the IME UI window IMMGWL_IMC.
Instead of the imc pointer.
2023-03-30 19:00:21 +02:00
Rémi Bernon
3e2edac438 win32u: Ignore some IME messages in default_window_proc. 2023-03-30 19:00:21 +02:00
Rémi Bernon
6fd3bd9b62 win32u: Ignore IME messages from IME UI windows in DefWindowProc. 2023-03-30 19:00:21 +02:00
Rémi Bernon
5c98617e1b imm32/tests: Test DefWindowProc with IME UI messages. 2023-03-30 19:00:21 +02:00
Jinoh Kang
df5f9b7d2b ntdll: Don't report user (PE) stack via pthread_attr_setstack().
Today, NtCreateThreadEx() passes to pthread_attr_setstack() an address
range that spans both the user (PE) stack and the kernel (Unix) stack.

pthread_attr_setstack() accepts an address range that will be used as
the initial stack area for the thread created by pthread_create().  It
is often assumed that the initial stack will be available for the entire
duration of the thread's lifetime.

This assumption, however, conflicts with how Win32 fibers operate.
Fiber APIs allow the thread's initial stack to be freed before the
thread exits, or kept alive beyond the point of thread's termination.
This allows the lifetime of the thread's initial stack to be shorter or
longer than the originating thread's lifetime.  This is possible because
each fiber has its own stack and context, and ConvertThreadToFiber()
transfers the current thread's stack to a new fiber.

This specifically causes problems in Glibc v2.31 and earlier.  These
Glibc versions have a bug where madvise(2) with the MADV_DONTNEED flag
is called on the initial stack area on thread exit, even when the stack
was user-supplied (via pthread_attr_setstack).  Therefore, the kernel
may zero out any portion of the initial stack at any time after the
originating thread terminates, even if the stack no longer belongs to
the current thread (either freed and reallocated, or owned by a fiber).
This may ultimately lead to memory corruption.

Fix this by only passing the syscall (kernel) portion of the stack to
pthread_attr_setstack().
2023-03-30 18:52:52 +02:00
Michael Stefaniuc
8d142cb106 jscript: Use separate statements instead of the comma operator. 2023-03-30 18:49:23 +02:00
Michael Stefaniuc
4af8f42382 dinput/tests: Use separate statements instead of the comma operator. 2023-03-30 18:49:23 +02:00
Paul Gofman
c0c68ee83a services: Change running service state once its process dies. 2023-03-30 18:49:16 +02:00
Paul Gofman
3580d466cc services: Factor out notify_service_state() function. 2023-03-30 18:49:16 +02:00
Paul Gofman
466a86bc54 services: Create service processes in a job. 2023-03-30 18:49:16 +02:00
Mohamad Al-Jaf
19156ccfa7 cfgmgr32/tests: Add CM_MapCrToWin32Err tests. 2023-03-30 18:47:32 +02:00
Mohamad Al-Jaf
4fab9ff230 cfgmgr32: Implement CM_MapCrToWin32Err.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53781
2023-03-30 18:47:19 +02:00
Nikolay Sivov
a98d9dd9e9 d3d10/tests: Add some tests for trigonometric functions. 2023-03-29 22:29:38 +02:00
Nikolay Sivov
ec47f9855e d3d10/effect: Add support for 'iadd' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov
a8c78c0e2d d3d10/effect: Add support for 'imin' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov
956541c9c8 d3d10/effect: Add support for umin/umax instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov
4700c17c61 d3d10/effect: Add support for asin/acos/atan instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov
8d00428e63 d3d10/effect: Handle division by zero in 'udiv'.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov
a54f1726c6 d3d10/effect: Add support for 'movc' instruction. 2023-03-29 22:29:38 +02:00
Biswapriyo Nath
8a07ffd965 include: Add Windows.System.DispatcherQueue definition.
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-03-29 22:29:38 +02:00
Biswapriyo Nath
52b832c7e3 include/windows.system.idl: Update file to newer formatting.
I.e. get rid of nested namespaces and forward declares,
separate attributes with commas and right align pointer declarations.

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-03-29 22:29:38 +02:00
Mohamad Al-Jaf
3503ab4e94 winecfg: Add an option to set WinRT app dark theme. 2023-03-29 22:29:38 +02:00
Rémi Bernon
585ac559b7 imm32: Create the IME UI as child of the IME default window. 2023-03-29 22:29:38 +02:00
Rémi Bernon
bb2414fdb1 imm32: Re-create the IME UI window when IME changes. 2023-03-29 22:29:38 +02:00
Rémi Bernon
2504a2d7bc imm32: Keep the IME UI window on the default input context. 2023-03-29 22:29:38 +02:00
Rémi Bernon
0ddad3564f imm32: Update existing input contexts on layout change. 2023-03-29 22:29:37 +02:00
Rémi Bernon
43e22eaa76 imm32/tests: Test IME UI window and IME window presence. 2023-03-29 22:29:37 +02:00
Rémi Bernon
42f3cf1bf3 imm32/tests: Test IME UI creation with the installed IME. 2023-03-29 22:29:37 +02:00
Rémi Bernon
9117ce4185 imm32/tests: Test ImmProcessKey with the installed IME. 2023-03-29 22:29:37 +02:00
Rémi Bernon
bda3ee0bd5 imm32: Ignore ImmProcessKey if hkl isn't the current layout. 2023-03-29 22:29:37 +02:00
Rémi Bernon
3a07b09079 imm32: Cleanup ImmProcessKey variables and traces. 2023-03-29 22:29:37 +02:00
Rémi Bernon
5a6ed25f6c imm32/tests: Ignore expected calls marked with todo. 2023-03-29 22:29:37 +02:00
Rémi Bernon
4b04d35773 imm32/tests: Add explicit ImmLoadIME / ImmFreeLayout calls. 2023-03-29 22:29:37 +02:00
Zebediah Figura
99cbab729b ddraw/tests: Make test_texture_wrong_caps() a bit clearer.
* Disable lighting, which affects rendering tests in non-obvious ways.

* Show that the texture is explicitly never set in ddraw7.

* Show that the diffuse color is rendered in ddraw4 and ddraw7, which is
  consistent with the texture being unset in ddraw7 and suggests that the same
  applies to ddraw4.

This may or may not help with bug 54069, but if it does not, it hopefully will
at least make the reason for failure clearer.
2023-03-29 22:29:37 +02:00
Zebediah Figura
4ac9d12522 ddraw: Reimplement SetSurfaceDesc() by recreating the wined3d texture(s). 2023-03-29 22:29:37 +02:00
Zebediah Figura
5a37d94bea wined3d: Pass parent ops to wined3d_rendertarget_view_set_parent(). 2023-03-29 22:29:37 +02:00
Zebediah Figura
c81d05064f ddraw/tests: Add some tests for creating surfaces with user memory. 2023-03-29 22:29:37 +02:00
Torge Matthies
9e86596714 msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies
58d516f00f msvcr100: Implement _StructuredTaskCollection canceling.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies
a3fc7a423f msvcr100: Use enum for _StructuredTaskCollection status bits.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies
c71dca838e msvcr100: Use enum for _StructuredTaskCollection return value.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies
fc2fa4fb02 msvcr100: Only wake task collection waiters when finished >= count.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Carlos Rodriguez
318b0bbed6 wined3d: Add GPU information for another Intel UHD 630 GPU. 2023-03-29 22:29:37 +02:00
Zebediah Figura
bb351c7a78 d3d11/tests: Add a broken() case for WARP in test_occlusion_query().
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53252
2023-03-29 22:29:37 +02:00
Zebediah Figura
2763e5b70f d3d10core/tests: Add a broken() case for WARP in test_occlusion_query().
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53252
2023-03-29 22:29:37 +02:00
Sven Baars
cabd68728d wine.inf: Put the Clients key in the right place. 2023-03-29 22:29:37 +02:00
Sven Baars
24208208e3 kernelbase: Remove special Wow64 handling for HKEY_CLASSES_ROOT.
The server always returns the same key now.
2023-03-29 22:29:37 +02:00
Paul Gofman
fb6b1c91bb taskkill: Support terminating child processes. 2023-03-29 22:29:32 +02:00
Paul Gofman
5c85145189 taskkill: Mark processes for termination in main(). 2023-03-29 11:50:58 +02:00
Paul Gofman
6cca1f5099 taskkill: Use toolhelp snapshot to get process information. 2023-03-29 11:50:58 +02:00
Paul Gofman
62ef3c5be1 taskkill: Factor out get_task_pid(). 2023-03-29 11:50:58 +02:00
Paul Gofman
cf4a0b7392 taskkill: Enumerate processes in main(). 2023-03-29 11:50:58 +02:00
Paul Gofman
20ab5f06d0 taskkill: Remove unneeded free() before process exit. 2023-03-29 11:50:58 +02:00
Paul Gofman
dd3f3f381f taskkill: Use CRT allocation functions. 2023-03-29 11:50:58 +02:00
Michael Stefaniuc
1210b98cd3 windows.media.speech: Remove redundant NULL check before free(). 2023-03-29 11:49:19 +02:00
Michael Stefaniuc
b7fd8972db msdasql: Remove redundant NULL check before heap_free(). 2023-03-29 11:49:17 +02:00
Sven Baars
da0ec7fbbd kernelbase: Recursively obtain the Wow6432Node parent. 2023-03-28 20:40:09 +02:00
Sven Baars
63c6b89314 kernelbase: Add support for shared registry keys. 2023-03-28 20:40:09 +02:00
Sven Baars
3bbd37d0bb kernelbase: Call create_key() from create_subkey(). 2023-03-28 20:40:08 +02:00
Sven Baars
899b0b82af kernelbase: Factor creating a subkey out of create_key(). 2023-03-28 20:40:08 +02:00
Sven Baars
3609508c2f kernelbase: Don't open Wow6432nodes from create_key().
These can never exist in a newly created key.
2023-03-28 20:40:07 +02:00
Piotr Caban
c3bd7c003e wineps: Handle EMR_BITBLT record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
ab12be686a wineps: Handle EMR_STRETCHBLT record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
83f0862b43 wineps: Handle EMR_SETARCDIRECTION record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
ec2d0e9d8b wineps: Handle EMR_SETBRUSHORGEX in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
b4ce2902e0 wineps: Handle EMR_SETVIEWPORTORGEX record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
a18178dd29 wineps: Handle EMR_SETVIEWPORTEXTEX in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
706569086f wineps: Handle EMR_SETWINDOWORGEX record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
f6aa74e3b7 wineps: Handle EMR_SETWINDOWEXTEX record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
9e09705d49 wineps: Handle EMR_PAINTRGN record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
f4d6b054ef wineps: Handle EMR_ANGLEARC record in spool files. 2023-03-28 15:29:56 +02:00
Piotr Caban
dbf901a4da wineps: Support arc direction in PSDRV_DrawArc. 2023-03-28 15:29:56 +02:00
Vijay Kiran Kamuju
8426109a43 msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53794
2023-03-28 15:29:56 +02:00
Alexandre Julliard
e588e218f0 ntdll: Only fall back to start.exe when using a different loader. 2023-03-28 11:58:30 +02:00
Alexandre Julliard
bdc11ee079 ntdll: Add a helper function to return the alternate 32/64 loader. 2023-03-28 11:57:34 +02:00
Rémi Bernon
61219f1b8b imm32: Call ImeSelect from ImmLockIMC with current IME. 2023-03-28 11:55:31 +02:00
Rémi Bernon
de4323611a imm32: Update HIMC private data when selecting IME. 2023-03-28 11:55:31 +02:00
Rémi Bernon
9c8b3e6f42 imm32: Introduce a new imc_select_hkl helper. 2023-03-28 11:55:31 +02:00
Rémi Bernon
0aa3b85b97 imm32: Enumerate input contexts in ImmActivateLayout. 2023-03-28 11:55:31 +02:00
Rémi Bernon
462d5ca257 imm32/tests: Test ActivateKeyboardLayout with an existing window. 2023-03-28 11:55:31 +02:00
Rémi Bernon
c2c27e7927 imm32/tests: Test ImmCreateInputContext et al. 2023-03-28 11:55:31 +02:00
Rémi Bernon
47533974ce imm32: Call ActivateKeyboardLayout from ImmActivateLayout. 2023-03-28 11:55:31 +02:00
Rémi Bernon
ca97db75d1 imm32/tests: Check current keyboard layout during ime calls. 2023-03-28 11:55:31 +02:00
Rémi Bernon
db5cf9a5e1 imm32: Use installed IME language for the created HKL. 2023-03-28 11:55:31 +02:00
Rémi Bernon
4571456e70 win32u: Allow LANG_INVARIANT in NtUserActivateKeyboardLayout. 2023-03-28 11:55:30 +02:00
Alex Henrie
d8e6a29d98 wldap32: Stub out setting LDAP_OPT_REFERRAL_HOP_LIMIT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54727
2023-03-28 11:53:22 +02:00
Francois Gouget
490e36c807 taskschd/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
This means skipping any test that requires creating a folder as the
test would be unable to clean up after itself.
Add a test to show that there is the same issue with tasks by creating
one in the root folder.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54106
2023-03-28 11:44:02 +02:00
Francois Gouget
b7afd8ba26 taskschd/tests: Elevated privileges are needed to connect using a hostname.
Being in the administrator group is not sufficient.
2023-03-28 11:44:01 +02:00
Francois Gouget
27f378f071 taskschd/tests: Use a winetest context in the scheduler loops. 2023-03-28 11:44:01 +02:00
Francois Gouget
afd9820f56 taskschd/tests: Use wide character string literals in scheduler.c. 2023-03-28 11:44:01 +02:00
Francois Gouget
58e0677d33 taskschd/tests: Store the xml definitions as wide string literals in scheduler.c. 2023-03-28 11:44:01 +02:00
Francois Gouget
38fb5396d4 taskschd/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
It is a macro and thus constant unlike HRESULT_FROM_WIN32().
2023-03-28 11:43:59 +02:00
Stefan Dösinger
2212e663f9 ddraw/tests: Show that SYSMEM | 3DDEVICE surfaces don't consume vidmem. 2023-03-28 11:43:42 +02:00
Stefan Dösinger
23cfa8a210 ddraw/tests: Native 64 bit ddraw has a video memory leak. 2023-03-28 11:43:42 +02:00
Stefan Dösinger
723cd0a4ae wined3d: Make video memory accounting a per-resource flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54701
2023-03-28 11:43:38 +02:00
Rémi Bernon
d62e2268d7 dinput: Rewrite IDirectInput8_EnumDevicesBySemantics.
Simplifying and fixing it.
2023-03-27 21:23:09 +02:00
Rémi Bernon
cb987646a4 dinput: Implement DIDBAM_PRESERVE BuildActionMap flag. 2023-03-27 21:23:09 +02:00
Rémi Bernon
782ad8f70c dinput: Check device type in BuildActionMap for specific semantics. 2023-03-27 21:23:08 +02:00
Rémi Bernon
18b5f7956f dinput: Load action map from registry before resetting guid. 2023-03-27 21:23:08 +02:00
Rémi Bernon
2da8f5d2ac dinput: Trace formats in (Build|Set)ActionMap and EnumDevicesBySemantics. 2023-03-27 21:23:08 +02:00
Rémi Bernon
8e63f68fb3 dinput/tests: Add more IDirectInput8_EnumDevicesBySemantics tests. 2023-03-27 21:23:08 +02:00
Rémi Bernon
83881f579f dinput/tests: Test BuildActionMap cases with multiple devices. 2023-03-27 21:23:08 +02:00
Connor McAdams
55c1acd926 uiautomationcore: Add support for UIA_ProviderDescriptionPropertyId.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-27 18:32:35 +02:00
Connor McAdams
2d85254355 uiautomationcore: Add a helper function for retrieving a property value from an individual node provider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-27 18:32:35 +02:00
Connor McAdams
45aca56e08 uiautomationcore/tests: Add NULL input argument tests for IUIAutomationTreeWalker navigation method.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-27 18:32:35 +02:00
Connor McAdams
5c41987709 uiautomationcore/tests: Skip IAccessible2 tests on Win10v1909.
Windows 10 1909 doesn't use IAccessible2 interfaces while comparing
IAccessible interfaces, so skip the interface comparison tests.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53269
2023-03-27 18:32:33 +02:00
Alex Henrie
31aa2245ef wldap32: Implement setting LDAP_OPT_SSL and add tests.
Windows has the LDAP_OPT_SSL option to turn SSL on or off after calling
ldap_init but before connecting to the server. OpenLDAP doesn't have
that option and instead expects a fully SSL connection to be requested
by passing one or more "ldaps://" URIs to ldap_init. However, OpenLDAP
also has an LDAP_OPT_URI option, which Windows does not have, that can
be used to change the URIs before connecting. And OpenLDAP already takes
care of converting "ldap://" or "ldaps://" to lowercase, so all we have
to do is find and replace that exact string in each URI in the list.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54727
2023-03-27 18:32:17 +02:00
Francois Gouget
bb516ae1a6 schedsvc/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
This means skipping any test that requires creating a folder as the
test would be unable to clean up after itself.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53128
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54109
2023-03-27 17:44:44 +02:00
Francois Gouget
4385a3c29e schedsvc/tests: Document SchRpcGetTaskInfo() calls that crash on Windows.
Not just Windows 7 but all versions up to Windows 11.
2023-03-27 17:44:42 +02:00
Francois Gouget
ee2c7dc881 schedsvc/tests: Use a winetest context in the rpcapi loops. 2023-03-27 17:44:28 +02:00
Francois Gouget
3e975e9360 schedsvc/tests: Use wide character string literals in rpcapi.c. 2023-03-27 17:44:28 +02:00
Francois Gouget
5d2fe518ee schedsvc/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
It is a macro and thus constant unlike HRESULT_FROM_WIN32().
2023-03-27 17:44:26 +02:00
Francois Gouget
a2d5644797 schtasks/tests: Verify that the task folders are correctly deleted. 2023-03-27 17:43:41 +02:00
Francois Gouget
739c5c547c schtasks/tests: Deleting folders requires elevated privileges on Windows 7 & 8.
This means skipping any test that requires creating a task as the test
would be unable to clean up after itself.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=52193
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54634
2023-03-27 17:43:37 +02:00
Huw Davies
d0246c3ea0 win32u: Fix printf format warnings. 2023-03-27 17:43:23 +02:00
Francois Gouget
99f77667bb widl: Error_loc() messages must have a trailing linefeed. 2023-03-27 17:43:18 +02:00
Francois Gouget
683ad8221b imm32/tests: Document the WINE_LANGID value. 2023-03-27 17:43:14 +02:00
Bernhard Kölbl
4f824a507a windows.media.speech/tests: Allow recognizer state to be idle during active recognition session.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54441
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-03-27 15:48:14 +02:00
Louis Lenders
e8b0c92395 wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54675
2023-03-27 15:48:14 +02:00
Marc-Aurel Zent
5de03757f7 iphlpapi: Return FALSE for bad handles in IcmpCloseHandle. 2023-03-27 11:05:34 +02:00
Rémi Bernon
78c5e3ab03 widl: Define PARSER_LTYPE instead of api.location.type.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54729
2023-03-27 11:05:34 +02:00
Vicki Pfau
6a88500af2 hidparse.sys: Include zero-count reports in cap count.
Signed-off-by: Vicki Pfau <vi@endrift.com>
2023-03-27 11:05:34 +02:00
Mohamad Al-Jaf
4e7cbb2d09 graphicscapture: Partially implement IGraphicsCaptureSessionStatics::IsSupported().
Needed to prevent VR games from crashing when the user attempts to capture the desktop.
2023-03-27 11:05:34 +02:00
Mohamad Al-Jaf
872fbcebdc graphicscapture/tests: Add IGraphicsCaptureSessionStatics::IsSupported() tests. 2023-03-27 11:05:34 +02:00
Mohamad Al-Jaf
a36f701514 graphicscapture: Add IGraphicsCaptureSessionStatics stub interface. 2023-03-27 11:05:34 +02:00
Mohamad Al-Jaf
14768c0eca graphicscapture: Add stub DLL. 2023-03-27 11:05:34 +02:00
Mohamad Al-Jaf
4eb5616e8d include: Add windows.graphics.capture.idl file. 2023-03-27 11:04:13 +02:00
Biswapriyo Nath
787c3f73f8 include: Fix c++ compiler error with msxml2.idl.
This moves ISAXXMLFilter declaration after its base class ISAXXMLReader.
Otherwise the following error is shown in C++ mode

$ wineg++ test-msxml2.cpp
In file included from test-msxml2.cpp:1:
/usr/include/wine/windows/msxml2.h:16199:24: error: invalid use of incomplete type ‘struct ISAXXMLReader’
16199 | ISAXXMLFilter : public ISAXXMLReader
|                        ^~~~~~~~~~~~~
/usr/include/wine/windows/msxml2.h:644:19: note: forward declaration of ‘struct ISAXXMLReader’
644 | typedef interface ISAXXMLReader ISAXXMLReader;
|                   ^~~~~~~~~~~~~
winegcc: /usr/bin/g++ failed

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-03-27 11:03:27 +02:00
Piotr Caban
2d48dbf1b3 wineps: Handle EMR_POLYPOLYGON16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
e214d60449 wineps: Handle EMR_POLYPOLYLINE16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
db076a5b35 wineps: Handle EMR_POLYLINETO16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
bbf0ef285c wineps: Handle EMR_POLYBEZIERTO16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
33c401f31a wineps: Handle EMR_POLYLINE16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
31d7e94342 wineps: Handle EMR_POLYGON16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
eeb8d8106c wineps: Handle EMR_POLYBEZIER16 record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
25c7330954 wineps: Handle EMR_ARCTO record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
751d93c55f wineps: Handle EMR_POLYLINETO record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
83a20ec967 wineps: Handle EMR_POLYBEZIERTO record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
9114a24fa1 wineps: Handle EMR_POLYLINE record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
0725b234cf wineps: Handle EMR_POLYGON record in spool files. 2023-03-27 11:02:56 +02:00
Piotr Caban
378fc7f0fd wineps: Introduce helper for PolyBezier drawing. 2023-03-27 11:02:56 +02:00
Piotr Caban
75669ea34a ucrtbase: Add __CxxFrameHandler4 implementation. 2023-03-27 11:02:50 +02:00
Alexandre Julliard
b8807b994f d3dcompiler/tests: Update todos for tests that succeed with vkd3d 1.7. 2023-03-25 10:51:51 +01:00
Rémi Bernon
bf9d15e3b1 widl: Use warning_at when reporting duplicate attributes. 2023-03-24 21:49:27 +01:00
Rémi Bernon
3d79c1f56d widl: Add source location information to attributes. 2023-03-24 21:49:27 +01:00
Rémi Bernon
a10740f319 widl: Remove custom attribute creation helper. 2023-03-24 21:49:27 +01:00
Rémi Bernon
7771a9ae79 widl: Simplify attribute creation with either int or ptr value. 2023-03-24 21:49:27 +01:00
Rémi Bernon
f36fbb3788 widl: Move attribute related functions to attribute.c. 2023-03-24 21:49:27 +01:00
Rémi Bernon
f79ae4a95c widl: Use spaces to indent attribute rules more consistently. 2023-03-24 21:49:26 +01:00
Alex Henrie
124e90d9e5 wldap32: Handle null DN or null message in ldap_delete* and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54702
2023-03-24 17:27:59 +01:00
Alex Henrie
4eff0667f8 wldap32/tests: Use the same context in test_ldap_(add|modify_compare). 2023-03-24 17:27:59 +01:00
Ziqing Hui
c91ab8c99a winegstreamer: Implement ProcessInput and ProcessOutput for WMV decoder DMO. 2023-03-24 16:55:55 +01:00
Ziqing Hui
e23f9e4dfd winegstreamer: Create wg_transform for WMV decoder. 2023-03-24 16:55:55 +01:00
Ziqing Hui
5bb46c052d winegstreamer: Ignore framerate of media type for WMV decoder DMO. 2023-03-24 16:55:55 +01:00
Ziqing Hui
93716f5a21 winegstreamer: Add format field to wmv wg_format.
Wrong plugins will be selected for WMV decoder
if we don't set format field.
2023-03-24 16:55:54 +01:00
Ziqing Hui
7bc693eef5 mf/tests: Test time length returned by ProcessOutput.
Time length returned by ProcessOutput is equal to
the one passed to ProcessInput.
2023-03-24 16:55:52 +01:00
Rémi Bernon
7b3e66678a imm32/tests: Test undocumented ImmActivateLayout. 2023-03-24 16:33:30 +01:00
Rémi Bernon
bcc2337f30 imm32: Stub ImmActivateLayout. 2023-03-24 16:33:30 +01:00
Rémi Bernon
b48a659308 imm32/tests: Reduce test output unnecessary verbosity. 2023-03-24 16:33:30 +01:00
Rémi Bernon
66e715f409 imm32: Fix ImmEnumRegisterWord(A|W) callback conversion. 2023-03-24 16:33:30 +01:00
Rémi Bernon
8f6eda8649 imm32: Fix ImmEscape(A|W) with NULL data. 2023-03-24 16:33:29 +01:00
Paul Gofman
caf5ae1981 crypt32: Keep root certs cached in registry unless some are deleted on host. 2023-03-24 16:06:08 +01:00
Paul Gofman
463bd7c3e0 crypt32: Refactor read_trusted_roots_from_known_locations(). 2023-03-24 16:06:08 +01:00
Paul Gofman
330d6ab88f crypt32: Refactor CRYPT_ImportSystemRootCertsToReg(). 2023-03-24 16:06:08 +01:00
Paul Gofman
49f0331cef crypt32: Use CERT_STORE_ADD_ALWAYS when reading certs from registry. 2023-03-24 16:06:08 +01:00
Paul Gofman
3d38e85964 crypt32: Support user properties for certificates. 2023-03-24 16:06:08 +01:00
Hans Leidekker
9af7faca7c ldap: Return an error when the server doesn't respond to the SSL handshake.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54724
2023-03-24 16:06:08 +01:00
Max Figura
c268e5c8aa wined3d: Move the WINED3D_RS_ENABLEADAPTIVETESSELLATION stub to wined3d_device_apply_stateblock. 2023-03-24 16:06:08 +01:00
Max Figura
596bf1c60f wined3d: Move the WINED3D_RS_ADAPTIVETESS_W stub to wined3d_device_apply_stateblock. 2023-03-24 16:06:08 +01:00
Max Figura
c90d3bfcbc wined3d: Move the WINED3D_RS_ADAPTIVETESS_Z stub to wined3d_device_apply_stateblock. 2023-03-24 16:06:08 +01:00
Max Figura
4de7feb8e1 wined3d: Move the WINED3D_RS_ADAPTIVETESS_Y stub to wined3d_device_apply_stateblock. 2023-03-24 16:06:08 +01:00
Max Figura
ac02a32e98 wined3d: Move the WINED3D_RS_ADAPTIVETESS_X stub to wined3d_device_apply_stateblock. 2023-03-24 16:06:08 +01:00
Mohamad Al-Jaf
58a2532a37 include: Add windows.graphics.effects.idl file.
Needed for mingw Firefox build.
2023-03-24 16:06:08 +01:00
Alistair Leslie-Hughes
7deaadef63 windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3. 2023-03-24 16:06:08 +01:00
Alistair Leslie-Hughes
c1a9f4ae46 windows.ui: Add IUISettings2 stub interface. 2023-03-24 16:06:08 +01:00
Alistair Leslie-Hughes
f797ad083e windows.ui: Add Stubbed interface IUISettings.
This corrects what interface should be returned,  there isn't a hierarchy with
these IUISettings at all.  It should return IUISettings and the QI for
any others that it requires.
2023-03-24 16:06:08 +01:00
Alistair Leslie-Hughes
dc32c192c3 include: Add Missing IUISettings interfaces. 2023-03-24 16:06:08 +01:00
Piotr Caban
2f06af6ae0 wineps: Handle EMR_PIE record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
e4ecc89b62 wineps: Handle EMR_CHORD record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
53acff5efb wineps: Handle EMR_ARC record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
3a1341aada wineps: Handle EMR_ROUNDRECT record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
7d01f643f7 wineps: Handle EMR_ELLIPSE record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
9bea58da96 wineps: Handle EMR_SETPIXELV record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
a0b644f432 wineps: Handle EMR_POLYPOLYGON record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
fd107041ae wineps: Handle EMR_POLYPOLYLINE record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
53d2a32d06 wineps: Handle EMR_POLYBEZIER record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
f83dc1cdb5 wineps: Handle EMR_MODIFYWORLDTRANSFORM record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
5c7c1c22c3 wineps: Handle EMR_SETWORLDTRANSFORM record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
18bdfd1e9f wineps: Handle EMR_CREATEDIBPATTERNBRUSHPT record in spool files. 2023-03-24 16:06:08 +01:00
Piotr Caban
4c02a51d97 wineps: Handle EMR_CREATEMONOBRUSH record in spool files. 2023-03-24 16:06:08 +01:00
Alexandre Julliard
94456eb46d kernelbase: Fix pattern checking for genitive month names in get_date_format(). 2023-03-24 16:06:08 +01:00
Alexandre Julliard
d4f36570cd ntdll: Fully initialize the i386 FPU context on ARM64. 2023-03-24 15:50:16 +01:00
Alexandre Julliard
5031c6d938 ntdll: Convert WoW context to native context when running in 32-bit code.
It fixes single-stepping in the kernel32:debugger tests.
2023-03-24 15:50:16 +01:00
Alexandre Julliard
7686cba105 ntdll: One more fix for CPU information in old Wow64 mode. 2023-03-24 15:50:16 +01:00
Alexandre Julliard
75ab843114 vkd3d: Import upstream release 1.7. 2023-03-24 13:02:45 +01:00
Rémi Bernon
3149d27220 widl: Print the import stack and context in messages. 2023-03-23 16:44:34 +01:00
Rémi Bernon
472b2ecad4 widl: Improve accuracy of error messages location. 2023-03-23 16:44:34 +01:00
Rémi Bernon
071b0a5532 widl: Enable bison locations option. 2023-03-23 16:44:34 +01:00
Rémi Bernon
2edd194a00 widl: Move diagnostic and location functions to parser.l. 2023-03-23 16:44:34 +01:00
Rémi Bernon
be1e308253 widl: Allow source location to span over multiple lines. 2023-03-23 16:44:34 +01:00
Rémi Bernon
edca5937fb widl: Rename (error|warning)_loc_info to (error|warning)_at. 2023-03-23 16:44:34 +01:00
Zebediah Figura
d8d8774568 include: Add D3D10CalcSubresource(). 2023-03-23 16:44:34 +01:00
Zebediah Figura
fae48444af include: Use hexadecimal constants for XAudio flags. 2023-03-23 16:44:34 +01:00
Brendan Shanks
5f74cb94f1 ntdll: Print correct thread rename trace when using current thread ID with exception method. 2023-03-23 14:31:23 +01:00
Piotr Caban
c1dd7d6f52 wineps: Handle EMR_LINETO record in spool files. 2023-03-23 14:25:37 +01:00
Piotr Caban
16489549f0 wineps: Handle EMR_MOVETOEX record in spool files. 2023-03-23 14:25:37 +01:00
Piotr Caban
713d5d9644 wineps: Handle EMR_RECTANGLE record in spool files. 2023-03-23 14:25:37 +01:00
Piotr Caban
c680d8139b wineps: Handle pen selection in spool files. 2023-03-23 14:25:37 +01:00
Piotr Caban
e0cdf885d1 wineps: Handle brush selection in spool files. 2023-03-23 14:25:37 +01:00
Piotr Caban
8d2f5f22c4 wineps: Handle EMR_EOF record in spool files. 2023-03-23 14:25:36 +01:00
Piotr Caban
8ce8505937 wineps: Handle EMR_HEADER record in spool files. 2023-03-23 14:25:36 +01:00
Piotr Caban
f925d3b03b wineps: Write document header and footer in PrintDocumentOnPrintProcessor. 2023-03-23 14:25:36 +01:00
Piotr Caban
a5eb4f6fe1 wineps: Initialize PSDRV_PDEVICE print job information in PrintDocumentOnPrintProcessor. 2023-03-23 14:25:36 +01:00
Piotr Caban
e879b9db67 wineps: Create fake PSDRV_PDEVICE OpenPrintProcessor. 2023-03-23 14:25:36 +01:00
Piotr Caban
e5c7e36489 wineps: Move more code into create_psdrv_physdev helper. 2023-03-23 14:25:36 +01:00
Alexandre Julliard
1939f7c27c ntdll: Use get_wow_teb() and wow_peb in more places. 2023-03-23 14:20:41 +01:00
Alexandre Julliard
dd7b4431a6 ntdll: Add a helper function to check for Wow64 mode. 2023-03-23 14:20:16 +01:00
Alexandre Julliard
f3d90fd55b ntdll: Add a helper function to check for old-style Wow64 mode. 2023-03-23 14:20:14 +01:00
Alexandre Julliard
da7411fdb3 ntdll: Fixup CPU information for old Wow64 mode. 2023-03-23 14:14:01 +01:00
Rémi Bernon
8f52d8a4e1 imm32: Rename InputContextData to struct imc. 2023-03-23 14:14:01 +01:00
Rémi Bernon
1d40658afa imm32: Use NtUserQueryInputContext to check cross-thread access. 2023-03-23 14:14:01 +01:00
Rémi Bernon
c66ea947a5 imm32: Remove unused IMM_IsCrossThreadAccess hwnd parameter. 2023-03-23 14:14:01 +01:00
Rémi Bernon
29e51aa333 imm32: Remove unnecessary threadDefault InputContextData member. 2023-03-23 14:14:01 +01:00
Rémi Bernon
a7c2f4e5ba imm32: Implement ImmEnumInputContext. 2023-03-23 14:14:01 +01:00
Alex Henrie
44e1e9438c include: Allow multiple definitions on GCC with DECLSPEC_SELECTANY.
Needed to compile Tera Term.

As far as I can tell, GCC has always supported __attribute__((weak)).
2023-03-22 20:03:52 +01:00
Biswapriyo Nath
8204a0b864 include: Add missing TS_STATUS constants in textstor.idl.
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-03-22 20:03:52 +01:00
Sven Baars
5ed70ee20e kernelbase: Return the last existing key from open_key() when it's called from create_key(). 2023-03-22 20:03:52 +01:00
Sven Baars
6e3e9a1787 kernelbase: Pass a name pointer to open_key(). 2023-03-22 20:03:52 +01:00
Sven Baars
3f82f6ff59 kernelbase: Use open_key() to obtain any existing Wow6432node in create_key(). 2023-03-22 20:03:52 +01:00
Sven Baars
35b56daf1f kernelbase: Call open_key() from open_subkey(). 2023-03-22 20:03:52 +01:00
Sven Baars
8b327eee5e advapi32/tests: Copy Software\Classes tests from ntdll. 2023-03-22 20:03:51 +01:00
Eric Pouech
4b28127157 wow64: Move filter of (un)load DLL debug events to client side.
Code is duplicated in ntdll.dll (for 32bit only and old Wow configuration)
and wow64.dll for new Wow64 configurations.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-22 20:03:51 +01:00
Eric Pouech
d203beb5e5 kernel32/tests: Extend the tests for load/unload debug events on Wow64.
Showing that:
- load events for 64bit DLLs are generated for a WOW64 process.
- unload events for 64bit DLLs are not generated for a WOW64 process
  (as any other unload event on process teardown).
- a 32bit startup exception is generated as well (with a specific exception
  code)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-22 20:03:51 +01:00
Zebediah Figura
107c260893 ddraw: Make ddraw_surface_init() static. 2023-03-22 20:03:51 +01:00
Zebediah Figura
87cd13903c ddraw: Move sub-resource surface creation to ddraw_texture_init(). 2023-03-22 20:03:51 +01:00
Zebediah Figura
a18bc5f9d7 wined3d: Pass parent ops to wined3d_resource_set_parent().
So that we can "detach" a wined3d surface from ddraw after creating it, in turn
so that we can recreate the backing wined3d texture for a surface, namely for
SetSurfaceDesc().
2023-03-22 20:03:51 +01:00
Zebediah Figura
4f8635bd78 wined3d: Pass parent ops to wined3d_texture_set_sub_resource_parent().
So that we can allow setting the sub resource and parent ops not from the
texture_sub_resource_created() callback, and also that we can "detach" a wined3d
surface from ddraw after creating it, so that we can recreate the backing
wined3d texture, viz. in SetSurfaceDesc().
2023-03-22 20:03:51 +01:00
Zebediah Figura
f103da7c69 ddraw: Factor out a ddraw_texture_rename_to() helper from ddraw_surface1_Flip(). 2023-03-22 20:03:51 +01:00
Alexandre Julliard
c4adc651df wow64: Convert token and debug port in NtCreateUserProcess(). 2023-03-22 20:03:51 +01:00
Alexandre Julliard
d41117b61e wow64: Allow the CPU backend to override CPU information. 2023-03-22 20:03:51 +01:00
Alexandre Julliard
ccd9640493 kernelbase: Use RtlGetNativeSystemInformation() to implement GetNativeSystemInfo(). 2023-03-22 20:03:51 +01:00
Alexandre Julliard
687068e7d6 include: Declare some missing ntdll functions, and fix the sorting. 2023-03-22 20:03:51 +01:00
Rémi Bernon
bf22424e2a dinput: Return DI_SETTINGSNOTSAVED when DIDSAM_FORCESAVE is used. 2023-03-22 20:03:51 +01:00
Rémi Bernon
5d3f2d18ad dinput: Check IDirectInputDevice8W_SetActionMap flags. 2023-03-22 20:03:51 +01:00
Rémi Bernon
0fe8da86e3 dinput: Allow action formats with no matching actions. 2023-03-22 20:03:51 +01:00
Rémi Bernon
b1a95b9671 dinput: Keep device objects app data in the object properties. 2023-03-22 20:03:51 +01:00
Rémi Bernon
63637f2407 dinput: Return error from SetActionMap if SetDataFormat fails. 2023-03-22 20:03:51 +01:00
Rémi Bernon
c6a922c1a1 dinput: Respect DIA_APPNOMAP in IDirectInputDevice8W_SetActionMap. 2023-03-22 20:03:51 +01:00
Rémi Bernon
8ff74b157a dinput: Initialize object formats from device objects in SetActionMap. 2023-03-22 20:03:51 +01:00
Rémi Bernon
df90c379fb dinput: Use 4 bytes for every object user state in SetActionMap. 2023-03-22 20:03:51 +01:00
Rémi Bernon
8e069f0bf2 dinput: Only set DIPROP_RANGE in SetActionMap if range isn't empty. 2023-03-22 20:03:51 +01:00
Alex Henrie
e9376fd18e wldap32: Handle null DN or null attr in ldap_compare* and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54702
2023-03-22 20:03:51 +01:00
Alex Henrie
e1930443fa wldap32: Annotate allocation functions with __WINE_(DEALLOC|MALLOC). 2023-03-22 20:03:51 +01:00
Alex Henrie
1512112841 include: Annotate ldap_(*_attribute|get_dn)* with __WINE_(DEALLOC|MALLOC). 2023-03-22 20:03:51 +01:00
Brendan Shanks
644c54b103 winemac: Fix memory leak in UpdateDisplayDevices. 2023-03-22 09:42:01 +01:00
Alistair Leslie-Hughes
49f7059745 msado15: Store all data from provider. 2023-03-22 09:41:48 +01:00
Alistair Leslie-Hughes
4ae5d2537b msado15: Bind fields in _Recordset Open. 2023-03-22 09:41:47 +01:00
Nikolay Sivov
699b52dc46 d3dcompiler: Fix bytecode buffer leaks in D3DCompile2(). 2023-03-22 09:41:20 +01:00
Nikolay Sivov
929615fa13 d3dcompiler: Always free messages string in D3DCompile2(). 2023-03-22 09:41:20 +01:00
Nikolay Sivov
5231c8c8bb d3dcompiler: Allow D3DCompile2() to succeed with null output shader blob pointer. 2023-03-22 09:41:19 +01:00
Nikolay Sivov
472d802a24 d3dcompiler: Always initialize output shader blob pointer in D3DCompile2(). 2023-03-22 09:41:18 +01:00
Max Figura
f50a263162 wined3d: Move the WINED3D_RS_MAXTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock. 2023-03-21 20:39:42 +01:00
Max Figura
5ac15af169 wined3d: Move the WINED3D_RS_MINTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock. 2023-03-21 20:39:42 +01:00
Max Figura
9fc26765ef wined3d: Move the WINED3D_RS_NORMALDEGREE stub to wined3d_device_apply_stateblock. 2023-03-21 20:39:42 +01:00
Max Figura
43454f9a93 wined3d: Move the WINED3D_RS_POSITIONDEGREE stub to wined3d_device_apply_stateblock. 2023-03-21 20:39:42 +01:00
Max Figura
ff8f7874b5 wined3d: Move the WINED3D_RS_TWEENFACTOR stub to wined3d_device_apply_stateblock. 2023-03-21 20:39:42 +01:00
Rémi Bernon
be1ef8ed1f dinput: Always set the DIPROP_BUFFERSIZE property in SetActionMap. 2023-03-21 18:29:07 +01:00
Rémi Bernon
32b43d09e1 dinput: Initialize SetActionMap variables in their declarations. 2023-03-21 18:29:07 +01:00
Rémi Bernon
80a35fb423 dinput: Always allocate and initialize the object_properties. 2023-03-21 18:29:07 +01:00
Rémi Bernon
f20940693e dinput: Move mouse_create_device function around. 2023-03-21 18:29:07 +01:00
Rémi Bernon
256f35dc42 dinput: Initialize device object format when creating devices. 2023-03-21 18:29:07 +01:00
Rémi Bernon
b75bd86ebd dinput: Count the actual number of object formats in SetActionMap.
Fixes crash introduced by 7b3f3d6078, as
SetActionMap is now called with unsupposed flags from the tests and
skips some objects.
2023-03-21 18:29:05 +01:00
Rémi Bernon
01e4c4335a dinput/tests: Flush messages after creating the test_mouse_keyboard window.
Preventing spurious failures on some Windows 7 VMs.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54713
2023-03-21 17:29:01 +01:00
Rémi Bernon
067b81fcfa imm32/tests: Update ImmGetProperty expectations for Korean locale.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54711
2023-03-21 17:29:01 +01:00
Rémi Bernon
9ab5fb591f imm32/tests: Remove GetLastError check on default IME ImmEscape tests.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54710
2023-03-21 17:29:01 +01:00
Biswapriyo Nath
26eb50e494 include: Add IDirectManipulationInteractionEventHandler declaration in directmanipulation.idl.
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
2023-03-21 15:33:45 +01:00
Shaun Ren
6992b7623b quartz: Set filter sync source in FilterGraph2_AddFilter. 2023-03-21 15:33:25 +01:00
Alex Henrie
320c688ed3 wldap32: Handle null DN or null message in ldap_modify* and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54702
2023-03-21 15:33:13 +01:00
Alex Henrie
fce0baa9b6 wldap32: Handle null DN or null message in ldap_add* and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54702
2023-03-21 15:33:11 +01:00
Alex Henrie
fd99bd4e24 include: Annotate LDAP allocation functions with __WINE_(DEALLOC|MALLOC). 2023-03-20 21:27:44 +01:00
Gabriel Ivăncescu
541257b0a2 mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-20 21:03:42 +01:00
Gabriel Ivăncescu
fb0b55c520 mshtml: Fix nsuri leak if create_channelbsc failed.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-20 21:03:42 +01:00
Gabriel Ivăncescu
05f6885f62 mshtml: Share reference with the node for Gecko DOM Documents.
This simplifies the code and CC graph, like it's done for e.g. elements.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-20 21:03:40 +01:00
Gabriel Ivăncescu
c6c266a4b9 mshtml: Fix nsscript leak in bind_event_scripts.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-20 21:03:40 +01:00
Gabriel Ivăncescu
45263e333c mshtml: Fix nsevent leak in create_document_event.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-20 21:03:40 +01:00
Rémi Bernon
f869c8e7a3 widl: Lex calling convention variations toghether. 2023-03-20 21:03:32 +01:00
Rémi Bernon
53ae787d02 widl: Simplify reserved keywords lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon
858ec42a31 widl: Simplify preprocessor directive lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon
83f9f2cd3c widl: Remove unused lexer aliases. 2023-03-20 21:03:32 +01:00
Rémi Bernon
abbf6cefc5 widl: Simplify uuid literals lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon
44cb6c8444 dinput: Call enum_objects to initialize the device object format. 2023-03-20 21:03:06 +01:00
Rémi Bernon
570e183b41 dinput: Split enum_objects_count helper from enum_objects_init. 2023-03-20 21:03:06 +01:00
Rémi Bernon
1cda150973 dinput: Pass additional information to enum_object callback. 2023-03-20 21:03:06 +01:00
Rémi Bernon
1e594b1c0f dinput: Pass device object format index to queue_event. 2023-03-20 21:03:06 +01:00
Rémi Bernon
7b3f3d6078 dinput: Rewrite IDirectInputDevice8W_BuildActionMap. 2023-03-20 21:03:06 +01:00
Francois Gouget
c11e923422 mscoree/tests: Avoid temporary directory name collisions.
test_loadpaths_execute() was sometimes getting ERROR_ALREADY_EXISTS when
creating its temporary directoryi. That was probably because
GetTempFileNameW() only uses the low 16-bits of the 'random' LUID which
goes over a wider range, potentially leading to collisions in the lower
16-bits.
Avoid AllocateLocallyUniqueId() entirely and add a helper function to
create a guaranteed new directory.
Also try to use the current directory first as it is assumed to have
been configured to ward off anti-virus programs (specifically
Microsoft Defender) which is especially important when writing
executables to that location. Only switch to the system's temporary
directory if the current directory is not a writable location.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54560
2023-03-20 21:01:58 +01:00
Nikolay Sivov
19b799fd62 d3d10/effect: Add support for udiv instruction. 2023-03-20 17:11:25 +01:00
Nikolay Sivov
c96c6b9826 d3d10/effect: Add support for imax instruction. 2023-03-20 17:11:24 +01:00
Nikolay Sivov
8e2412fcc3 d3d10/effect: Add support for ineg instruction. 2023-03-20 17:11:23 +01:00
Nikolay Sivov
cbc2500638 d3d10/effect: Add support for itof instruction. 2023-03-20 17:11:21 +01:00
Jinoh Kang
bc854efd7c ntdll: Open application manifest files with FILE_SHARE_DELETE.
Today, RtlCreateActivationContext (CreateActCtxW) opens the source
manifest file via NtOpenFile without the FILE_SHARE_DELETE sharing mode.

This causes CreateActCtxW to fail if the source manifest file was
created with the FILE_DELETE_ON_CLOSE flag.  FILE_DELETE_ON_CLOSE is
often used for temporary files that should be automatically deleted
after use, even if the creator process crashes.

Fix this by specifying FILE_SHARE_DELETE for sharing mode when opening
the source manifest or module file.  This allows the source manifest or
module file to be marked as deleted while it is open.

Note that concurrent deletion is not an issue for the following reasons:

- The ability to read from an open file handle is unaffected by deletion
  of the corresponding file's name.

- RtlCreateActivationContext does not open the source manifest or module
  file by the given filename (lpSource) more than once.
2023-03-20 17:11:10 +01:00
Jinoh Kang
6cabfcc187 kernel32/tests: Test for manifest file open share mode in CreateActCtxW. 2023-03-20 17:11:10 +01:00
Tyson Whitehead
0065b2449a crypt32/tests: Document fields in original test certificate. 2023-03-20 17:10:45 +01:00
Tyson Whitehead
554a23d227 crypt32/tests: Test for CertGetNameStringW fallback cases. 2023-03-20 17:10:45 +01:00
Tyson Whitehead
01c69eb302 crypt32: Add some CertGetNameStringW fallback cases.
When called with CERT_NAME_ATTR_TYPE and pvTypePara=NULL, Windows
did the first of email, CN, OU, or O while Wine just did email.
2023-03-20 17:10:45 +01:00
Alexandre Julliard
78dc4ce7a0 widl: Pass the correct parent name when opening an import file.
Fixed a regression from 9d537999e3.
2023-03-20 17:10:45 +01:00
Rémi Bernon
ac95a5d483 win32u: Implement NtUserBuildHimcList syscall. 2023-03-20 17:10:45 +01:00
Rémi Bernon
7297a8e69c win32u: Introduce new next_process_user_handle_ptr helper.
And use it instead of next_thread_window_ptr.
2023-03-20 17:10:45 +01:00
Rémi Bernon
8dab5e32ab win32u/tests: Test NtUserBuildHimcList syscall. 2023-03-20 17:10:45 +01:00
Rémi Bernon
7ecb144656 win32u: Stub NtUserBuildHimcList syscall. 2023-03-20 17:10:45 +01:00
Rémi Bernon
a865ce8298 win32u/tests: Test NtUserCreateInputContext (et al.) 2023-03-20 17:10:44 +01:00
Connor McAdams
6f3bd0bc82 uiautomationcore: Implement IUIAutomationTreeWalker::GetParentElement{BuildCache}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-20 13:34:54 +01:00
Connor McAdams
b9d10cee89 uiautomationcore: Implement IUIAutomationTreeWalker::Get{Previous/Next}SiblingElement{BuildCache}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-20 13:34:54 +01:00
Connor McAdams
3978ff6538 uiautomationcore: Implement IUIAutomationTreeWalker::Get{First/Last}ChildElement{BuildCache}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-20 13:34:54 +01:00
Connor McAdams
68f6a73ad2 uiautomationcore: Add stub IUIAutomationTreeWalker implementation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-20 13:34:53 +01:00
Hans Leidekker
42fbc50b66 adsldp/tests: Fix test failures.
The server is back online now and apparently its contents changed, causing
test failures.
2023-03-20 13:30:31 +01:00
Alexandre Julliard
15aec46117 Release 8.4. 2023-03-17 22:20:03 +01:00
Francois Gouget
2078afb928 advapi32/tests: Skip some tests if the EventLog service crashed.
advapi32:eventlog crashes the EventLog service in some Windows
versions so defend against that condition.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53461
2023-03-17 19:32:00 +01:00
Francois Gouget
42bd3bb79a advapi32/tests: Enumerate the services using the Unicode API.
The ANSI one is broken in some UTF-8 locales which prevents most of the
tests from running. So use the Unicode API for most tests and just
confirm that it is consistent with the ANSI one instead of doing the
reverse.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=52895
2023-03-17 19:02:10 +01:00
Francois Gouget
81e33a3484 advapi32/tests: Take into account service start / stop race conditions.
Services sometimes start or stop between two EnumServicesStatus()
calls. Fortunately this is rare so the tests can just retry to get the
expected result.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53460
2023-03-17 19:02:08 +01:00
Francois Gouget
1da9e7c087 advapi32/tests: Better check the EnumServicesStatusExW() output.
It only has this one test.
2023-03-17 19:02:05 +01:00
Francois Gouget
3bfe315707 advapi32/tests: Separate the EnumServicesStatus() and EnumServicesStatusEx() tests. 2023-03-17 19:02:02 +01:00
Francois Gouget
7b3f804606 advapi32/tests: Better account for starting and stopping services.
The START_PENDING and STOP_PENDING services don't always have a
process id. Also trace unusual service states so we can identify which
ones behave in unexpected ways.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53460
2023-03-17 19:02:00 +01:00
Francois Gouget
eecb285841 advapi32/tests: Improve the resume handle service tests.
Fix the comments to not imply that the tests expect all services but
one to be returned.
Add a test of the needed buffer size to retrieve the remaining services
and document the limits of the test.
2023-03-17 19:01:57 +01:00
Rémi Bernon
d359837fcc widl: Avoid freeing input_name in pop_import.
The pointers are used in loc_info input_name without copy.
2023-03-17 16:45:29 +01:00
Rémi Bernon
194c002c6e widl: Simplify string literals lexing. 2023-03-17 16:45:11 +01:00
Rémi Bernon
baa3680f2e widl: Introduce a new helper to produce num tokens. 2023-03-17 16:45:11 +01:00
Rémi Bernon
a46facfd8c widl: Group <ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon
832d6985c8 widl: Group <INITIAL> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon
2b3a910184 widl: Group <INITIAL,ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Sven Baars
88fa3459b9 kernelbase: Also call NtOpenKeyEx() on empty key names.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54691
2023-03-17 14:12:33 +01:00
Sven Baars
68920ee430 advapi32/tests: Test deleting 32-bit registry keys. 2023-03-17 14:12:33 +01:00
Huw Davies
9b77f86046 winedump: Fix printf format warning. 2023-03-17 14:11:42 +01:00
Mohamad Al-Jaf
a0a782d8a1 windows.perception.stub: Implement IHolographicSpaceStatics3::get_IsConfigured().
Needed by the VR game Desperate: Vladivostok.
2023-03-17 11:55:49 +01:00
Mohamad Al-Jaf
f2a7b2f9e1 windows.perception.stub/tests: Add IHolographicSpaceStatics3::get_IsConfigured() tests. 2023-03-17 11:55:47 +01:00
Mohamad Al-Jaf
d0ec6366e4 windows.perception.stub: Add IHolographicSpaceStatics3 stub interface. 2023-03-17 11:55:46 +01:00
Mohamad Al-Jaf
0f01852333 include: Add IHolographicSpaceStatics3 interface definition. 2023-03-17 11:55:46 +01:00
Mohamad Al-Jaf
18453129be windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsAvailable().
Needed by the VR game Desperate: Vladivostok.
2023-03-17 11:55:44 +01:00
Mohamad Al-Jaf
fbf3c9e43c windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsSupported().
Needed by the VR game Desperate: Vladivostok.
2023-03-17 11:55:42 +01:00
Mohamad Al-Jaf
650ea6e6d8 windows.perception.stub/tests: Add IHolographicSpaceStatics2 properties tests. 2023-03-17 11:55:40 +01:00
Mohamad Al-Jaf
83dd2fd876 windows.perception.stub: Add IHolographicSpaceStatics2 stub interface. 2023-03-17 11:55:38 +01:00
Mohamad Al-Jaf
83e8ff0b15 include: Add IHolographicSpaceStatics2 interface definition. 2023-03-17 11:55:38 +01:00
Mohamad Al-Jaf
e98c7a0fcd include: Add windows.graphics.holographic.idl file. 2023-03-17 11:55:38 +01:00
Mohamad Al-Jaf
923a1b4e5c include: Add Windows.Foundation.Deferral definition.
Needed by windows.graphics.holographic.idl.
2023-03-17 11:55:36 +01:00
Mohamad Al-Jaf
3d3076b2ab include: Add windows.graphics.directx.direct3d11.idl file.
Needed by windows.graphics.holographic.idl.
2023-03-17 11:55:34 +01:00
Dmitry Timoshkov
02e3e17b4d win32u: Give full access rights to the thread desktop.
Fix CEF applications crash at start without --no-sandbox option.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53981
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-03-17 11:51:34 +01:00
Dmitry Timoshkov
b99c67569f win32u: Give full access rights to the process window station.
Fix CEF applications crash at start without --no-sandbox option.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53981
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-03-17 11:51:32 +01:00
Zhiyi Zhang
44b92e5777 user32/tests: Test winstation and desktop access rights. 2023-03-17 11:51:32 +01:00
Hans Leidekker
39e70374e6 adsldp/tests: Skip all remaining tests when the server is down.
There's a long timeout when the connection fails and there doesn't
appear to be a way to reduce it with this API. When several of these
timeouts occur the total time can exceed the timeout for the test.

This patch skips all remaining tests when one of them detects that
the server is down.
2023-03-17 11:51:21 +01:00
Alex Henrie
231199bc46 comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54640
2023-03-17 11:48:09 +01:00
Paul Gofman
446da60e78 winex11.drv: Don't allow changing internal pixel format if conflicts with non-internal. 2023-03-16 18:55:30 +01:00
Henri Verbeet
0791c3ac44 wined3d: Use vkd3d-shader to disassemble shaders. 2023-03-16 17:38:17 +01:00
Henri Verbeet
8493a6678a wined3d: Get rid of the wined3d_shader_byte_code_format enum.
It's been made redundant by the vkd3d_shader_source_type enum.
2023-03-16 17:38:16 +01:00
Zebediah Figura
06e6b16479 ddraw: Rename ddraw_surface_create_wined3d_texture() to ddraw_texture_init(). 2023-03-16 17:38:08 +01:00
Zebediah Figura
d4072dc870 ddraw: Do not return a wined3d_texture from ddraw_surface_create_wined3d_texture(). 2023-03-16 17:38:08 +01:00
Zebediah Figura
0ff2f3a856 ddraw: Move the rest of the surface desc population to ddraw_surface_create() from device_parent_texture_sub_resource_created().
Cf. 191db92fd5.

Put all this code in the same place, and possibly move towards getting rid of
the texture_sub_resource_created() callback entirely.
2023-03-16 17:38:05 +01:00
Max Figura
21079819e8 wined3d: Move the WINED3D_RS_INDEXEDVERTEXBLENDENABLE stub to wined3d_device_apply_stateblock. 2023-03-16 17:38:00 +01:00
Max Figura
79ea470d4d wined3d: Move the WINED3D_RS_DEBUGMONITORTOKEN stub to wined3d_device_apply_stateblock. 2023-03-16 17:38:00 +01:00
Max Figura
5c61a9c3e6 wined3d: Move the WINED3D_RS_PATCHSEGMENTS stub to wined3d_device_apply_stateblock. 2023-03-16 17:38:00 +01:00
Max Figura
0076908b4a wined3d: Move the WINED3D_RS_PATCHEDGESTYLE stub to wined3d_device_apply_stateblock. 2023-03-16 17:38:00 +01:00
Max Figura
dfa5f0082f wined3d: Move the WINED3D_RS_SOFTWAREVERTEXPROCESSING stub to wined3d_device_apply_stateblock. 2023-03-16 17:38:00 +01:00
Rémi Bernon
659525268b dinput/tests: Increase timeouts for waits not supposed to fail.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54594
2023-03-16 17:36:59 +01:00
Rémi Bernon
07753da93c dinput/tests: Remove BuildActionMap / SaveActionMap mouse and keyboard tests. 2023-03-16 17:36:59 +01:00
Rémi Bernon
ed3f06b11a dinput/tests: Test SaveActionMap effect on HID joystick input. 2023-03-16 17:36:59 +01:00
Rémi Bernon
e7b3e3514c dinput/tests: Test SaveActionMap effect on DIPROP_RANGE property. 2023-03-16 17:36:59 +01:00
Rémi Bernon
4edea8a93a dinput/tests: Test SaveActionMap effect on DIPROP_BUFFERSIZE property. 2023-03-16 17:36:59 +01:00
Rémi Bernon
2750d924db dinput/tests: Test SaveActionMap effect on DIPROP_APPDATA property. 2023-03-16 17:36:59 +01:00
Rémi Bernon
2656e418e2 dinput/tests: Test SaveActionMap effect on DIPROP_USERNAME property. 2023-03-16 17:36:58 +01:00
Rémi Bernon
88e2b447a2 dinput/tests: Test BuildActionMap / SaveActionMap with the HID joystick. 2023-03-16 17:36:58 +01:00
Rémi Bernon
cefe42dfeb include: Add some dinput.h action semantics definitions. 2023-03-16 17:36:58 +01:00
Francois Gouget
8f6ab16839 dinput/tests: Skip the tests if acquiring the device fails.
All the tests that follow would fail anyway, making it hard to filter
them out to avoid false positives.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54558
2023-03-16 17:36:56 +01:00
Francois Gouget
0007925e8f wofutil: Add a trailing linefeed to a FIXME(). 2023-03-16 17:01:00 +01:00
Rémi Bernon
196295db88 imm32/tests: Test basic ImmEnumInputContext usage. 2023-03-16 14:09:47 +01:00
Rémi Bernon
195879ada8 imm32/tests: Test ImmUnregisterWord with the installed IME. 2023-03-16 14:09:47 +01:00
Rémi Bernon
6896953d95 imm32/tests: Test ImmGetRegisterWordStyle with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
eab785a358 imm32/tests: Test ImmRegisterWord with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
f05d4cb0c7 imm32/tests: Test ImmEnumRegisterWord with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
c959a58801 imm32/tests: Test ImmEscape with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
08a6d7687a imm32/tests: Test ImmGetProperty with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
bb8bcf492c imm32/tests: Test ImmIsIME with the installed IME. 2023-03-16 14:09:46 +01:00
Rémi Bernon
7f5007f197 imm32/tests: Use LANG_INVARIANT for the installed IME.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54669
2023-03-16 14:09:46 +01:00
Rémi Bernon
7ebf75f92d widl: Use open_input_file to open the main input. 2023-03-16 14:09:25 +01:00
Rémi Bernon
1a0a617850 widl: Respect -N flag for imported files preprocessing. 2023-03-16 14:09:25 +01:00
Rémi Bernon
39da052012 widl: Introduce new (open|close)_input_file helpers. 2023-03-16 14:09:25 +01:00
Rémi Bernon
a6ab03dcd5 widl: Handle preprocess-only case separately. 2023-03-16 14:09:25 +01:00
Rémi Bernon
9d537999e3 widl: Use a struct list for the import stack. 2023-03-16 14:09:25 +01:00
Rémi Bernon
5deda2de3f widl: Simplify handling of already parsed imports. 2023-03-16 14:09:25 +01:00
Rémi Bernon
9d1f1a3fb1 widl: Use a struct list to keep imported files. 2023-03-16 14:09:25 +01:00
Alexandros Frantzis
b35f4424b2 winewayland.drv: Report all advertised monitor modes to Wine.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis
697b58f406 winewayland.drv: Report basic monitor information.
Whenever the Wayland output display state changes (including during
initialization), update the monitor information on the Wine side to
reflect these changes.

For now all monitors are placed at 0,0 in the monitor space, and
only the current mode is reported. These deficiencies will be addressed
in upcoming commits.

We currently support a single GPU, and a single monitor for each
adapter.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis
243c19098e win32u: Allow drivers to set the null user driver.
Allow passing NULL as the user driver to __wine_set_user_driver(),
to set the internal null user driver. This is useful for drivers
that may need to tentatively set their own user driver during setup
and reset it on failure.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis
50c1b1974f winewayland.drv: Perform basic per-process Wayland initialization.
Try to connect to the Wayland compositor, and fail driver initialization
if we are unable to do so.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis
5ef250c0d1 winewayland.drv: Add initial unixlib stub.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis
2a79056e9a winewayland.drv: Add initial driver stub.
Add the initial driver stub for the Wayland driver and build it
by default.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Connor McAdams
eeb098e7b6 uiautomationcore: Implement IUIAutomationElement::FindFirst{BuildCache}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:13 +01:00
Connor McAdams
fdb3c9f93a uiautomationcore: Implement IUIAutomationElement::FindAll{BuildCache}.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:13 +01:00
Connor McAdams
3b68d75f53 uiautomationcore/tests: Add tests for IUIAutomationElement find methods.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:12 +01:00
Connor McAdams
d3d108f9b8 uiautomationcore: Implement IUIAutomationElement::GetCachedPropertyValueEx.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:12 +01:00
Connor McAdams
29a4e096d7 uiautomationcore: Implement IUIAutomationCacheRequest::AddProperty.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:12 +01:00
Connor McAdams
b9410e8c39 uiautomationcore: Add support for caching property values in UiaGetUpdatedCache.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-16 12:48:12 +01:00
Alex Henrie
0c1dcfd354 wldap32: Handle null LDAPMessage in ldap_parse_result.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54690
2023-03-16 12:47:54 +01:00
Alex Henrie
65323a6b96 wldap32: Handle null LDAPMessage in ldap_count_entries.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54690
2023-03-16 12:47:54 +01:00
Alex Henrie
57828356f8 wldap32: Replace bvfreeU with plain free. 2023-03-16 12:47:44 +01:00
Zhiyi Zhang
81976e5c3f light.msstyles: Add nonclient metrics. 2023-03-15 17:43:46 +01:00
Zhiyi Zhang
40492eb007 user32/tests: Do not modify cursor position when simulating clicks.
FVWM by default uses a focus follow mouse model so the window under the mouse cursor automatically
gets focus. Windows explorer.exe and other windows managers use click to focus model. So on FVWM,
if a test changes the cursor position, it might affects other tests that rely on a specific focus
window. Restore the cursor position after sending simulating clicks to avoid affecting other tests
unintentionally. FVWM could be configured to use a click to focus model, but right now it will make
many tests starting to succeed and other tests fail. So it seems to be too big of a change. Flaky
is added to test_SetWindowPos() because this patch makes the tests succeed on Gitlab CI but the same
tests still fails for other window managers and on TestBots.
2023-03-15 17:43:45 +01:00
Zhiyi Zhang
c7d748d2e5 gitlab: Make FVWM respect position hints.
FVWM doesn't respect PPosition hints by default and tries to tile a window according to its rules.
This might break tests that require a window at a specific position. For example, when setting the
caption bar height to anything other than 18, some user32 tests start to fail. They succeeded
previously just because the caption bar and border height on FVWM totals to 18, which is happens to
be the same value used by Wine by default.
2023-03-15 17:43:43 +01:00
Sven Baars
b5a0759b15 kernelbase: Restructure the create_key() loop. 2023-03-15 16:12:31 +01:00
Sven Baars
6b7adb3d5d kernelbase: Add a fast path to create_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
5d7bbb56c1 kernelbase: Move create_key() below open_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
0badf072e0 kernelbase: Factor opening a subkey out of open_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
31ee0b309b kernelbase: Always try to open the Wow6432Node in open_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
0da843f082 kernelbase: Restructure the open_key() loop. 2023-03-15 16:12:31 +01:00
Sven Baars
e146c33351 kernelbase: Pass the key name to create_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
076fb381a9 kernelbase: Pass the root key to create_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
75aa00a557 kernelbase: Pass the key name to open_key(). 2023-03-15 16:12:31 +01:00
Sven Baars
a31d0e6c62 kernelbase: Pass the root key to open_key(). 2023-03-15 16:12:30 +01:00
Rémi Bernon
8bdee1d248 imm32: Use CRT allocation functions. 2023-03-15 14:57:51 +01:00
Rémi Bernon
e242e09432 imm32: Rewrite ImmGetDescription(A|W). 2023-03-15 14:57:51 +01:00
Rémi Bernon
85489a53f5 imm32: Rewrite ImmGetIMEFileName(A|W). 2023-03-15 14:57:51 +01:00
Rémi Bernon
8b0b53379f imm32: Transform "Ime File" value in ImmInstallIMEW. 2023-03-15 14:57:51 +01:00
Rémi Bernon
4eba0765d9 imm32: Rename szImeRegFmt to layouts_formatW. 2023-03-15 14:57:51 +01:00
Alexandre Julliard
9e8fbdab72 wineboot: Add processor features for supported WoW64 architectures on ARM64. 2023-03-15 14:57:51 +01:00
Alexandre Julliard
911cdcda04 wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend. 2023-03-15 11:50:46 +01:00
Alexandre Julliard
5a1d431b4b ntdll: Implement NtWow64IsProcessorFeaturePresent(). 2023-03-15 11:48:57 +01:00
Alexandre Julliard
6114944106 ntdll/tests: Update some todos that succeed with the new wow64 architecture. 2023-03-15 11:48:57 +01:00
Alexandre Julliard
6f2cf11da3 ntdll/tests: Fix Wow64 tests failures on Windows 11 ARM64. 2023-03-15 10:59:31 +01:00
Alexandre Julliard
29cd79829c ntdll/tests: Handle another possible status when SystemProcessorFeaturesInformation is not supported. 2023-03-15 09:05:47 +01:00
Henri Verbeet
7db5431699 d3dcompiler: Handle some newer D3D_BLOB_PART values in debug_d3dcompiler_d3d_blob_part(). 2023-03-14 21:00:19 +01:00
Rémi Bernon
b97cf7ab5f widl: Remove unused temp_name member. 2023-03-14 20:38:59 +01:00
Rémi Bernon
9a047736b3 widl: Use bison-bridge option. 2023-03-14 20:38:59 +01:00
Rémi Bernon
37f343b4a9 widl: Use noyywrap lexer option. 2023-03-14 20:38:59 +01:00
Rémi Bernon
1ec6ea528e widl: Add missing rule end semicolons. 2023-03-14 20:38:59 +01:00
Rémi Bernon
3384e7cb63 widl: Use explicit %empty token for empty rules. 2023-03-14 20:38:59 +01:00
Daniel Tang
bbb28c938b windows.networking: Stub DllGetActivationFactory(). 2023-03-14 18:38:31 +01:00
Daniel Tang
ce18bd4d09 wofutil: Stub WofIsExternalFile(). 2023-03-14 18:38:31 +01:00
Daniel Tang
1471924800 wintypes: Stub RoIsApiContractMajorVersionPresent(). 2023-03-14 18:38:31 +01:00
Rémi Bernon
9d72a71f57 winex11: Remove now unnecessary user locale change checks. 2023-03-14 18:38:31 +01:00
Rémi Bernon
c0366cbb2e win32u: Prevent user locale change in NtUserActivateKeyboardLayout. 2023-03-14 18:38:31 +01:00
Rémi Bernon
27c5abe378 win32u: Keep the current user locale when loading layout. 2023-03-14 18:38:31 +01:00
Rémi Bernon
d12dda395f win32u: Keep the current user locale when enumerating layouts.
The low word of the enumerated HKL is the desired user locale, the high
word is either the keyboard layout LANGID, or the keyboard "Layout Id"
for additional layouts with the same LANGID.
2023-03-14 18:38:31 +01:00
Derek Lesho
ab80ee17fa winegstreamer/media_source: Close bytestream in ::Shutdown.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2023-03-14 18:38:31 +01:00
Derek Lesho
698cc602f0 mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2023-03-14 18:38:31 +01:00
Francois Gouget
d3c32ccfe1 d3d8/tests: Remove an unused call to IDirect3D8_GetAdapterDisplayMode().
It is no longer used now that test_fpu_setup() uses create_device().
2023-03-14 18:34:34 +01:00
Henri Verbeet
34139937b0 wined3d: Sort the exports.
For the most part these were already sorted, but a few exceptions appear to
have crept in.
2023-03-14 18:34:28 +01:00
Henri Verbeet
890877f145 d3d11: Get rid of the DXBC tag definitions.
These have been unused for a while now.
2023-03-14 18:34:22 +01:00
Alexandre Julliard
e3e0c3a91a wineboot: Use the SystemProcessorBrandString query instead of cpuid. 2023-03-14 17:38:51 +01:00
Alexandre Julliard
c44e58c88b ntdll: Implement the SystemProcessorFeaturesInformation query. 2023-03-14 17:38:51 +01:00
Alexandre Julliard
72422be6d2 ntdll: Implement the SystemProcessorBrandString query. 2023-03-14 17:34:09 +01:00
Alexandre Julliard
b72c2dca01 ntdll: Fix some CPU information tests on ARM64. 2023-03-14 17:26:13 +01:00
Rémi Bernon
0392621858 imm32: Use a single ime_is_unicode helper. 2023-03-14 15:02:20 +01:00
Rémi Bernon
ea4b97bf4e imm32: Delete unnecessary uSelected struct ime member. 2023-03-14 15:02:20 +01:00
Rémi Bernon
c76b55991a imm32: Rename some struct ime members. 2023-03-14 15:02:20 +01:00
Rémi Bernon
fa9de19a66 imm32: Implement ImmLoadIME and ImmFreeLayout. 2023-03-14 15:02:20 +01:00
Zebediah Figura
53aa0be037 ddraw: Move sub-resource surface initialization to ddraw_surface_create_wined3d_texture(). 2023-03-14 14:24:59 +01:00
Zebediah Figura
54fb279302 ddraw: Factor out more common initialization into ddraw_surface_create_wined3d_texture(). 2023-03-14 14:24:59 +01:00
Zebediah Figura
7a61760c60 ddraw: Move sysmem_fallback setting to ddraw_surface_create_wined3d_texture(). 2023-03-14 14:24:59 +01:00
Zebediah Figura
fbcd01ff1f ddraw: Remove some outdated comments from ddraw_surface7_SetSurfaceDesc(). 2023-03-14 14:24:59 +01:00
Zebediah Figura
0fb06e8ac7 ddraw: Rename "is_complex_root" to "is_root".
"is_complex_root" is somewhat misleading, given that it is TRUE for surfaces with no attached surfaces.
2023-03-14 14:24:59 +01:00
Max Figura
916904f49f wined3d: Move the WINED3D_RS_COLORKEYBLENDENABLE stub to wined3d_device_apply_stateblock. 2023-03-14 14:24:59 +01:00
Max Figura
37e206558d wined3d: Move the WINED3D_RS_EXTENTS stub to wined3d_device_apply_stateblock. 2023-03-14 14:24:59 +01:00
Max Figura
fc9324f2a9 wined3d: Move the WINED3D_RS_WRAP0 stub to wined3d_device_apply_stateblock. 2023-03-14 14:24:59 +01:00
Max Figura
8f2a2dfb01 wined3d: Move the WINED3D_RS_WRAP1 stub to wined3d_device_apply_stateblock. 2023-03-14 14:24:59 +01:00
Max Figura
044371508d wined3d: Move the WINED3D_RS_WRAP2 stub to wined3d_device_apply_stateblock. 2023-03-14 14:24:59 +01:00
Henri Verbeet
5925c1d1bb wined3d: Use wined3d_get_line() in shader_spirv_scan_shader(). 2023-03-14 14:24:59 +01:00
Henri Verbeet
ca8b05e9cd wined3d: Use wined3d_get_line() in shader_spirv_compile_shader(). 2023-03-14 14:24:59 +01:00
Henri Verbeet
0fb1020965 wined3d: Use wined3d_get_line() in shader_arb_compile(). 2023-03-14 14:24:59 +01:00
Henri Verbeet
eb31dcf04d wined3d: Use wined3d_get_line() in shader_glsl_dump_program_source().
Thereby removing the last user of get_info_log_line().
2023-03-14 14:24:59 +01:00
Henri Verbeet
2945180927 wined3d: Use wined3d_get_line() in shader_glsl_compile(). 2023-03-14 14:24:59 +01:00
Henri Verbeet
4144f2e864 wined3d: Don't bother explicitly terminating the GLSL info log in print_glsl_info_log(). 2023-03-14 14:24:59 +01:00
Jacek Caban
67c6770331 winedump: Print static lib EC symbols. 2023-03-13 22:07:24 +01:00
Gabriel Ivăncescu
5ddeae6ac1 jscript: Fix jsstr leak after changing variant type to BSTR.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-13 22:07:14 +01:00
Florian Will
4e167e7e1e comdlg32/tests: Fix itemdlg tests on Windows.
The wine testbot runs tests with C:\Users\Public\Documents as the
working directory. Itemdlg tests create test files in the working
directory and then try to select them for opening in an IFileOpenDialog.
The dialog has its SetFolder method called to point it to the current
working directory before showing the dialog, in order for the test code
to find the test files it had created there just before opening the
dialog.

On Windows, this failed because calling the dialog's SetFolder method
with C:\Users\Public\Documents doesn't work as expected. The dialog
points to the C:\Users\[CURRENT_USER]\Documents directory instead.
Subsequently, the test would be unable to select the test file because
it doesn't exist in that directory. So the dialog wouldn't accept the
file and close itself to finish the test, but show an error message
instead, resulting in a test timeout.

To fix this, set the current working directory to the temporary
directory before calling individual itemdlg test_* functions.
2023-03-13 21:31:55 +01:00
Francois Gouget
1d9de16091 vbscript/tests: Fix the testChrError() tests in the mixed locale case.
VBscript actually uses the default code page of the user default locale
which may not be the same as CP_THREAD_ACP.
Also for locales that don't have an ANSI code page, such as Hindi, it
falls back to UTF-8.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54003
2023-03-13 15:56:32 +01:00
Rémi Bernon
4e7aa4fb6a imm32: Rename input context immKbd to ime. 2023-03-13 10:43:15 +01:00
Rémi Bernon
0b34236dfd imm32: Move IMM_FreeThreadData helper around. 2023-03-13 10:43:15 +01:00
Rémi Bernon
245465ba1d imm32: Return early if IMM_GetImmHkl fails. 2023-03-13 10:43:15 +01:00
Rémi Bernon
84cec42e62 imm32: Fail to load IME on any missing entry.
Testing shows that this is what native does.
2023-03-13 10:43:13 +01:00
Rémi Bernon
1ac7125813 imm32: Avoid casts when calling into A/W IME. 2023-03-13 10:43:12 +01:00
Alex Henrie
6ed4a2e40e wldap32: Add ldap_set_dbg_flags stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54663
2023-03-13 10:42:48 +01:00
Evan Tang
a7b49b0e86 kernel32/tests: Fix tls callback tests on Windows 7.
Also add a few more so the full set of callbacks is tested.

Fixes: 2203a8564c
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54657
2023-03-13 10:42:10 +01:00
Fan WenJie
67f992c831 wow64: Fix missing conversion of ThreadWineNativeThreadName in wow64_NtSetInformationThread. 2023-03-13 10:39:31 +01:00
Connor McAdams
98027dd6f5 uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-13 10:39:25 +01:00
Connor McAdams
062584af05 uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-13 10:39:25 +01:00
Connor McAdams
549b4f3db4 uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-13 10:39:25 +01:00
Connor McAdams
64d13cb7ec uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-13 10:39:25 +01:00
Connor McAdams
6749649180 uiautomationcore: Validate input arguments for IUIAutomationElement::GetCurrentPropertyValueEx.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-13 10:39:25 +01:00
Alexandre Julliard
4c255f5a63 tiff: Import upstream release 4.5.0. 2023-03-11 18:55:35 +01:00
Alexandre Julliard
f93e53c94b ldap: Import upstream release 2.5.14. 2023-03-11 18:55:04 +01:00
Alexandre Julliard
f953b99c51 faudio: Import upstream release 23.03. 2023-03-11 18:55:04 +01:00
Alexandre Julliard
d462bcdff1 lcms2: Import upstream release 2.15. 2023-03-11 18:31:22 +01:00
Piotr Caban
fbfa4a3aed wineps: Fix image bits access in PSDRV_WriteDIBPatternDict. 2023-03-10 21:18:59 +01:00
Piotr Caban
5d68939dfd wineps: Fix buffer overflow in PSDRV_WriteDIBPatternDict function. 2023-03-10 21:18:59 +01:00
Davide Beatrici
576827d83a winepulse: Use GetModuleFileName() instead of hardcoded module filename for registry key. 2023-03-10 15:58:59 +01:00
Davide Beatrici
53baa44574 wineoss: Use GetModuleFileName() instead of hardcoded module filename for registry key. 2023-03-10 15:58:59 +01:00
Davide Beatrici
f58ef5a9c8 winecoreaudio: Use GetModuleFileName() instead of hardcoded module filename for registry key. 2023-03-10 15:58:59 +01:00
Davide Beatrici
cb20ab84ff winealsa: Use GetModuleFileName() instead of hardcoded module filename for registry key. 2023-03-10 15:58:59 +01:00
Rémi Bernon
87e0c10b4c imm32: Reorder control flow in ImmGetImeMenuItemsW. 2023-03-10 09:50:11 +01:00
Rémi Bernon
d07cec3021 imm32: Reorder control flow in ImmGetImeMenuItemsA. 2023-03-10 09:50:11 +01:00
Rémi Bernon
ad2ca1e99c imm32: Reorder control flow in ImmUnregisterWordW. 2023-03-10 09:50:11 +01:00
Rémi Bernon
4778d1f2bc imm32: Reorder control flow in ImmUnregisterWordA. 2023-03-10 09:50:11 +01:00
Rémi Bernon
034148e6a1 imm32: Reorder control flow in ImmRegisterWordW. 2023-03-10 09:50:11 +01:00
Rémi Bernon
cda7a1338e imm32: Reorder control flow in ImmRegisterWordA. 2023-03-10 09:50:11 +01:00
Rémi Bernon
1bc81cd8ae imm32: Reorder control flow in ImmGetRegisterWordStyleW. 2023-03-10 09:50:11 +01:00
Rémi Bernon
4693428b05 imm32: Reorder control flow in ImmGetRegisterWordStyleA. 2023-03-10 09:50:11 +01:00
Rémi Bernon
03f1780653 imm32: Reorder control flow in ImmGetProperty. 2023-03-10 09:50:09 +01:00
Fan WenJie
b3ae4f7947 opengl32: Fix missing conversion of glUnmapNamedBuffer_params from 32bit to 64bit.
Signed-off-by: Fan WenJie <fanwj@mail.ustc.edu.cn>
2023-03-10 09:49:38 +01:00
Fan WenJie
60ce80e6ac opengl32: Fix missing conversion of glUnmapBuffer_params from 32bit to 64bit.
Signed-off-by: Fan WenJie <fanwj@mail.ustc.edu.cn>
2023-03-10 09:49:38 +01:00
Stefan Dösinger
617831054f dxgi/tests: Test nested SetFullscreenState from the same thread.
I am still deliberately not testing after which message the swapchain
state changes from the old state to the new until we find a game that
depends on this.

ddraw, d3d8 and d3d9 do not catch recursive SetDisplayMode or Reset()
calls. They will recurse for about 16 times and then return library
specific weird return values like 0xd0000510 (NTSTATUS, but
nonexistent facility) or 0x88760868 (non-existent HRESULT facility). I
suspect it aborts when the kernel-side message processing stack is
exhausted. As such, an application depending on nested calls in those
libraries would have to deliberately do it, but limit the amount of
nesting to a non-zero amount.
2023-03-10 09:49:32 +01:00
Stefan Dösinger
92544264fd dxgi/tests: Test nested fullscreen application from different thread. 2023-03-10 09:49:32 +01:00
Stefan Dösinger
33170e2720 dxgi: Catch nested SetFullscreenState invocations. 2023-03-10 09:49:32 +01:00
Stefan Dösinger
75f7bd0eea dxgi: Unlock the wined3d mutex after storing the new target.
Otherwise a second thread might set it to something else between the
unlock and assignment.
2023-03-10 09:49:32 +01:00
Stefan Dösinger
52bdd0dbcd dxgi/tests: Run test_swapchain_window_messages on d3d12. 2023-03-10 09:49:32 +01:00
Zebediah Figura
6956746a0a dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
2023-03-10 09:49:32 +01:00
Stefan Dösinger
99cc854a03 dxgi/tests: Run test_resize_target_wndproc on d3d12 too. 2023-03-10 09:49:32 +01:00
Stefan Dösinger
2654f9c456 dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc. 2023-03-10 09:49:13 +01:00
Alexandre Julliard
7af84c79a1 gitlab: Add workaround for more strict git ownership check. 2023-03-10 09:33:13 +01:00
Alexandre Julliard
ce8023ea13 make_makefiles: Die when the git command fails. 2023-03-10 09:25:46 +01:00
Evan Tang
a8fa80cfb4 ntdll/tests: Move TlsIndex test to kernel32:loader.
Gets us access to a dll with tls to verify.
2023-03-09 18:42:45 +01:00
Evan Tang
2203a8564c kernel32/tests: Add test verifying that tls init functions are called. 2023-03-09 18:41:40 +01:00
Evan Tang
1833887428 ntdll: Fix inverted TlsIndex check.
Fixes: a30a5287f0
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54539
2023-03-09 18:41:17 +01:00
Hugh McMaster
1a61a4e1a6 regedit: Append '.reg' file extension if necessary. 2023-03-09 18:12:49 +01:00
Hugh McMaster
f5fe9a6cf9 regedit: Allow export_key() to return TRUE.
We don't handle errors in export_registry_data() anyway.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54491
2023-03-09 18:12:47 +01:00
Francois Gouget
b7ae278f2b windows.perception.stub/tests: Skip some tests when ISpatialSurfaceObserverStatics2 is not supported.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54649
2023-03-09 18:11:40 +01:00
Piotr Caban
065fbd206d gdi32: Improve EMR_CREATEDIBPATTERNBRUSHPT playback.
It makes the lbHatch data available after PlayEnhMetaFileRecord returns.
2023-03-09 18:11:28 +01:00
Alexandre Julliard
37628a7732 wow64: Implement Wow64RaiseException(). 2023-03-09 17:31:26 +01:00
Alexandre Julliard
c7fcbea457 wow64: Don't update the exception address in raise_exception(). 2023-03-09 17:31:26 +01:00
Alexandre Julliard
ce737601d5 wow64: Fixup Eip for breakpoint exceptions.
Matching the 32-bit setup_raise_exception().
2023-03-09 17:31:26 +01:00
Alexandre Julliard
3e3af62be9 wow64: Create the WOW64INFO structure. 2023-03-09 17:31:26 +01:00
Rémi Bernon
a8f11bb8f3 imm32: Reorder control flow in ImmGetConversionListW. 2023-03-09 17:31:26 +01:00
Rémi Bernon
27b587d967 imm32: Reorder control flow in ImmGetConversionListA. 2023-03-09 17:31:26 +01:00
Rémi Bernon
af926f1bdc imm32: Reorder control flow in ImmEscapeW. 2023-03-09 17:31:26 +01:00
Rémi Bernon
f5c5839bd3 imm32: Reorder control flow in ImmEscapeA. 2023-03-09 17:31:26 +01:00
Rémi Bernon
c358707a4d imm32: Reorder control flow in ImmEnumRegisterWordW. 2023-03-09 17:31:26 +01:00
Rémi Bernon
93938a83df imm32: Reorder control flow in ImmEnumRegisterWordA. 2023-03-09 17:31:26 +01:00
Rémi Bernon
38152f893d imm32: Reorder control flow in ImmConfigureIMEW. 2023-03-09 17:31:26 +01:00
Rémi Bernon
e0229ba326 imm32: Reorder control flow in ImmConfigureIMEA. 2023-03-09 17:31:26 +01:00
Rémi Bernon
8f12fac681 imm32: Rename ImmHkl to struct ime. 2023-03-09 17:31:26 +01:00
Rémi Bernon
05cf38bfa6 imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout. 2023-03-09 17:31:26 +01:00
Rémi Bernon
89cdae2e51 imm32: Implement stubs for ImmFreeLayout and ImmLoadIME. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani
ac265bf3fb dxgi: Reset the back buffer index to zero on ResizeBuffers(). 2023-03-09 17:31:26 +01:00
Giovanni Mascellani
dc2a2eaf3d dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani
8af43e1cb3 dxgi: Always assume that a D3D12 swapchain always uses user images. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani
e946f610b2 dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani
494eec109b d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues. 2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
7b74a484c1 mshtml: Use already available window local variable in refresh task.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
6bd162d9d2 mshtml: Grab refs to windows upfront before sending pagehide events.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
3c2b417151 mshtml: Hold ref to the frame element during readyState notifications.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
b7d75c9dcb mshtml: Check if browser was detached during notifications while navigating.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
c3529d6bd7 mshtml: Hold ref to outer window when navigating.
It's possible for it to get destroyed while processing an external callback
notification.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
fbeab911c9 mshtml: Hold ref to inner window when calling external code.
It's possible for it to get detached while processing an external callback
notification, such as when navigation happens during it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu
a62be201c8 mshtml: Hold ref to HTMLDocumentObj when calling external code.
It's possible for it (and the GeckoBrowser) to get detached and destroyed
while processing an external callback notification.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Zebediah Figura
ff64d67f76 wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 17:31:26 +01:00
Zebediah Figura
f605add4fd winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:46 +01:00
Zebediah Figura
46c8a63752 winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:46 +01:00
Zebediah Figura
c2018ff466 win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:45 +01:00
Zebediah Figura
8da023fe8c wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
Currently this does nothing, because wglGetPixelFormat() returns the pixel
format set by wglSetPixelFormatWINE(). However, with the following changes to
WGL_WINE_pixel_format_passthrough, wglGetPixelFormat() will only return the
pixel format set by wglSetPixelFormat(). Hence we should avoid trying to set
the "internal" pixel format more than once.
2023-03-09 15:02:43 +01:00
Zebediah Figura
15f03ac3cb winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura
899f010232 wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura
775a2d5f4c winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura
463a11379b win32u: Introduce a win32u_get_window_pixel_format() helper. 2023-03-09 15:02:42 +01:00
Zebediah Figura
b545ca0f9b win32u: Make NtUserSetWindowPixelFormat() into a proper export.
This is simpler in general, given that this function is no longer used
from user-space. In this particular case, the secondary purpose is to
allow easily adding arguments to the function.
2023-03-09 15:02:38 +01:00
Gabriel Ivăncescu
606e0c191e kernel32: Fix GetCurrencyFormatA when input length is 0.
Fixes a regression introduced by 42afb693b1.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-08 20:05:14 +01:00
Gabriel Ivăncescu
c55f8f3518 kernel32: Fix GetNumberFormatA when input length is 0.
Fixes a regression introduced by b6bf69ef80.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-08 20:05:14 +01:00
Eric Pouech
13afaa7c16 dbghelp/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

(May not fully fix all the bugs below, but will get rid of a bunch
 of errors).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54535
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54536
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54537
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:23 +01:00
Eric Pouech
38e3a92e21 psapi/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

(May not fix all the issues in the following bug list, but will remove
 a lot of errors).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54504
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54505
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54506
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54507
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54508
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54509
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:16 +01:00
Eric Pouech
0e41777a44 ntdll/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:00 +01:00
Eric Pouech
de3ecada24 ntdll/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:07:58 +01:00
Zebediah Figura
b826e1eb3d ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture(). 2023-03-08 18:07:04 +01:00
Zebediah Figura
eea1b79e24 ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture(). 2023-03-08 18:07:04 +01:00
Zebediah Figura
b15339d470 ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
And, more saliently, to allow moving more common code to the end of the
function.
2023-03-08 18:07:03 +01:00
Zebediah Figura
5ba3c4af7c ddraw: Separate a need_draw_texture() helper. 2023-03-08 18:07:03 +01:00
Zebediah Figura
655af198df ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
It makes use of the wined3d_format, and we want to move wined3d desc creation to
ddraw_surface_create_wined3d_texture() so that we can use it to recreate the
wined3d texture in SetSurfaceDesc().
2023-03-08 18:07:01 +01:00
Rémi Bernon
fee5eaecb4 win32u: Send WM_INPUTLANGCHANGE when activating new layout. 2023-03-08 17:49:00 +01:00
Rémi Bernon
30aa9055a0 win32u: Move window query functions around. 2023-03-08 17:49:00 +01:00
Rémi Bernon
3a4859e22d user32/tests: Add a WM_INPUTLANGCHANGE message test. 2023-03-08 17:49:00 +01:00
Rémi Bernon
9f072a273d user32/tests: Skip tests if layout failed to activate. 2023-03-08 17:49:00 +01:00
Eric Pouech
5477ee640b dbghelp: Fix vdso.so lookup.
- should have been fixed when libwine.so has been removed
- code was broken anyway
- enhanced protect against error when reading debuggee's memory

Introducing helper to correctly read pointer's from debuggee
(and other integral values).

vdso is now listed in ELF's module list (except if Wine's preloader
removes it from auxilary vector)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech
9877ba9732 dbghelp: Don't set ELF loader when wine's loader isn't accessible.
For dbghelp in 32-bit, when accessing a live debuggee in multi-arch
configuration, Wine's ELF loader is likely mapped above 4G, hence
not accessible with 32bit Windows APIs.
So don't try to expose the ELF libraries in that case.
Introducing a new loader operation class to support live targets, for
which system operations are not accessible, but pretending they are
successful.

Note:
- when Wine's loader ELF module isn't registered by dbghelp,
  any other ELF module will not be registered by dbghelp.
- further work may be needed for winedbg in auto mode (launched with
  AeDebug key on process exception) as in that mode winedbg
  doesn't relaunch itself in 64bit, so won't be able to access
  (64bit) ELF information (in multi-arch configuration).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech
0f98972fe2 dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech
aabb4e12bc dbghelp: Use 'wine' as loader on multi-arch configuration.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech
e1f41c0a17 dbghelp/tests: Preserve last error in process_get_kind().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech
2d3b6d03fe dbghelp/tests: Better use global variables.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Rémi Bernon
3136115324 imm32/tests: Test ImmGetIMEFileName with the installed IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon
d0cc3ded08 imm32/tests: Test ImmGetDescription with the installed IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon
16222f2de6 imm32/tests: Redirect IME function to the main module.
For easier testing and to wokaround some Windows IME caching mechanism
that prevent the IME module from reloading.
2023-03-08 17:49:00 +01:00
Rémi Bernon
d07a5e6b91 imm32/tests: Test ImmInstallIMEW with an actual IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon
2d39dcafc8 makedep: Support resource files for embedded TESTDLL. 2023-03-08 17:49:00 +01:00
Rémi Bernon
d2e79b0905 makedep: Rename TESTDLL generated .res to avoid conflicts. 2023-03-08 17:49:00 +01:00
Rémi Bernon
b46ad448ab imm32/tests: Add broken test results for w10v22H2. 2023-03-08 17:49:00 +01:00
Max Figura
1a9a9f9bd6 wined3d: Move the WINED3D_RS_WRAP3 stub to wined3d_device_apply_stateblock. 2023-03-08 17:49:00 +01:00
Max Figura
cb9dddbdae wined3d: Move the WINED3D_RS_WRAP4 stub to wined3d_device_apply_stateblock. 2023-03-08 17:49:00 +01:00
Max Figura
3809a31258 wined3d: Move the WINED3D_RS_WRAP5 stub to wined3d_device_apply_stateblock. 2023-03-08 17:49:00 +01:00
Max Figura
cbbf1f054c wined3d: Move the WINED3D_RS_WRAP6 stub to wined3d_device_apply_stateblock. 2023-03-08 17:49:00 +01:00
Max Figura
9933832a13 wined3d: Move the WINED3D_RS_WRAP7 stub to wined3d_device_apply_stateblock. 2023-03-08 17:49:00 +01:00
Mohamad Al-Jaf
2af11b6ee7 pdh/tests: Add PdhVbGetDoubleCounterValue() tests. 2023-03-08 17:49:00 +01:00
Mohamad Al-Jaf
e1c59cc562 pdh: Implement PdhVbGetDoubleCounterValue().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54618
2023-03-08 17:49:00 +01:00
Brendan Shanks
d7d94ed0df kernelbase: Implement DiscardVirtualMemory(). 2023-03-08 17:49:00 +01:00
Martin Storsjö
7f7f06fe61 ntdll: Handle aarch64 pointer authentication in unwind info.
These were docmented in [1] (with the user-facing name of the opcode
adjusted later in [2]).

Since MSVC 2022, the precompiled runtimes (both runtimes such as
vcruntime140*.dll and the statically linked code from e.g. libcmt.lib)
are built with pointer authentication enabled.

To correctly handle unwinding through such functions, even on HW that
don't support the pointer authentication mechanism itself, wine needs
to at least be aware of it (for handling the cases with packed unwind
info with CR==2 simiarly to CR==3).

This patch has been tested on Linux on HW supporting pointer
authentication too, with binaries built with MSVC.

[1] f510c83085
[2] cac237d3f3
2023-03-08 17:49:00 +01:00
Alexandre Julliard
26163c10bb ntdll: Don't touch the top of the 32-bit thread stack. 2023-03-08 17:48:55 +01:00
Alexandre Julliard
cc0ca49a46 ntdll: Pass the WoW context to the server on ARM64. 2023-03-08 12:43:20 +01:00
Alexandre Julliard
fa47ea7400 server: Determine the native thread context flags on the client side. 2023-03-08 12:43:20 +01:00
Alexandre Julliard
eccf92996c ntdll: Always call Wow64PrepareForException when dispatching an exception. 2023-03-08 12:43:20 +01:00
Alexandre Julliard
4d217cb274 maintainers: Assume maintainership of ARM platforms. 2023-03-08 09:16:12 +01:00
Mohamad Al-Jaf
50f5f9af1c windows.perception.stub: Implement ISpatialSurfaceObserverStatics2::IsSupported().
Needed by the VR games Forewarned and Überlaüfer.
2023-03-07 18:36:54 +01:00
Mohamad Al-Jaf
4f9a79bcea windows.perception.stub/tests: Add ISpatialSurfaceObserverStatics2::IsSupported() tests. 2023-03-07 18:36:54 +01:00
Mohamad Al-Jaf
006bc33c57 windows.perception.stub: Add ISpatialSurfaceObserverStatics2 stub interface. 2023-03-07 18:36:54 +01:00
Mohamad Al-Jaf
b7d55543d6 windows.perception.stub: Add ISpatialSurfaceObserverStatics stub interface. 2023-03-07 18:36:54 +01:00
Mohamad Al-Jaf
ffb664f1c5 windows.perception.stub: Add stub DLL. 2023-03-07 18:36:54 +01:00
Mohamad Al-Jaf
79a7c7ca40 include: Add windows.perception.spatial.surfaces.idl file. 2023-03-07 18:36:26 +01:00
Mohamad Al-Jaf
16b3b79105 include: Add windows.graphics.directx.idl file.
Needed by windows.perception.spatial.surfaces.idl.
2023-03-07 18:36:25 +01:00
Mohamad Al-Jaf
9065c6637e include: Add windows.perception.spatial.idl file.
Needed by windows.perception.spatial.surfaces.idl.
2023-03-07 18:36:23 +01:00
Francois Gouget
6da1e08dba t2embed/tests: Fix the TTGetEmbeddingType() test in UTF-8 locales.
A screen-compatible memory DC uses a TrueType font by default in UTF-8
locales.
2023-03-07 18:35:20 +01:00
Rémi Bernon
bd7a1a4d66 maintainers: Assume maintainership of IME support. 2023-03-07 17:25:08 +01:00
Francois Gouget
ed6ab3222e dbghelp/tests: Let the tests run on Windows 7, 8 and 10 <= 1607.
Provide a fallback if IsWow64Process2() is not available.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54605
2023-03-07 17:25:08 +01:00
Francois Gouget
145e3c758b riched20/tests: Fix a typo in a comment. 2023-03-07 17:25:08 +01:00
Francois Gouget
5f08c8fbcc winscard: Fix the spelling of a function parameter. 2023-03-07 17:25:08 +01:00
Francois Gouget
6c6cc2cebc msado15: Fix the spelling of a comment. 2023-03-07 17:25:08 +01:00
Jinoh Kang
f54a1dac64 riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().
Today, test_TxGetNaturalSize() creates a pop-up window with a fixed size
(extent) of 100 x 100.  The test function then proceeds to compute the
natural size of rich edit control that fits the sample text
"TestSomeText" and compare it to the RECT calculated by DrawText.

Apparently, this test fails if the width of the sample text
"TestSomeText" exceeds the width of the test window's client area.  In
this case, DrawText() with DT_WORDBREAK breaks the text into the two
lines due to text wrapping; however, Rich Edit's
ITextServices::TxGetNaturalSize implementation does not seem to perform
text wrapping on overflow.  This results in extent mismatch.

(Note that the test may either succeed or fail depending on the current
font used for DEFAULT_GUI_FONT, which defaults to Tahoma according to
Microsoft's documentation.  To reproduce this failure, it may be
necessary to switch fonts or change the width of the pop-up window.)

Fix this by omitting the DT_WORDBREAK flag for the DrawText() call in
_check_txgetnaturalsize().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54637
2023-03-07 17:25:08 +01:00
Rémi Bernon
eca1e4ea36 winex11: Initialize IO_STATUS_BLOCK in X11DRV_GetICMProfile.
To avoid invalid writes on WOW64 Nt calls.
2023-03-07 17:25:08 +01:00
Rémi Bernon
647e20a9ff win32u: Initialize IO_STATUS_BLOCK in rawinput add_device.
To avoid invalid writes on WOW64 Nt calls.
2023-03-07 17:25:08 +01:00
Rémi Bernon
ec5d9f6413 win32u: Initialize IO_STATUS_BLOCK in load_directory_fonts.
To avoid invalid writes on WOW64 Nt calls.
2023-03-07 17:25:08 +01:00
Jinoh Kang
3fe15349d3 riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54617
2023-03-07 17:25:08 +01:00
Jinoh Kang
2027be7e03 riched20: Don't assume that TxDraw preserves the device context's brush selection.
Today, RichEditWndProc_common assumes that ITextServices::TxDraw
preserves the brush selection of the given device context.  However,
this invariant may be broken by misbehaving embedded OLE objects in the
text document.

Fix this by not assuming that the return value of the second
SelectObject() call equals the brush passed to the first SelectObject()
call in RichEditWndProc_common's WM_PAINT / WM_PRINTCLIENT case.
2023-03-07 17:25:08 +01:00
Jinoh Kang
3105fad82b riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze. 2023-03-07 17:25:08 +01:00
Alexandre Julliard
63a781de1d wow64: Declare exported functions in winternl.h. 2023-03-07 17:25:08 +01:00
Alexandre Julliard
c244fe3d27 wow64: Keep track of APC stack frames, similarly to user callback frames.
And use the appropriate frame to restore the context in NtContinue.
2023-03-07 17:25:08 +01:00
Alexandre Julliard
96841d0358 wow64: Push a valid return address when calling KiRaiseUserExceptionDispatcher. 2023-03-07 17:25:08 +01:00
Alexandre Julliard
419e4d69d6 wow64: In system calls always return the status from Wow64SystemServiceEx. 2023-03-07 17:25:08 +01:00
Alexandre Julliard
972a1192e0 ntdll/tests: Allow zero size return for NtQueryDirectoryObject on Wow64. 2023-03-07 11:54:13 +01:00
Alexandre Julliard
16227352a6 ntdll/tests: Remove invalid instruction from KiUserExceptionDispatcher test.
It trips up box86.
2023-03-07 11:08:01 +01:00
Alexandre Julliard
c2a2f1caad ntdll/tests: Check the default stack information against the exe header. 2023-03-07 11:07:00 +01:00
Max Figura
45e83cc8c2 wined3d: Move the WINED3D_RS_WRAP8 stub to wined3d_device_apply_stateblock. 2023-03-06 22:53:44 +01:00
Max Figura
2df817d914 wined3d: Move the WINED3D_RS_WRAP9 stub to wined3d_device_apply_stateblock. 2023-03-06 22:53:44 +01:00
Max Figura
caea3779a5 wined3d: Move the WINED3D_RS_WRAP10 stub to wined3d_device_apply_stateblock. 2023-03-06 22:53:44 +01:00
Max Figura
572daa341d wined3d: Move the WINED3D_RS_WRAP11 stub to wined3d_device_apply_stateblock. 2023-03-06 22:53:44 +01:00
Max Figura
1d9b07bcbd wined3d: Move the WINED3D_RS_WRAP12 stub to wined3d_device_apply_stateblock. 2023-03-06 22:53:44 +01:00
Connor McAdams
5353b2594b uiautomationcore: Implement IUIAutomation::get_RawViewCondition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:06 +01:00
Connor McAdams
a4bb7c12b2 uiautomationcore: Implement IUIAutomation::get_ControlViewCondition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:05 +01:00
Connor McAdams
f5d562b789 uiautomationcore: Implement IUIAutomation::CreateOrCondition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:05 +01:00
Connor McAdams
078a2c8831 uiautomationcore: Implement IUIAutomation::CreateNotCondition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:05 +01:00
Connor McAdams
6b4ad50c83 uiautomationcore: Implement IUIAutomation::CreatePropertyCondition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:05 +01:00
Connor McAdams
6adae23d98 uiautomationcore: Implement IUIAutomation::Create{True,False}Condition.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-03-06 20:33:05 +01:00
Anton Baskanov
0a1a5015d0 ir50_32: Handle 24-bit output media type.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47407
2023-03-06 11:18:53 +01:00
Davide Beatrici
a20e1df90e mmdevapi: Move test_connect handling into mmdevapi. 2023-03-06 11:18:16 +01:00
Davide Beatrici
ec9aab2c46 mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
The conversion to another encoding is now up to the unixlib.
2023-03-06 11:18:16 +01:00
Davide Beatrici
3cc61002a8 winepulse: Move process_attach and process_detach handling into mmdevapi. 2023-03-06 11:18:16 +01:00
Davide Beatrici
0888d2242d mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
In preparation for calling the audio driver's UNIX functions directly.
2023-03-06 11:18:16 +01:00
Davide Beatrici
c24df1bb6c winepulse: Return STATUS_SUCCESS for unused unixlib functions. 2023-03-06 11:18:10 +01:00
Davide Beatrici
09fd62b3d4 wineoss: Return STATUS_SUCCESS for unused unixlib functions. 2023-03-06 11:17:54 +01:00
Davide Beatrici
ae3c2d7c5f winecoreaudio: Return STATUS_SUCCESS for unused unixlib functions. 2023-03-06 11:16:45 +01:00
Davide Beatrici
0870956c77 winealsa: Return STATUS_SUCCESS for unused unixlib functions. 2023-03-06 11:15:46 +01:00
Georg Lehmann
1eed39fffe winevulkan: Update to VK spec version 1.3.242. 2023-03-06 11:10:34 +01:00
Georg Lehmann
421140b624 winevulkan: Add basic support for extension dependencies. 2023-03-06 11:10:30 +01:00
Georg Lehmann
8fc724927a winevulkan: Skip features that are not part of Vulkan. 2023-03-06 11:10:26 +01:00
Georg Lehmann
e500ca7648 winevulkan: Only parse extensions for Vulkan.
242 adds VulkanSC only extensions
2023-03-06 11:10:19 +01:00
Georg Lehmann
53c7ccec44 winevulkan: Deal with per api xml entries.
Otherwise we will have duplicate members/params with the new 242 xml.
2023-03-06 11:10:11 +01:00
Piotr Caban
333a63c456 gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54563
2023-03-06 11:09:39 +01:00
Brendan Shanks
93941d6ec6 loader: In macOS preloader, stop using mincore() to test if a region is empty. 2023-03-06 11:09:29 +01:00
Brendan Shanks
c10207e2a7 loader: In macOS preloader, move the top-down allocations area down.
On Ventura, the Rosetta runtime and dyld shared cache now reach down
to 0x7ff7fffb8000 on my system.
2023-03-06 11:09:21 +01:00
Brendan Shanks
ac031bff9e kernel32: Implement GetFirmwareType(). 2023-03-06 11:09:03 +01:00
Francois Gouget
95f2cc0f15 advapi32/tests: Fix the RegEnumValueA() tests in UTF-8 locales.
On Windows RegEnumValueA() is buggy such that when the value name
buffer is too small, it may way overestimate the required data buffer
size, sometimes returning more than the sufficiently large buffer it was
provided, in which case that buffer is untouched and thus not
NUL-terminated.
So modify the tests to accept this broken result and avoid checking
out-of-bounds data.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53172
2023-03-06 11:03:13 +01:00
4757 changed files with 552281 additions and 254902 deletions

View file

@ -18,7 +18,7 @@ Charles Davis <cdavis@codeweavers.com>
Charles Davis <cdavis5x@gmail.com>
Christopher Gautier <krys@via.ecp.fr>
David A. Cuthbert <dacut@ece.cmu.edu>
David Heidelberger <david@ixit.cz>
David Heidelberg <david@ixit.cz>
Dennis Björklund <db@zigo.dhs.org>
Dennis Björklund <dennisb@cs.chalmers.se>
Dimitrie O. Paun <dimi@bigfoot.com>
@ -30,6 +30,7 @@ Erich Hoover <erich.e.hoover@wine-staging.com>
Erwin Wolff <erwinwolffnl@microformatica.com>
Esme Povirk <vincent@codeweavers.com>
Evgeny Putin <evcalipt@etersoft.ru>
Fan WenJie <fanwj@mail.ustc.edu.cn>
Fatih Aşıcı <fasici@linux-sevenler.org>
Fernando Martins <fernando@cmartins.nl>
François Gouget <fgouget@codeweavers.com>
@ -155,6 +156,7 @@ William Poetra Yoga Hadisoesen <williampoetra@yahoo.com>
Won Kyu Park <wkpark@kldp.org>
Yuri Kozlov <yuriy.kozlov@gmail.com>
Zachary Brown <zac@zacbrown.org>
Zebediah Figura <zfigura@codeweavers.com>
Zoltan Nagy <nagyzoli@drotposta.hu>
unidentified <9700584@cs.stadia.fi>
unidentified <develop@stueben.com>

359
ANNOUNCE
View file

@ -1,359 +0,0 @@
The Wine development release 8.3 is now available.
What's new in this release:
- Support for the Low Fragmentation Heap.
- Smard card support using PCSC-Lite.
- Bundled Zydis library for more correct disassembly.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.3 (total 29):
- #24256 3D Sexvilla 2: extremely long loading times
- #34011 Path of Exile stutters constantly
- #37146 Untis 2015 (.NET 4.0 app) crashes on startup with Wine-Mono
- #37495 Multiple PC/SC applications need winscard.SCardEstablishContext implementation (AusweisApp2 1.x german identity card app, SmartCard test apps, Seneka EBDYS client, Aruba Key)
- #39113 Multiple PC/SC applications need winscard.SCardListReaders implementation (Aruba key, SmartCard test apps)
- #43224 Freelist scan can result in O(n) time when allocating
- #45756 Button not clickable when dpi setting changed in Office 2007 Installer
- #49113 Wine heap performs badly when multiple threads are concurrently allocating or freeing memory
- #51259 6.0.1 Introduces error causing Wavelab to close when loading presets
- #52506 Setup of game "What's the Secret?" fails to create icon
- #53094 ntdll:rtlstr test crashes on win32 arch with hi-IN locale
- #53176 KeePassXC needs Windows.Security.Credentials.KeyCredentialManager (UWP)
- #53504 Sacred:unhandled exception in Wine 7.14
- #53728 Escape from Tarkov needs DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME) implementation
- #54112 rouvy : fails to update with server, unimplemented function bthprops.cpl.BluetoothRegisterForAuthenticationEx
- #54149 shlwapi:ordinal - test_SHFormatDateTimeA() fails on the mixed locales configuration
- #54338 Swift crashes due to unimplemented api-ms-win-core-realtime-l1-1-1.dll.QueryUnbiasedInterruptTimePrecise function
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54475 Hardwar UIM6.0 crashes in 8.0, doesn't in 6.0.3
- #54534 dbghelp:dbghelp - The test_loaded_modules() enumeration fails on Windows 10 1607
- #54559 riched20:editor - test_EM_GETSELTEXT() fails in the Hindi locale on Windows
- #54562 The 64-bit oleaut32:usrmarshal crashes in Wine
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54565 riched20:richole - subtest_InsertObject() fails in the Hindi locale on Windows
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54582 kernel32:locale - test_NLSVersion() fails on Windows 10 22H2
- #54583 kernel32:locale - The non-breaking space GetNumberFormatEx() test fails on Windows 11
- #54584 kernel32:locale - The NtGetNlsSectionPtr() test fails on Windows 11
----------------------------------------------------------------
Changes since 8.2:
Adrian Thiele (2):
mfreadwrite/tests: Check refcount of device manager after release.
mfreadwrite/reader: Release device manager in source_reader_release.
Akihiro Sagawa (1):
msado15: Free recordset filter on close.
Alex Henrie (7):
include: Annotate CommandLineToArgvW with __WINE_DEALLOC.
shell32: Add support for Program Manager icons with arguments.
dsound: Use CRT functions for memory allocation.
winex11: Use RTL_CONSTANT_STRING instead of reimplementing it.
winex11: Avoid calling RtlInitUnicodeString on a static constant.
server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntoskrnl: Add ExGetPreviousMode and test.
Alexandre Julliard (33):
conhost: Use standard va_list instead of __ms_va_list.
notepad: Use standard va_list instead of __ms_va_list.
oleview: Use standard va_list instead of __ms_va_list.
start: Use standard va_list instead of __ms_va_list.
taskmgr: Use standard va_list instead of __ms_va_list.
winefile: Use standard va_list instead of __ms_va_list.
include: Move __builtin_ms_va_list definitions to vadefs.h.
ntdll: Pass the NtCreateNamedPipeFile disposition to the server.
ntdll: Return the correct IOSB information when creating a named pipe.
kernelbase: Set ERROR_ALREADY_EXISTS for existing pipe in CreateNamedPipeW().
makedep: Don't add dependencies for tests of disabled dlls.
kernel32/tests: Add a missing dependency comment.
ntdll: Stop loading libwine.so.
libwine: Remove obsolete library.
ntdll: Build an initial WoW context on ARM64.
ntdll: Implement getting/setting the WoW context on ARM64.
ntdll: Mark the Wow64 TLS slots as reserved.
makedep: Remove support for building shared libraries.
winegcc: Stop using the deprecated prelink tool.
winebuild: Only allow the stdcall calling convention for system calls.
libs: Import the Zydis library version 4.0.0.
winedbg: Use the Zydis library for disassembly.
ntdll: Update the IOSB status in NtCreateNamedPipeFile().
ntdll: Skip dependency only for the actually loaded ntdll and kernel32, instead of matching by name.
ntdll: Also check for data execution on x86-64.
wow64: Call the 32-bit KiRaiseUserExceptionDispatcher for invalid handle exceptions.
makedep: Store the list of .ok files per-architecture.
ntdll: Implement RtlAddProcessTrustLabelAce().
server: Fix another buffer overflow compiler warning.
wine.inf: Remove redundant platform-specific sections.
wine.inf: Set Program Files variables separately for all WoW platforms.
wine.inf: Add keys for the platform-specific Wow64 backend.
wow64: Get the backend dll name from the registry.
Alexandros Frantzis (2):
gdi32: Track ticks since draw start per window_surface.
win32u: Reset draw_start_ticks for new window_surface.
Alistair Leslie-Hughes (4):
msado15: Semi-stub _Recordset get/put Filter.
msado15: Field ActualSize return a default size.
msado15: Support "Optimize" in Properties get_Item.
include: Add DBCOLUMNFLAGS_ enums values.
Connor McAdams (14):
uiautomationcore: Register all UI Automation typelibs.
uiautomationcore: Add stub IUIAutomation implementation.
uiautomationcore: Implement IUIAutomation::ElementFromHandle.
uiautomationcore: Implement IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_ControlType GUIDs.
uiautomationcore: Implement IUIAutomationElement::get_CurrentControlType.
uiautomationcore: Implement IUIAutomationElement::get_CurrentName.
uiautomationcore: Implement IUIAutomationElement::get_CurrentBoundingRectangle.
uiautomationcore/tests: Fix UiaHUiaNodeFromVariant tests on Windows 11.
uiautomationcore/tests: Fix UiaNodeFromHandle tests on Windows 11.
uiautomationcore: Implement IUIAutomation::IntSafeArrayToNativeArray.
uiautomationcore: Implement IUIAutomation::IntNativeArrayToSafeArray.
uiautomationcore: Implement IUIAutomation reserved value retrieval methods.
uiautomationcore: Implement IUIAutomation::CheckNotSupported.
David Gow (1):
dxgi: Don't warn on DXGI_ALPHA_MODE_UNSPECIFIED with wined3d.
Eric Pouech (11):
dbghelp/tests: Test that overlapped module is really unloaded.
include: Ensure that SymRefreshModuleList() is properly defined.
kernel32/tests: Don't let debugger tests fail on a 64bit only config.
dbghelp/tests: Fix failure on Win10 1607.
kernel32/tests: Fix debugger.c:test_kill_on_exit().
dbghelp/tests: Add wrapper for EnumerateLoadedModulesW64().
dbghelp/tests: Adapt test_modules_overlap() for Windows 11.
dbghelp/tests: Introduce ends_withW helper.
dbghelp/tests: Only retrieve the system directories once.
dbghelp/tests: Introduce get_machine_bitness() helper.
dbghelp/tests: Fix tests for process count in wow64.
Etaash Mathamsetty (1):
ntoskrnl.exe/tests: Add Driver Object Extension Tests.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
François Gouget (20):
jsproxy/tests: InternetInitializeAutoProxyDll() is no longer supported on Windows 11.
jsproxy/tests: Add more tests for InternetGetProxyInfo()'s length parameter.
gdi32/tests: Mark a couple other D3DKMTCheckOcclusion() tests as flaky.
vbscript/tests: Fix the testChrError() tests.
winmm/tests: Ignore spurious WM_DWMCOLORIZATIONCOLORCHANGED messages.
mscoree/tests: Trace the error when a Windows API fails.
kernel32/tests: Fix the NLSVersion test on Windows 10 22H2.
kernel32/tests: Fix the NtGetNlsSectionPtr() test on Windows 11.
kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
gdi32/tests: Simplify setting up the non uniform gamma ramps.
gdi32/tests: Make the gamma ramp failures more unique.
gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909.
mscoree/tests: Trace the GetExitCodeProcess() error before it gets lost.
ntdll/tests: Minimize the stack size for test_tp_multi_wait().
riched32/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: Fix the EM_GETSELTEXT tests in Hindi on Windows.
mmdevapi/tests: WoW64 processes can read the properties from the registry.
shlwapi/tests: Fix the date formatting tests when the locale does not match the code page.
shlwapi/tests: Make sure to test the formatting of troublesome dates.
Gabriel Ivăncescu (8):
mshtml: Use proper types for readystate_locked and readystate_pending.
mshtml: Free the task after the destructor.
mshtml: Pass optional args to XMLHttpRequest.open() correctly.
mshtml: Register all event handlers when creating the XMLHttpRequest.
mshtml: Track readyState in XHRs and report it manually.
mshtml: Add separate task list for tasks dispatching events.
mshtml: Implement synchronous XMLHttpRequest.
mshtml: Send all readystatechange events for synchronous XHRs in IE9 and below.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Hans Leidekker (19):
include: Add missing smart card defines.
winscard: Implement SCardEstablish/ReleaseContext() on top of libpcsclite.
winscard: Implement SCardIsValidContext().
winscard: Implement SCardGetStatusChangeA/W().
winscard: Implement SCardCancel().
winscard: Implement SCardListReadersA/W().
winscard: Implement SCardListReaderGroupsA/W().
winscard: Implement SCardConnectA/W().
winscard: Implement SCardStatusA/W().
winscard: Implement SCardRe/Disconnect().
winscard: Implement SCardBegin/EndTransaction().
winscard: Implement SCardTransmit().
winscard: Implement SCardControl().
winscard: Implement SCardGet/SetAttrib().
winscard: Implement SCardFreeMemory().
winscard: Use string conversion helpers in SCardAddReaderToGroupA().
winscard: Improve traces.
winscard: Add wow64 thunks.
winscard/tests: Initial tests.
Henry Goffin (1):
win32u: Invalidate all cached keys after input.
Huw D. M. Davies (2):
winemac: Fix return type of ProcessEvents().
maintainers: Add myself to the Audio I/O section.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Ivan Chikish (1):
gdi32/tests: Check last error on ' '.
Jinoh Kang (2):
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
Marcus Meissner (1):
user32/tests: Fix size passed to ToUnicode.
Max Figura (15):
wined3d: Move the WINED3D_RS_ROP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PLANEMASK stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_LASTPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ZVISIBLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXELX stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEDALPHA stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MIPMAPLODBIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ANISOTROPY stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_FLUSHBATCH stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TRANSLUCENTSORTINDEPENDENT stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP15 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP14 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP13 stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (15):
bthprops.cpl: Move implementations to bluetoothapis and import them.
include: Add BluetoothRegisterForAuthenticationEx prototype.
bluetoothapis: Add BluetoothRegisterForAuthenticationEx stub.
bluetoothapis: Add BluetoothUnregisterAuthentication stub.
include: Fix BluetoothRegisterForAuthentication prototype.
include: Add windows.security.credentials.idl file.
cryptowinrt/tests: Add ICryptographicBufferStatics interface test.
cryptowinrt: Add private.h file.
cryptowinrt: Stub IKeyCredentialManagerStatics interface.
cryptowinrt: Import IAsyncOperation from windows.gaming.input.
cryptowinrt: Implement IKeyCredentialManagerStatics::IsSupportedAsync().
cryptowinrt/tests: Add IKeyCredentialManagerStatics::IsSupportedAsync() tests.
widl: Use "i4" / "u4" for LONG parameterized type signature.
widl: Use "i2" / "u2" for INT16 parameterized type signature.
include: Add more Windows.Foundation.Numerics structs.
Paul Gofman (3):
server: Retry socket connection on ECONNABORTED error.
server: Set TCP SYN count on sockets.
win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx.
Philip Gruebele (1):
dwrite: Pass correct font key when adding glyph to cache.
Piotr Caban (4):
winspool: Fix FILE: output handling in StartDocDlgW.
wineps: Remove no longer used output parameter handling from PSDRV_CreateDC.
localspl: Ignore an empty output string.
windowscodecs: Don't reorder gif extension blocks in GetReaderByIndex.
Rémi Bernon (23):
ntdll: Fix HeapWalk with empty uncommitted consecutive subheaps.
ntdll: Implement HeapCompatibilityInformation.
ntdll: Increase heap block tail_size capacity to 16 bits.
ntdll: Count allocations and automatically enable LFH.
ntdll: Split heap_resize_block into heap_resize_(block|large) helpers.
ntdll: Implement Low Fragmentation Heap frontend.
ntdll: Use atomics and lock-free list for bin groups.
ntdll: Add a heap thread affinity and per-affinity bin group cache.
ntdll: Avoid shrinking large heap block to small block.
msvcr80/tests: Test _dupenv_s outcome with missing env var.
msvcr80/tests: Test _wdupenv_s outcome with missing env var.
msvcrt: Fix _dupenv_s behavior with missing env var.
msvcrt: Fix _wdupenv_s behavior with missing env var.
include: Allow overriding LANGID in module VERSIONINFO.
oleaut32/tests: Test VARIANT_UserUnmarshal allocation sizes.
oleaut32: Allocate a full pointer when unmarshalling byref arrays.
winex11: Assume that Xkb extension is available.
widl: Use "g16" for GUID parameterized type signature.
user32/tests: Test VK_MENU effect on ToUnicode.
win32u: Map VK_MENU / KBDALT in kbdus_tables pCharModifiers.
win32u: Return the current display mode depth with nulldrv.
explorer: Use GUID_NULL display device GUID for nulldrv.
win32u: Check GUID_NULL display device if desktop atom is missing.
Serkan Önder (1):
po: Update Turkish translation.
Sven Baars (3):
bcrypt: Factor out wow64 padding conversion.
bcrypt: Add wow64 support for PSS padding.
bcrypt: Remove unused fields from struct key_asymmetric32.
Tingzhong Luo (2):
evr: Fix crash when clearing input type for the mixer.
winspool: Check dmSize in IsValidDevmodeW().
Torge Matthies (4):
kernelbase: Break out of inner for-loop early in find_substring.
kernelbase: Reuse the previous iteration's pos and sortkey state if possible in find_substring.
kernelbase: Fix WaitForThreadpoolIoCallbacks spec entry.
kernel32: Fix WaitForThreadpoolIoCallbacks spec entry.
Zebediah Figura (16):
user32: Map DEV_BROADCAST_DEVICEINTERFACE to ANSI for registered device notifications.
ntoskrnl/tests: Expand tests for device and interface naming.
ntoskrnl: Preserve the device instance ID case in IoRegisterDeviceInterface().
Revert "ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.".
wined3d: Require fragment shader image stores and atomics to create a feature level 11.0 device.
wined3d: Require gather offset support to create a feature level 11.0 device.
wined3d: Require shader clip distance support to create a feature level 10.0 device.
wined3d: Require shader cull distance support to create a feature level 10.0 device.
wined3d: Disable 64-bit integer support.
ddraw/tests: Test that surface properties are retained across SetSurfaceDesc() calls.
ddraw/tests: Add more tests for mipmap surface creation flags.
ddraw: Forbid DDSCAPS_COMPLEX without any caps that merit a complex surface.
ddraw: Forbid DDSD_MIPMAPCOUNT without DDSCAPS_COMPLEX.
ddraw: Remove the redundant "desc" parameter to ddraw_surface_create_wined3d_texture().
d3d8/tests: Do not check for WM_MOVE in sc_maximize_messages.
d3d9/tests: Restore the focus window before sending SC_MAXIMIZE to it.
Zhiyi Zhang (4):
include: Add DirectComposition error codes.
include: Add dcomptypes.idl.
include: Add dcompanimation.idl.
include: Add dcomp.idl.
Ziqing Hui (4):
mf/tests: Add missing \n.
mf/tests: Correctly initialize DMO media type.
mf/tests: Test ProcessInput and ProcessOutput for WMV decoder DMO.
mf/tests: Test output data for WMV decoder DMO.

390
ANNOUNCE.md Normal file
View file

@ -0,0 +1,390 @@
The Wine development release 9.5 is now available.
What's new in this release:
- Initial SLTG-format typelib support in widl.
- Exception handling on ARM64EC.
- Improvements to Minidump support.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.5.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.5 (total 27):
- #25207 SHFileOperation does not create new directory on FO_MOVE
- #29523 CDBurnerXP hangs on right-clicking empty space in the file browser
- #40613 Multiple applications require UAC implementation to run installer/app as a normal user instead of administrator (WhatsApp Desktop, Smartflix, Squirrel Installers, OneDrive)
- #44514 Elder Scrolls Online (Dragon Bones update) requires more than 32 samplers in pixel shaders with D3D11 renderer
- #45862 Multiple applications need MFCreateSinkWriterFromURL() implementation (Overwatch highlights, RadiAnt DICOM Viewer, Grand Theft Auto V Rockstar Editor)
- #48085 Wine error trying to install Mono after a version update
- #51957 Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
- #52352 YI Home installer crashes on unimplemented urlmon.dll.414
- #52622 windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
- #53613 Visual novel RE:D Cherish! logo video and opening movie does not play
- #53635 Alune Klient 14.03.2022 crashes on unimplemented function urlmon.dll.414
- #54155 WeCom (aka WeChat Work) 4.x failed to launch.
- #55421 Fallout Tactics launcher has graphics glitches
- #55876 Acrom Controller Updater broken due to oleaut32 install
- #56318 Totem Arts Launcher.exe does not open
- #56367 Tomb Raider 3 GOG crashes at start
- #56379 d2d1 unable to build
- #56380 Rocket League crashes with Wine 9.3 after BakkesMod (trainer app) injects into the game
- #56400 SSPI authentication does not work when connecting to sql server
- #56406 wineserver crashes in set_input_desktop()
- #56411 Failure to build wine 9.4 due to EGL 64-bit development files not found
- #56433 QQ8.9.6 Installer crashes at very beginning due to a change in server/process.c
- #56434 WScript.Network does not implement UserName, ComputerName, and UserDomain properties
- #56435 capture mouse dont work in virtual desktop (work on wine 9.3)
- #56445 d3d1-9 applications run out of memory after f6a1844dbe (ArmA: Cold War Assault, Final Fantasy XI Online, Far Cry 3)
- #56450 Non-input USB HID devices stopped working in 9.1
- #56458 ntdll tests skipped on win7 & win8: missing entry point kernel32.RtlPcToFileHeader
### Changes since 9.4:
```
Akihiro Sagawa (2):
dsound/tests: Add tests for implicit MTA creation in IDirectSound::Initialize().
dsound: Initialize MTA in IDirectSound::Initialize().
Alexandre Julliard (42):
configure: Check the correct variable for the Wayland EGL library.
ntdll: Implement RtlRestoreContext on ARM64EC.
ntdll: Implement RtlWalkFrameChain on x86-64.
ntdll: Implement RtlWalkFrameChain on i386.
ntdll: Implement RtlWalkFrameChain on ARM.
ntdll: Implement RtlWalkFrameChain on ARM64.
ntdll: Implement RtlWalkFrameChain on ARM64EC.
ntdll: Export RtlVirtualUnwind2 and RtlWalkFrameChain.
ntdll: Share RtlCaptureStackBackTrace implementation across platforms.
secur32/tests: Update count for new winehq.org certificate.
ws2_32/tests: Fix a couple of failures on Windows.
include: Define setjmpex prototype even when it's a builtin.
ntdll/tests: Directly link to setjmp().
ntdll/tests: Fix a backtrace test failure on Windows ARM64.
ntdll: Add test for non-volatile regs in consolidated unwinds.
ntdll: Port the RtlRestoreContext test to ARM64.
ntdll: Port the RtlRestoreContext test to ARM.
ntdll: Implement RtlUnwindEx on ARM64EC.
ntdll: Move __C_specific_handler implementation to unwind.c.
ntdll: Implement __C_specific_handler on ARM64EC.
ntdll: Always use SEH support on ARM64.
ntdll/tests: Skip segment register tests on ARM64EC.
ntdll/tests: Fix debug register tests on ARM64EC.
ntdll/tests: Fix a few more test failures on ARM64EC.
ntdll: Implement RtlGetCallersAddress.
kernelbase: Remove no longer needed DllMainCRTStartup function.
include: Add some new error codes.
include: Add some new status codes.
ntdll: Add mappings for more status codes.
jscript: Use the correct facility for JScript errors.
netprofm: Use the correct symbols for error codes.
msvcrt: Use floating point comparison builtins also in MSVC mode.
ntdll/tests: Fix exception address checks in child process on ARM64EC.
ntdll/tests: Update the KiUserExceptionDispatcher test for ARM64EC.
configure: Don't build wow64 support in non-PE builds.
wow64: Use a .seh handler in raise_exception().
wow64: Always use a .seh handler in cpu_simulate().
wow64: Access the BTCpuSimulate backend function pointer directly.
wow64: Use a .seh handler for system calls.
wow64cpu: Save non-volatile registers before switching to 32-bit code.
wow64: Use setjmp/longjmp from ntdll.
server: Add a helper to trace uint64 arrays.
Alexandros Frantzis (5):
winewayland.drv: Implement wglCreateContextAttribsARB.
winewayland.drv: Implement wglShareLists.
winewayland.drv: Implement wgl(Get)SwapIntervalEXT.
win32u: Cancel auto-repeat only if the repeat key is released.
win32u: Cancel previous key auto-repeat when starting a new one.
Andrew Nguyen (3):
ddraw: Reserve extra space in the reference device description buffer.
oleaut32: Bump version resource to Windows 10.
ddraw: Release only valid texture parents on ddraw_texture_init failure.
Andrew Wesie (1):
wined3d: Use bindless textures for GLSL shaders if possible.
Brendan McGrath (5):
comdlg32: Use values from DeviceCapabilities in combobox.
comdlg32: Add resolutions to PRINTDLG_ChangePrinterW.
comdlg32: Populate printer name on the print dialogs.
comdlg32: Use ANSI functions in ANSI WMCommandA.
comdlg32: Don't treat cmb1 as the printer list unless in PRINT_SETUP.
Brendan Shanks (6):
ntdll: Remove support for msg_accrights FD passing.
server: Remove support for msg_accrights FD passing.
mountmgr: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
mountmgr: Replace some malloc/sprintf/strcpy calls with asprintf.
opengl32: Replace sprintf with snprintf/asprintf to avoid deprecation warnings on macOS.
secur32: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Daniel Lehman (2):
oleaut32/tests: Add tests for GetSizeMax after dirty flag cleared.
oleaut32: Return success from GetSizeMax if not dirty.
David Gow (1):
evr/dshow: Support NV12 in evr_render.
David Heidelberg (2):
d3d9/tests: Replace LPDWORD cast with float_to_int function.
mailmap: Add a mailmap entry for myself with the proper name.
Dmitry Timoshkov (6):
d2d1: Make some strings const.
wineps.drv: Return default resolution if PPD doesn't provide the list of supported resolutions.
kerberos: Allocate memory for the output token if requested.
comctl32/tests: Add more tests for IImageList2 interface.
comctl32: Implement IImageList2::Initialize().
widl: Add initial implementation of SLTG typelib generator.
Eric Pouech (18):
include: Update minidumpapiset.h.
dbghelp/tests: Add tests for minidumps.
dbghelp/tests: Add tests about generated memory chunks.
dbghelp/tests: Add tests about minidump's callback.
dbghelp/tests: Test exception information in minidump.
dbghelp/tests: Add tests for function table lookup.
dbghelp: Use an intermediate buffer in SymFunctionTableAccess (x86_64).
dbghelp: Don't write minidump from running thread.
dbghelp: Simplify thread info generation in minidump.
dbghelp: Add support for V2 unwind info (x86_64).
winedbg: Fallback to PE image when reading memory (minidump).
winedbg: Reload module without virtual flag.
dbghelp: No longer embed unwind information in minidump (x86_64).
winedbg: Add ability to set executable name.
winedbg: Extend 'attach' command to load minidump files.
winedbg: Flush expr buffer upon internal exception.
winedbg: Update the CPU information displayed when reloading a minidump.
winedbg: Don't reload a minidump for a different machine.
Esme Povirk (7):
user32/tests: Accept HCBT_ACTIVATE in TrackPopupMenu.
gdiplus: Check bounding box in GdipIsVisibleRegionPoint.
user32/tests: Add another missing message for TrackPopupMenu.
gdiplus/tests: Region bounds aren't rounded.
gdiplus: Calculate region bounding box without generating HRGN.
user32/tests: Accept WM_ACTIVATE in TrackPopupMenu.
user32/tests: Further updates for win11 TrackPopupMenu failures.
Gabriel Ivăncescu (1):
shell32: Construct the proper path target for UnixFolder.
Giovanni Mascellani (1):
d2d1: Compile the pixel shader with D3DCompile().
Hans Leidekker (3):
dnsapi/tests: Skip tests if no CNAME records are returned.
ntdll/tests: Fix a test failure.
ntdll/tests: Load NtMakeTemporaryObject() dynamically.
Henri Verbeet (1):
wined3d: Do not check the input signature element count for sm4+ shaders in shader_spirv_compile_arguments_init().
Jacek Caban (2):
configure: Don't explicitly enable -Wenum-conversion on Clang.
widl: Always close parsed input file.
Jinoh Kang (10):
tools/gitlab: Run make_specfiles before building.
ntdll/tests: Add tests for OBJ_PERMANENT object attribute.
ntdll/tests: Add tests for NtMakeTemporaryObject.
server: Generalize server request make_temporary to set_object_permanence.
ntdll: Implement NtMakePermanentObject.
ntdll/tests: Don't import kernel32.RtlPcToFileHeader.
Revert "ntdll/tests: Load NtMakeTemporaryObject() dynamically."
server: Check for DELETE access in NtMakeTemporaryObject().
kernelbase: Open object with DELETE access for NtMakeTemporaryObject().
gitlab: Output collapsible section markers in test stage script.
Kyrylo Babikov (1):
dbghelp: Fix PDB processing using the FPO stream instead of FPOEXT.
Louis Lenders (1):
shell32: Try appending .exe when looking up an App Paths key.
Marcus Meissner (1):
ntdll/tests: Fix size passed to GetModuleFileNameW.
Mark Jansen (1):
kernel32/tests: Add tests for job object accounting.
Nikolay Sivov (16):
include: Add ID2D1Factory7 definition.
include: Add ID2D1DeviceContext6 definition.
d3dcompiler: Set correct compilation target for effects profiles.
d3dcompiler: Wrap fx_4_x output in a dxbc container.
d3d10/tests: Add a small effect compilation test.
wshom/network: Use TRACE() for implemented method.
wshom/network: Implement GetTypeInfo().
wshom/network: Implement ComputerName() property.
wshom/network: Check pointer argument in get_UserName().
d3dx10/tests: Remove todo's from now passing tests.
d3d10_1/tests: Remove todo from now passing test.
wshom/network: Implement UserDomain property.
msxml6/tests: Add some tests for MXWriter60.
msxml/tests: Move some of the validation tests to their modules.
msxml/tests: Move version-specific schema tests to corresponding modules.
include: Remove XMLSchemaCache60 from msxml2.idl.
Noah Berner (1):
advapi32/tests: Add todo_wine to tests that are currently failing.
Paul Gofman (11):
imm32: Set lengths to 0 for NULL strings in ImmSetCompositionString().
cryptowinrt: Force debug info in critical sections.
diasymreader: Force debug info in critical sections.
dsdmo: Force debug info in critical sections.
qasf: Force debug info in critical sections.
services: Force debug info in critical sections.
explorer: Force debug info in critical sections.
ntdll: Only allocate debug info in critical sections with RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO.
server: Ignore some ICMP-originated socket errors for connectionless sockets.
strmbase: Fallback to InitializeCriticalSection() if RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO is unsupported.
ntdll: Don't use debug info presence to detect critical section global status.
Pavel Ondračka (1):
d3d9/tests: Define enums outside of struct.
Piotr Caban (6):
ntdll: Workaround sendmsg bug on macOS.
winedump: Fix REG_DWORD dumping with no data.
advapi32/tests: Merge RegLoadKey and RegUnLoadKey tests.
advapi32/tests: Remove all files created by RegLoadKey tests.
advapi32/tests: Test if modifications are saved in RegUnLoadKey.
advapi32/tests: Remove all files created by RegLoadAppKey tests.
Robin Kertels (1):
d3d9/tests: Skip desktop window tests if device creation fails.
Rémi Bernon (74):
win32u: Move D3DKMT functions to a new d3dkmt.c source.
win32u: Move D3DKMT VidPn* functions out of winex11.
win32u: Add an adapter struct to the device manager context.
win32u: Split writing monitor to registry to a separate helper.
win32u: Get rid of the monitor display_device.
win32u: Get rid of the monitor state_flags.
win32u: Get rid of the adapter display_device.
win32u: Get rid of the monitor flags.
win32u: Enumerate monitors from their device keys.
mfreadwrite/reader: Handle MF_E_TRANSFORM_STREAM_CHANGE results.
win32u: Fix incorrect ascii key name in get_config_key.
winevulkan: Use an rb_tree and allocate entries for handle mappings.
winevulkan: Use a single allocation for device and queues.
winevulkan: Pass VkDeviceQueueCreateInfo to wine_vk_device_init_queues.
winevulkan: Rename wine_vk_physical_device_alloc parameters and variables.
winevulkan: Use a single allocation for instance and physical devices.
winevulkan: Get rid of the wine_vk_device_free helper.
winevulkan: Simplify wine_vk_instance_free helper.
winevulkan: Add handle mappings on creation success only.
winevulkan: Get rid of the wine_vk_instance_free helper.
mfplat/tests: Test each VIDEOINFOHEADER field conversion separately.
mfplat/mediatype: Implement implicit MFInitMediaTypeFromVideoInfoHeader subtype.
mfplat/mediatype: Implement MFInitMediaTypeFromVideoInfoHeader2.
mfplat/tests: Add tests for MFInitMediaTypeFromVideoInfoHeader2.
mfplat/mediatype: Implement MFInitAMMediaTypeFromMFMediaType for FORMAT_VideoInfo2.
mfplat/tests: Test aperture to VIDEOINFOHEADER fields mapping.
mfplat/mediatype: Support FORMAT_VideoInfo2 in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Set MF_MT_SAMPLE_SIZE from bmiHeader.biSizeImage.
mfplat/mediatype: Map rcSource to MF_MT_(PAN_SCAN|MINIMUM_DISPLAY)_APERTURE.
mfplat/mediatype: Set rcSource and rcTarget if stride differs from width.
mfplat/tests: Add more MFAverageTimePerFrameToFrameRate tests.
mfplat: Support flexible frame time in MFAverageTimePerFrameToFrameRate.
mfplat/mediatype: Implement MF_MT_FRAME_RATE from VIDEOINFOHEADER2.
mfplat/mediatype: Implement VIDEOINFOHEADER2 dwControlFlags conversion.
mfplat/mediatype: Implement some VIDEOINFOHEADER2 dwInterlaceFlags conversion.
mfplat/tests: Test that aperture is dropped with VIDEOINFOHEADER2.
mfplat/tests: Test that MFCreateMFVideoFormatFromMFMediaType appends user data.
mfplat/mediatype: Append user data in MFCreateMFVideoFormatFromMFMediaType.
mfplat/tests: Check the conditions for the MFVideoFlag_BottomUpLinearRep flags.
mfplat/mediatype: Stub MFInitMediaTypeFromMFVideoFormat.
mfplat/tests: Add tests for MFInitMediaTypeFromMFVideoFormat.
mfplat/mediatype: Implement MFInitMediaTypeFromMFVideoFormat.
winebus: Add HID usages in the device descriptor when possible.
winebus: Read hidraw device usages from their report descriptors.
winebus: Prefer hidraw for everything that is not a game controller.
winebus: Remove devices that are ignored wrt hidraw preferences.
winevulkan: Allow only one vulkan surface at a time for an HWND.
win32u: Avoid a crash when cleaning up a monitor without an adapter.
winegstreamer: Release sink caps in the error path.
winegstreamer: Append an optional parser before decoders.
mfplat/tests: Add some broken results for Win7.
mfplat/tests: Test initializing mediatype from AAC WAVEFORMATEXTENSIBLE.
mfplat/tests: Check how AAC attributes are copied from user data.
mfplat/mediatype: Check format pointers and sizes in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Support audio major type in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Force WAVEFORMATEXTENSIBLE in MFCreateWaveFormatExFromMFMediaType in some cases.
mfplat/mediatype: Implement MFCreateMediaTypeFromRepresentation.
mfplat/mediatype: Use MFCreateWaveFormatExFromMFMediaType in init_am_media_type_audio_format.
ntoskrnl.exe: Open symbolic link with DELETE before making them temporary.
server: Avoid removing thread twice from its desktop thread list.
winex11: Accept key and mouse events with QS_RAWINPUT.
server: Send WM_WINE_CLIPCURSOR message only when necessary.
server: Send WM_WINE_SETCURSOR message only when necessary.
win32u: Use a structure to pass peek_message arguments.
server: Check for internal hardware messages before others.
server: Process internal messages when checking queue status.
user32/tests: Add missing winetest_pop_context.
user32/tests: Add some LoadKeyboardLayoutEx tests.
winemac: Use SONAME_LIBVULKAN as an alias for MoltenVK.
win32u: Move vulkan loading and init guard out of the drivers.
win32u: Move vkGet(Instance|Device)ProcAddr out the drivers.
winevulkan: Stop generating the wine/vulkan_driver.h header.
win32u: Move vkGet(Device|Instance)ProcAddr helpers inline.
mfplat: Append MFVIDEOFORMAT user data after the structure padding.
Santino Mazza (2):
mf/test: Check the topologies id's in topo loader.
mf/topoloader: Preserve input topology id.
Vijay Kiran Kamuju (4):
include: Add Windows.UI.ViewManagement.UIViewSettings definitions.
urlmon: Add stub for ordinal 414.
d3dcompiler: Add D3DCreateLinker stub.
user32: Add LoadKeyboardLayoutEx stub.
Yuxuan Shui (8):
shell32/tests: Check FindExecutable is looking in the correct current directory.
shell32/tests: Check ShellExecute is looking in the correct current directory.
shell32: PathResolve(file, NULL, ...) should not look in the current directory.
shell32: Make sure PathResolve can find files in the current directory.
shell32: PathResolve should be able to find files that already have extensions.
shell32: PathResolve should remove trailing dot.
shell32: Fix FindExecutable search path.
shell32: Rely solely on SHELL_FindExecutable for ShellExecute.
Zebediah Figura (12):
ntdll: Assign a primary token in elevate_token().
d3d9/tests: Remove a no longer accurate comment.
d3d11/tests: Add a test for using a large number of SRV resources.
wined3d: Rename the shader_select_compute method to shader_apply_compute_state.
wined3d: Move checking shader_update_mask to shader_glsl_apply_compute_state().
shell32/tests: Remove obsolete workarounds from test_move().
quartz: Implement SetVideoClippingWindow() and PresentImage() in the VMR7 presenter.
quartz: Reimplement the VMR7 using the VMR7 presenter.
quartz: Implement IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator().
quartz: Return S_OK from IVMRSurfaceAllocator_PrepareSurface().
quartz/tests: Add some tests for VMR7 renderless mode.
wined3d: Avoid leaking string buffers in shader_glsl_load_bindless_samplers().
Zhenbo Li (1):
shell32: Create nonexistent destination directories in FO_MOVE.
Zhiyi Zhang (5):
mfreadwrite: Fix a memory leak (Coverity).
win32u: Support HiDPI for the non-client close button in WS_EX_TOOLWINDOW windows.
win32u: Fix a possible condition that makes EnumDisplayMonitors() not reporting any monitors.
win32u: Don't enumerate mirrored monitor clones for GetSystemMetrics(SM_CMONITORS).
win32u: Don't enumerate mirrored monitor clones when unnecessary.
```

49
AUTHORS
View file

@ -25,6 +25,7 @@ Adrian Bunk
Adrian Harvey
Adrian Thiele
Adrian Thurston
Aida Jonikienė
Aidan Thornton
Ake Rehnman
Akihiro Sagawa
@ -77,6 +78,7 @@ Alexey Markachev
Alexey Prokhin
Alexey Spiridonov
Alex Henrie
Alexis Murzeau
Alex Korobka
Alex Pasadyn
Alex Priem
@ -85,8 +87,10 @@ Alex Villacís Lasso
Alex Woods
Alex Zorach
Alfons Hoogervorst
Alfred Agrell
Alistair Leslie-Hughes
Allan Tong
Ally Sommers
Alon Barzilai
Álvaro Nieto
Ambrož Bizjak
@ -118,6 +122,7 @@ Andre Malafaya Baptista
Andrew Bogott
Andrew Borodin
Andrew Boyarshin
Andrew Brobston
Andrew Bulhak
Andrew Church
Andrew Cook
@ -217,6 +222,7 @@ Bill Currie
Bill Hawes
Bill Jin
Bill Medland
Billy Laws
Biswapriyo Nath
Björn Bidar
Blake Leverett
@ -354,6 +360,7 @@ Dan Hipschman
Daniel Ansorregui
Daniel Beitler
Daniel Gudbjartsson
Daniel Hill
Daniel Jelinski
Daniel Lehman
Daniel Lund
@ -366,6 +373,7 @@ Daniel Santos
Daniel Scharrer
Daniel Schepler
Daniel Skorka
Daniel Tang
Daniel Verkamp
Daniel Walker
Daniel Zimmermann
@ -397,7 +405,7 @@ David Gow
David Grant
David Hammerton
David Hedberg
David Heidelberger
David Heidelberg
David Hemmo
David Howells
David Kahurani
@ -412,6 +420,7 @@ David Lee Lambert
David Lichterman
David Luyer
David McCullough
David McFarland
David Metcalfe
David Miller
David Moore
@ -423,6 +432,7 @@ David Welch
David White
David Woodhouse
Davin McCall
Dāvis Mosāns
Dean M Greer
Denil Verghese
Denis Baranov
@ -444,6 +454,7 @@ Dmitriy Anisimkov
Dmitry Kislyuk
Dmitry Kozliuk
Dmitry Potapov
Dmitry Sokolov
Dmitry Timoshkov
Dominik Strasser
Donat Enikeev
@ -474,6 +485,7 @@ Ed Snow
Eduardo García
Eduard Permyakov
EG Galano
Ekaterine Papava
Elias Benali
Elias Ross
Elie Morisse
@ -529,6 +541,7 @@ Fatih Aşıcı
Federico Schwindt
Felix Hädicke
Felix Janda
Felix Münchhalfen
Felix Nawothnig
Ferenc Wagner
Fergal Daly
@ -563,6 +576,7 @@ Freddie Tilley
Frederic Boulanger
Frédéric Delanoy
Frédéric Fauberteau
Gabriel Brand
Gabriel Buades Rubio
Gabriele Giorgetti
Gabriele Moabiti
@ -577,6 +591,7 @@ Gavriel State
Gediminas Jakutis
Geoff Clare
Geoffrey Hausheer
Geoffrey McRae
Geoff Thorpe
Georg Beyerle
George Gov
@ -635,6 +650,7 @@ Hann-huei Chiou
Hannu Valtonen
Hans de Graaff
Hans-Kristian Arntzen
Hans Lehnert
Hans Leidekker
Hao Peng
Haoyang Chen
@ -645,6 +661,7 @@ Harry McNally
Hartmut Birr
Hasan Kiran
Heiko Hund
Helix Graziani
Henning Gerhardt
Henning Hoffmann
Henrik Olsen
@ -685,6 +702,7 @@ Igor Paliychuk
Igor Stepin
Igor Tarasov
Ihsan Akmal
Ilia Docin
Ilia Mirkin
Illia Polishchuk
Ilya Basin
@ -726,6 +744,7 @@ Jakob Eriksson
Jakub Bartmiński
Jakub Staroń
James Abbatiello
James Beddek
James Courtier-Dutton
James Dean Anderson
James Eder
@ -955,6 +974,7 @@ Karl Lessard
Karl Relton
Karol Herbst
Karsten Elfenbein
Kartavya Vashishtha
Kasper Sandberg
Katarzyna Caban
K.B.Dharun Krishna
@ -980,6 +1000,7 @@ Kevin Holbrook
Kevin Koltzau
Kevin Krammer
Kevin Puetz
Kevin Schmidt
Kieran Clancy
Kieran Duggan
Kim Geonwoo (김건우)
@ -1015,11 +1036,14 @@ Kristian Nielsen
Kristján Gerhardsson
Kristofer Henriksson
Kristoffer Gleditsch
Krzysztof Bogacki
Krzysztof Foltman
Krzysztof Kotlenga
Krzysztof Nowicki
Kurt Kartaltepe
Kusanagi Kouichi
Kyle Luna
Kyrylo Babikov
Lance Jackson
Lars-Ake Fredlund
Lars Heete
@ -1074,6 +1098,7 @@ Lukáš Krejčí
Luke Benstead
Luke Bratch
Luke Deller
Maarten De Braekeleer
Maarten Lankhorst
Maciej Borsz
Maciek Kaliszewski
@ -1084,6 +1109,7 @@ Maksim Kuleshov
Malte Starostik
Manfred Weichel
Manuel Edelmann
Marc-Aurel Zent
Marc Bessières
Marcel Baur
Marcel Hasler
@ -1172,6 +1198,7 @@ Mauro Carvalho Chehab
Max Figura
Maxime Bellengé
Maxime Lombard
Maxim Karasev
Max Kellermann
Max Qian
Max TenEyck Woodbury
@ -1205,6 +1232,7 @@ Michael Patra
Michael Ploujnikov
Michael Poole
Michael Schlüter
Michael Skorokhodov
Michael Stefaniuc
Michael Veksler
Michael Wetherell
@ -1263,11 +1291,13 @@ Nathan Zorich
Naveen Narayanan
Neil Olver
Neil Skrypuch
Nell Hardcastle
Nemeth Peter
Nerijus Baliunas
Nguyễn Chính Hữu
Nicholas Fraser
Nicholas Niro
Nicholas Tay
Nick Bowler
Nick Burns
Nick Fox
@ -1283,6 +1313,7 @@ Niels Kristian Bech Jensen
Nigel Liang
Nikita Morozkin
Nikita V. Youshchenko
Nikola Kuburović
Nikola Pavlica
Nikolas Zimmermann
Nikolay Bogoychev
@ -1290,6 +1321,7 @@ Nikolay Sivov
Nikolay Stefanov
Nils Kuhnhenn
Nix N. Nix
Noah Berner
Noel Borthwick
Noomen Hamza
Norman Stevens
@ -1357,9 +1389,11 @@ Paul van Schayck
Paul Vriens
Pavel Borecki
Pavel Kankovsky
Pavel Ondračka
Pavel Roskin
Pavel Semerad
Pavel Troller
Paweł Ulita
Pedro Araujo Chaves Jr
Pedro Maia
Pedro Perdigão
@ -1398,6 +1432,7 @@ Peter Schlaile
Peter Urbanec
Peter Verthez
Petr Dlouhý
Petrichor Park
Petri Tuomola
Petr Kočandrle
Petr Sumbera
@ -1451,6 +1486,7 @@ Ralf S. Engelschall
Ramon Garcia
Randy Weems
Raphael Junqueira
Rastislav Stanik
Raul Dias
Raul Fernandes
Raul Metsma
@ -1537,6 +1573,7 @@ Rudolf Mayerhofer
Ruei-Yuan Lu
Ruslan Kabatsayev
Russ Andersson
Russell Greene
Rustam Chernotkach
Ryan Cumming
Ryan Hendrickson
@ -1570,6 +1607,7 @@ Sean Young
Sebastián Aedo
Sebastian Gasiorek
Sebastian Lackner
Sebastian Mayr
Sébastien Ramage
Seong-ho Cho
Serge Gautherie
@ -1739,6 +1777,7 @@ Tristan Schmelcher
Tristan Tarrant
Troy Rollo
Trygve Vea
Tyson Whitehead
Ulrich Czekalla
Ulrich Hecht
Ulrich Schmid
@ -1753,6 +1792,9 @@ Valery Kartel
Vasily I. Volchenko
Vasudev Mulchandani
Vedran Rodic
Vibhav Pant
Vicki Pfau
Victor Chiletto
Victor Hermann Chiletto
Victor Martinez Calvo
Victor Pelt
@ -1779,6 +1821,7 @@ Vladimir Panteleev
Vladislav Timonin
Volkan Gezer
Volodymyr M. Shcherbyna
Vova Mshanetskiy
VRan Liu
Wade Gobel
Waldeck Schutzer
@ -1814,9 +1857,11 @@ Wolfgang Schwotzer
Wolfgang Thaller
Wolfgang Walter
Wolfram Sang
Wonjun Jung
Won Kyu Park
Xiang Li
Xiaoshan Sun
Xin Xu
XueFeng Chang
Yann Droneaud
Yaron Shahrabani
@ -1836,6 +1881,7 @@ Yuriy Kaminskiy
Yussur-Mustafa Oraji
Yuval Fledel
Yuxi Zhang
Yuxuan Shui
Yvon Belleau
Zachary Brown
Zach Goldberg
@ -1857,4 +1903,5 @@ Zixing Liu
Zoltan Kovacs
Zoltan Nagy
Zoran Dzelajlija
Zsolt Vadasz
Zygo Blaxell

View file

@ -1,4 +1,4 @@
Copyright (c) 1993-2023 the Wine project authors (see the file AUTHORS
Copyright (c) 1993-2024 the Wine project authors (see the file AUTHORS
for a complete list)
Wine is free software; you can redistribute it and/or modify it under

View file

@ -29,7 +29,8 @@ Maintainers List
-----------------------------------
ARM, ARM64
M: André Zwing <nerv@dawncrow.de>
M: Alexandre Julliard <julliard@winehq.org>
P: André Zwing <nerv@dawncrow.de>
F: dlls/dbghelp/cpu_arm*
F: dlls/msvcrt/except_arm.c
F: dlls/ntdll/signal_arm*
@ -168,6 +169,7 @@ P: Aric Stewart <aric@codeweavers.com>
F: dlls/hid/
F: dlls/hidclass.sys/
F: dlls/hidparse.sys/
F: dlls/mouhid.sys/
F: dlls/winehid.sys/
HTTP server
@ -183,8 +185,12 @@ F: dlls/win32u/rawinput.c
F: server/queue.c
Input methods
M: Aric Stewart <aric@codeweavers.com>
M: Rémi Bernon <rbernon@codeweavers.com>
P: Aric Stewart <aric@codeweavers.com>
F: dlls/imm32/
F: dlls/win32u/imm.c
F: dlls/winemac.drv/ime.c
F: dlls/winex11.drv/ime.c
JavaScript
M: Jacek Caban <jacek@codeweavers.com>
@ -205,14 +211,15 @@ P: Andrew Eikum <coldpie@fastmail.com>
F: dlls/*.acm/
F: dlls/msacm32/
Media Foundation transforms
Media Foundation GStreamer backend
M: Rémi Bernon <rbernon@codeweavers.com>
P: Nikolay Sivov <nsivov@codeweavers.com>
P: Zebediah Figura <z.figura12@gmail.com>
F: dlls/mf/tests/transform.c
F: dlls/winegstreamer/aac_decoder.c
F: dlls/winegstreamer/color_convert.c
F: dlls/winegstreamer/h264_decoder.c
F: dlls/winegstreamer/media_source.c
F: dlls/winegstreamer/mfplat.c
F: dlls/winegstreamer/resampler.c
F: dlls/winegstreamer/video_decoder.c
F: dlls/winegstreamer/video_processor.c
@ -366,6 +373,7 @@ F: dlls/wmvcore/
Windows Media Foundation
M: Nikolay Sivov <nsivov@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/evr/
F: dlls/mf/
F: dlls/mferror/
F: dlls/mfmediaengine/

View file

@ -1,4 +1,4 @@
1. INTRODUCTION
## INTRODUCTION
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x, Win32, and Win64 executables) on Unix.
@ -11,77 +11,79 @@ Wine is free software, released under the GNU LGPL; see the file
LICENSE for the details.
2. QUICK START
## QUICK START
From the top-level directory of the Wine source (which contains this file),
run:
```
./configure
make
```
Then either install Wine:
```
make install
```
Or run Wine directly from the build directory:
```
./wine notepad
```
Run programs as "wine program". For more information and problem
Run programs as `wine program`. For more information and problem
resolution, read the rest of this file, the Wine man page, and
especially the wealth of information found at https://www.winehq.org.
3. REQUIREMENTS
## REQUIREMENTS
To compile and run Wine, you must have one of the following:
Linux version 2.0.36 or later
FreeBSD 8.0 or later
Solaris x86 9 or later
NetBSD-current
Mac OS X 10.8 or later
- Linux version 2.6.22 or later
- FreeBSD 12.4 or later
- Solaris x86 9 or later
- NetBSD-current
- Mac OS X 10.8 or later
As Wine requires kernel-level thread support to run, only the operating
systems mentioned above are supported. Other operating systems which
support kernel threads may be supported in the future.
FreeBSD info:
Wine will generally not work properly on versions before FreeBSD 8.0.
**FreeBSD info**:
See https://wiki.freebsd.org/Wine for more information.
Solaris info:
**Solaris info**:
You will most likely need to build Wine with the GNU toolchain
(gcc, gas, etc.). Warning : installing gas does *not* ensure that it
will be used by gcc. Recompiling gcc after installing gas or
symlinking cc, as and ld to the gnu tools is said to be necessary.
NetBSD info:
**NetBSD info**:
Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
turned on in your kernel.
Mac OS X info:
**Mac OS X info**:
You need Xcode/Xcode Command Line Tools or Apple cctools. The
minimum requirements for compiling Wine are clang 3.8 with the
MacOSX10.10.sdk and mingw-w64 v8. The MacOSX10.14.sdk and later can
only build wine64.
Supported file systems:
**Supported file systems**:
Wine should run on most file systems. A few compatibility problems
have also been reported using files accessed through Samba. Also,
NTFS does not provide all the file system features needed by some
applications. Using a native Unix file system is recommended.
Basic requirements:
**Basic requirements**:
You need to have the X11 development include files installed
(called xorg-dev in Debian and libX11-devel in Red Hat).
Of course you also need "make" (most likely GNU make).
Of course you also need make (most likely GNU make).
You also need flex version 2.5.33 or later and bison.
Optional support libraries:
**Optional support libraries**:
Configure will display notices when optional libraries are not found
on your system. See https://wiki.winehq.org/Recommended_Packages for
hints about the packages you should install. On 64-bit platforms,
@ -89,80 +91,80 @@ Optional support libraries:
libraries.
4. COMPILATION
## COMPILATION
To build Wine, do:
```
./configure
make
```
This will build the program "wine" and numerous support libraries/binaries.
The program "wine" will load and run Windows executables.
The library "libwine" ("Winelib") can be used to compile and link
Windows source code under Unix.
To see compile configuration options, do ./configure --help.
To see compile configuration options, do `./configure --help`.
For more information, see https://wiki.winehq.org/Building_Wine
5. SETUP
## SETUP
Once Wine has been built correctly, you can do "make install"; this
Once Wine has been built correctly, you can do `make install`; this
will install the wine executable and libraries, the Wine man page, and
other needed files.
Don't forget to uninstall any conflicting previous Wine installation
first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
first. Try either `dpkg -r wine` or `rpm -e wine` or `make uninstall`
before installing.
Once installed, you can run the "winecfg" configuration tool. See the
Once installed, you can run the `winecfg` configuration tool. See the
Support area at https://www.winehq.org/ for configuration hints.
6. RUNNING PROGRAMS
## RUNNING PROGRAMS
When invoking Wine, you may specify the entire path to the executable,
or a filename only.
For example: to run Notepad:
For example, to run Notepad:
wine notepad (using the search Path as specified in
wine notepad.exe the registry to locate the file)
```
wine notepad (using the search Path as specified in
wine notepad.exe the registry to locate the file)
wine c:\\windows\\notepad.exe (using DOS filename syntax)
wine c:\\windows\\notepad.exe (using DOS filename syntax)
wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
wine notepad.exe readme.txt (calling program with parameters)
wine notepad.exe readme.txt (calling program with parameters)
```
Wine is not perfect, so some programs may crash. If that happens you
will get a crash log that you should attach to your report when filing
a bug.
7. GETTING MORE INFORMATION
## GETTING MORE INFORMATION
WWW: A great deal of information about Wine is available from WineHQ at
- **WWW**: A great deal of information about Wine is available from WineHQ at
https://www.winehq.org/ : various Wine Guides, application database,
bug tracking. This is probably the best starting point.
FAQ: The Wine FAQ is located at https://www.winehq.org/FAQ
- **FAQ**: The Wine FAQ is located at https://www.winehq.org/FAQ
Wiki: The Wine Wiki is located at https://wiki.winehq.org
- **Wiki**: The Wine Wiki is located at https://wiki.winehq.org
Gitlab: Wine development is hosted at https://gitlab.winehq.org
- **Gitlab**: Wine development is hosted at https://gitlab.winehq.org
Mailing lists:
- **Mailing lists**:
There are several mailing lists for Wine users and developers;
see https://www.winehq.org/forums for more information.
Bugs: Report bugs to Wine Bugzilla at https://bugs.winehq.org
- **Bugs**: Report bugs to Wine Bugzilla at https://bugs.winehq.org
Please search the bugzilla database to check whether your
problem is already known or fixed before posting a bug report.
IRC: Online help is available at channel #WineHQ on irc.libera.chat.
--
Alexandre Julliard
julliard@winehq.org
- **IRC**: Online help is available at channel `#WineHQ` on irc.libera.chat.

View file

@ -1 +1 @@
Wine version 8.3
Wine version 9.5

35
aclocal.m4 vendored
View file

@ -65,12 +65,9 @@ AC_DEFUN([WINE_PATH_PKG_CONFIG],
[WINE_CHECK_HOST_TOOL(PKG_CONFIG,[pkg-config])])
AC_DEFUN([WINE_PATH_MINGW_PKG_CONFIG],
[case "$host_cpu" in
i[[3456789]]86*)
ac_prefix_list="m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-w64-mingw32-pkg-config ])" ;;
*)
ac_prefix_list="$host_cpu-w64-mingw32-pkg-config" ;;
esac
[AS_VAR_IF([HOST_ARCH],[i386],
[ac_prefix_list="m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-w64-mingw32-pkg-config ])"],
[ac_prefix_list="$host_cpu-w64-mingw32-pkg-config"])
AC_CHECK_PROGS(MINGW_PKG_CONFIG,[$ac_prefix_list],false)])
dnl **** Extract the soname of a library ****
@ -216,11 +213,12 @@ AC_CACHE_CHECK([whether $CC supports $1], ac_var,
ac_wine_try_cflags_saved_exeext=$ac_exeext
CFLAGS="$CFLAGS -nostdlib -nodefaultlibs $1"
ac_exeext=".exe"
AC_LINK_IFELSE([AC_LANG_SOURCE([[int __cdecl mainCRTStartup(void) { return 0; }]])],
AC_LINK_IFELSE([AC_LANG_SOURCE([[void *__os_arm64x_dispatch_ret = 0;
int __cdecl mainCRTStartup(void) { return 0; }]])],
[AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
CFLAGS=$ac_wine_try_cflags_saved
ac_exeext=$ac_wine_try_cflags_saved_exeext])
AS_VAR_IF([ac_var],[yes],[m4_default([$2], [AS_VAR_APPEND([${wine_arch}_EXTRACFLAGS],[" $1"])], [$3])])dnl
AS_VAR_IF([ac_var],[yes],[m4_default([$2], [AS_VAR_APPEND([${wine_arch}_EXTRACFLAGS],[" $1"])])], [$3])dnl
AS_VAR_POPDEF([ac_var]) }])
dnl **** Check whether the given MinGW header is available ****
@ -261,20 +259,6 @@ LIBS=$ac_wine_check_headers_saved_libs])
AS_VAR_IF([ac_var],[yes],[$3],[$4])dnl
AS_VAR_POPDEF([ac_var])])
dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
dnl
dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
dnl
AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
[AS_VAR_PUSHDEF([ac_var], ac_cv_cflags_[[$1]])dnl
ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS $1"
AC_LINK_IFELSE([AC_LANG_SOURCE([[void myfunc() {}]])],
[AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
CFLAGS=$ac_wine_try_cflags_saved
AS_VAR_IF([ac_var],[yes], [$2], [$3])dnl
AS_VAR_POPDEF([ac_var])])
dnl **** Check whether we need to define a symbol on the compiler command line ****
dnl
dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
@ -317,6 +301,7 @@ wine_fn_config_makefile ()
AS_VAR_COPY([enable],[$[2]])
case "$enable" in
no) AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"]) ;;
yes) ;;
*aarch64*|*arm*|*i386*|*x86_64*)
if test -n "$PE_ARCHS"
then
@ -326,7 +311,11 @@ wine_fn_config_makefile ()
done
else
test $(expr ",$enable," : ".*,$HOST_ARCH,") -gt 0 || AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"])
fi;;
fi ;;
"")
case "$[1], $PE_ARCHS " in
programs/*,*\ arm64ec\ *) AS_VAR_APPEND([arm64ec_DISABLED_SUBDIRS],[" $[1]"]) ;;
esac ;;
esac
}

2028
configure vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,5 +2,5 @@ MODULE = acledit.dll
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \
SOURCES = \
main.c

View file

@ -4,6 +4,6 @@ IMPORTS = comctl32 user32 advapi32 gdi32
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = aclui_main.c
RC_SRCS = aclui.rc
SOURCES = \
aclui.rc \
aclui_main.c

View file

@ -2,4 +2,5 @@ MODULE = activeds.tlb
EXTRADLLFLAGS = -Wb,--data-only
IDL_SRCS = activeds_tlb.idl
SOURCES = \
activeds_tlb.idl

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -4,9 +4,7 @@ IMPORTS = advapi32 ole32 oleaut32 uuid
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \
SOURCES = \
activeds.idl \
activeds_main.c \
pathname.c
IDL_SRCS = \
activeds.idl

View file

@ -233,7 +233,7 @@ HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbufle
*/
LPVOID WINAPI AllocADsMem(DWORD cb)
{
return HeapAlloc(GetProcessHeap(), 0, cb);
return malloc(cb);
}
/*****************************************************
@ -241,7 +241,8 @@ LPVOID WINAPI AllocADsMem(DWORD cb)
*/
BOOL WINAPI FreeADsMem(LPVOID pMem)
{
return HeapFree(GetProcessHeap(), 0, pMem);
free(pMem);
return TRUE;
}
/*****************************************************
@ -249,7 +250,7 @@ BOOL WINAPI FreeADsMem(LPVOID pMem)
*/
LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
{
return HeapReAlloc(GetProcessHeap(), 0, pOldMem, cbNew);
return realloc(pOldMem, cbNew);
}
/*****************************************************
@ -257,18 +258,8 @@ LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
*/
LPWSTR WINAPI AllocADsStr(LPWSTR pStr)
{
LPWSTR ret;
SIZE_T len;
TRACE("(%p)\n", pStr);
if (!pStr) return NULL;
len = (wcslen(pStr) + 1) * sizeof(WCHAR);
ret = AllocADsMem(len);
if (ret) memcpy(ret, pStr, len);
return ret;
return wcsdup(pStr);
}
/*****************************************************

View file

@ -28,7 +28,6 @@
#include "iads.h"
#include "adserr.h"
#include "wine/heap.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(activeds);
@ -84,7 +83,7 @@ static ULONG WINAPI path_Release(IADsPathname *iface)
SysFreeString(path->provider);
SysFreeString(path->server);
SysFreeString(path->dn);
heap_free(path);
free(path);
}
return ref;
@ -136,7 +135,10 @@ static HRESULT parse_path(BSTR path, BSTR *provider, BSTR *server, BSTR *dn)
if (!*p) return S_OK;
if (*p++ != '/' || *p++ != '/' || !*p)
{
SysFreeString(*provider);
return E_ADS_BAD_PATHNAME;
}
p_server = p;
server_len = 0;
@ -145,7 +147,11 @@ static HRESULT parse_path(BSTR path, BSTR *provider, BSTR *server, BSTR *dn)
p++;
server_len++;
}
if (server_len == 0) return E_ADS_BAD_PATHNAME;
if (server_len == 0)
{
SysFreeString(*provider);
return E_ADS_BAD_PATHNAME;
}
*server = SysAllocStringLen(p_server, server_len);
if (!*server)
@ -409,7 +415,7 @@ static HRESULT Pathname_create(REFIID riid, void **obj)
Pathname *path;
HRESULT hr;
path = heap_alloc(sizeof(*path));
path = malloc(sizeof(*path));
if (!path) return E_OUTOFMEMORY;
path->IADsPathname_iface.lpVtbl = &IADsPathname_vtbl;
@ -482,7 +488,7 @@ static ULONG WINAPI factory_Release(IClassFactory *iface)
TRACE("(%p) ref %lu\n", iface, ref);
if (!ref)
heap_free(factory);
free(factory);
return ref;
}
@ -521,7 +527,7 @@ static HRESULT factory_constructor(const struct class_info *info, REFIID riid, v
class_factory *factory;
HRESULT hr;
factory = heap_alloc(sizeof(*factory));
factory = malloc(sizeof(*factory));
if (!factory) return E_OUTOFMEMORY;
factory->IClassFactory_iface.lpVtbl = &factory_vtbl;

View file

@ -1,5 +1,5 @@
TESTDLL = activeds.dll
IMPORTS = ole32 oleaut32 activeds
C_SRCS = \
SOURCES = \
activeds.c

View file

@ -1,10 +1,7 @@
MODULE = actxprxy.dll
IMPORTS = uuid oleaut32 ole32 rpcrt4
C_SRCS = \
usrmarshal.c
IDL_SRCS = \
SOURCES = \
actxprxy_activscp.idl \
actxprxy_comcat.idl \
actxprxy_docobj.idl \
@ -16,6 +13,7 @@ IDL_SRCS = \
actxprxy_servprov.idl \
actxprxy_shldisp.idl \
actxprxy_shobjidl.idl \
actxprxy_urlhist.idl
actxprxy_urlhist.idl \
usrmarshal.c
dlldata_EXTRADEFS = -DWINE_REGISTER_DLL -DPROXY_DELEGATION

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -7,4 +7,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -27,4 +27,4 @@
threading(both),
uuid(b8da6310-e19b-11d0-933c-00a0c90dcaa9) /* IActiveScriptStats */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
coclass PSFactoryBuffer { interface IPSFactoryBuffer; }

View file

@ -4,12 +4,9 @@ DELAYIMPORTS = netapi32 wldap32
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \
SOURCES = \
adsldp.c \
adsldp.idl \
ldap.c \
rsrc.rc \
schema.c
IDL_SRCS = \
adsldp.idl
RC_SRCS = rsrc.rc

View file

@ -21,8 +21,6 @@
#include <stdarg.h>
#define COBJMACROS
#define NONAMELESSUNION
#include "windef.h"
#include "winbase.h"
#include "initguid.h"
@ -1155,13 +1153,13 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
switch (prefs[i].vValue.u.Integer)
switch (prefs[i].vValue.Integer)
{
case ADS_SCOPE_BASE:
case ADS_SCOPE_ONELEVEL:
case ADS_SCOPE_SUBTREE:
TRACE("SEARCH_SCOPE: %ld\n", prefs[i].vValue.u.Integer);
ldap->search.scope = prefs[i].vValue.u.Integer;
TRACE("SEARCH_SCOPE: %ld\n", prefs[i].vValue.Integer);
ldap->search.scope = prefs[i].vValue.Integer;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1186,8 +1184,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("SECURITY_MASK: %08lx\n", prefs[i].vValue.u.Integer);
security_mask = prefs[i].vValue.u.Integer;
TRACE("SECURITY_MASK: %08lx\n", prefs[i].vValue.Integer);
security_mask = prefs[i].vValue.Integer;
if (!security_mask)
security_mask = ADS_SECURITY_INFO_OWNER;
@ -1229,8 +1227,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("PAGESIZE: %ld\n", prefs[i].vValue.u.Integer);
ldap->search.pagesize = prefs[i].vValue.u.Integer;
TRACE("PAGESIZE: %ld\n", prefs[i].vValue.Integer);
ldap->search.pagesize = prefs[i].vValue.Integer;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1242,8 +1240,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("CACHE_RESULTS: %ld\n", prefs[i].vValue.u.Boolean);
ldap->search.cache_results = prefs[i].vValue.u.Boolean;
TRACE("CACHE_RESULTS: %ld\n", prefs[i].vValue.Boolean);
ldap->search.cache_results = prefs[i].vValue.Boolean;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1255,8 +1253,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("ATTRIBTYPES_ONLY: %ld\n", prefs[i].vValue.u.Boolean);
ldap->search.attribtypes_only = prefs[i].vValue.u.Boolean;
TRACE("ATTRIBTYPES_ONLY: %ld\n", prefs[i].vValue.Boolean);
ldap->search.attribtypes_only = prefs[i].vValue.Boolean;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1268,8 +1266,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("TOMBSTONE: %ld\n", prefs[i].vValue.u.Boolean);
ldap->search.tombstone = prefs[i].vValue.u.Boolean;
TRACE("TOMBSTONE: %ld\n", prefs[i].vValue.Boolean);
ldap->search.tombstone = prefs[i].vValue.Boolean;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1281,8 +1279,8 @@ static HRESULT WINAPI search_SetSearchPreference(IDirectorySearch *iface, PADS_S
break;
}
TRACE("SIZE_LIMIT: %ld\n", prefs[i].vValue.u.Integer);
ldap->search.size_limit = prefs[i].vValue.u.Integer;
TRACE("SIZE_LIMIT: %ld\n", prefs[i].vValue.Integer);
ldap->search.size_limit = prefs[i].vValue.Integer;
prefs[i].dwStatus = ADS_STATUS_S_OK;
break;
@ -1542,7 +1540,7 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
{
TRACE("=> %s\n", debugstr_w(values[i]));
col->pADsValues[i].dwType = type;
col->pADsValues[i].u.CaseIgnoreString = values[i];
col->pADsValues[i].CaseIgnoreString = values[i];
}
col->hReserved = values;
@ -1568,15 +1566,15 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
col->pADsValues[i].dwType = type;
if (!wcsicmp(values[i], L"TRUE"))
col->pADsValues[i].u.Boolean = 1;
col->pADsValues[i].Boolean = 1;
else if (!wcsicmp(values[i], L"FALSE"))
col->pADsValues[i].u.Boolean = 0;
col->pADsValues[i].Boolean = 0;
else
{
FIXME("not recognized boolean value %s\n", debugstr_w(values[i]));
col->pADsValues[i].u.Boolean = 0;
col->pADsValues[i].Boolean = 0;
}
TRACE("%s => %ld\n", debugstr_w(values[i]), col->pADsValues[i].u.Boolean);
TRACE("%s => %ld\n", debugstr_w(values[i]), col->pADsValues[i].Boolean);
}
ldap_value_freeW(values);
@ -1605,13 +1603,13 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
if (type == ADSTYPE_LARGE_INTEGER)
{
col->pADsValues[i].u.LargeInteger.QuadPart = _atoi64(values[i]->bv_val);
TRACE("%s => %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), wine_dbgstr_longlong(col->pADsValues[i].u.LargeInteger.QuadPart));
col->pADsValues[i].LargeInteger.QuadPart = _atoi64(values[i]->bv_val);
TRACE("%s => %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), wine_dbgstr_longlong(col->pADsValues[i].LargeInteger.QuadPart));
}
else
{
col->pADsValues[i].u.Integer = atol(values[i]->bv_val);
TRACE("%s => %ld\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), col->pADsValues[i].u.Integer);
col->pADsValues[i].Integer = atol(values[i]->bv_val);
TRACE("%s => %ld\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), col->pADsValues[i].Integer);
}
}
@ -1639,8 +1637,8 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
{
TRACE("=> %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len));
col->pADsValues[i].dwType = type;
col->pADsValues[i].u.OctetString.dwLength = values[i]->bv_len;
col->pADsValues[i].u.OctetString.lpValue = (BYTE *)values[i]->bv_val;
col->pADsValues[i].OctetString.dwLength = values[i]->bv_len;
col->pADsValues[i].OctetString.lpValue = (BYTE *)values[i]->bv_val;
}
col->hReserved = values;
@ -1666,12 +1664,12 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
col->pADsValues[i].dwType = type;
if (values[i]->bv_len < 14 ||
_snscanf_l(values[i]->bv_val, values[i]->bv_len, "%04hu%02hu%02hu%02hu%02hu%02hu", NULL,
&col->pADsValues[i].u.UTCTime.wYear, &col->pADsValues[i].u.UTCTime.wMonth,
&col->pADsValues[i].u.UTCTime.wDay, &col->pADsValues[i].u.UTCTime.wHour,
&col->pADsValues[i].u.UTCTime.wMinute, &col->pADsValues[i].u.UTCTime.wSecond) != 6)
&col->pADsValues[i].UTCTime.wYear, &col->pADsValues[i].UTCTime.wMonth,
&col->pADsValues[i].UTCTime.wDay, &col->pADsValues[i].UTCTime.wHour,
&col->pADsValues[i].UTCTime.wMinute, &col->pADsValues[i].UTCTime.wSecond) != 6)
{
FIXME("not recognized UTCTime: %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len));
memset(&col->pADsValues[i].u.UTCTime, 0, sizeof(col->pADsValues[i].u.UTCTime));
memset(&col->pADsValues[i].UTCTime, 0, sizeof(col->pADsValues[i].UTCTime));
continue;
}
@ -1680,9 +1678,9 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
FIXME("not handled time zone: %s\n", debugstr_an(values[i]->bv_val + 14, values[i]->bv_len - 14));
TRACE("%s => %02u.%02u.%04u %02u:%02u:%02u\n", debugstr_an(values[i]->bv_val, values[i]->bv_len),
col->pADsValues[i].u.UTCTime.wDay, col->pADsValues[i].u.UTCTime.wMonth,
col->pADsValues[i].u.UTCTime.wYear, col->pADsValues[i].u.UTCTime.wHour,
col->pADsValues[i].u.UTCTime.wMinute, col->pADsValues[i].u.UTCTime.wSecond);
col->pADsValues[i].UTCTime.wDay, col->pADsValues[i].UTCTime.wMonth,
col->pADsValues[i].UTCTime.wYear, col->pADsValues[i].UTCTime.wHour,
col->pADsValues[i].UTCTime.wMinute, col->pADsValues[i].UTCTime.wSecond);
}
ldap_value_free_len(values);
@ -1708,7 +1706,7 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
return E_ADS_COLUMN_NOT_SET;
count = ldap_count_valuesW(values);
col->pADsValues = calloc(count, sizeof(col->pADsValues[0]) + sizeof(col->pADsValues[0].u.pDNWithBinary[0]));
col->pADsValues = calloc(count, sizeof(col->pADsValues[0]) + sizeof(col->pADsValues[0].pDNWithBinary[0]));
if (!col->pADsValues)
{
ldap_value_freeW(values);
@ -1723,19 +1721,19 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
DWORD n;
col->pADsValues[i].dwType = type;
col->pADsValues[i].u.pDNWithBinary = dnb++;
col->pADsValues[i].pDNWithBinary = dnb++;
if ((p[0] != 'b' && p[0] != 'B') || p[1] != ':')
FIXME("wrong DN with binary tag '%c%c'\n", p[0], p[1]);
p += 2;
col->pADsValues[i].u.pDNWithBinary->dwLength = wcstol(p, &p, 10) / 2;
col->pADsValues[i].pDNWithBinary->dwLength = wcstol(p, &p, 10) / 2;
if (*p != ':')
FIXME("wrong DN with binary separator '%c'\n", *p);
p++;
col->pADsValues[i].u.pDNWithBinary->lpBinaryValue = (BYTE *)p;
col->pADsValues[i].pDNWithBinary->lpBinaryValue = (BYTE *)p;
/* decode values in-place */
for (n = 0; n < col->pADsValues[i].u.pDNWithBinary->dwLength; n++, p += 2)
for (n = 0; n < col->pADsValues[i].pDNWithBinary->dwLength; n++, p += 2)
{
BYTE b;
@ -1747,16 +1745,16 @@ static HRESULT add_column_values(LDAP_namespace *ldap, struct ldap_search_contex
}
b = (hex2bin[p[0]] << 4) | hex2bin[p[1]];
col->pADsValues[i].u.pDNWithBinary->lpBinaryValue[n] = b;
col->pADsValues[i].pDNWithBinary->lpBinaryValue[n] = b;
}
if (*p != ':')
FIXME("wrong DN with binary separator '%c'\n", *p);
col->pADsValues[i].u.pDNWithBinary->pszDNString = p + 1;
col->pADsValues[i].pDNWithBinary->pszDNString = p + 1;
TRACE("%s => %lu,%s,%s\n", debugstr_w(values[i]),
col->pADsValues[i].u.pDNWithBinary->dwLength,
debugstr_an((char *)col->pADsValues[i].u.pDNWithBinary->lpBinaryValue, col->pADsValues[i].u.pDNWithBinary->dwLength),
debugstr_w(col->pADsValues[i].u.pDNWithBinary->pszDNString));
col->pADsValues[i].pDNWithBinary->dwLength,
debugstr_an((char *)col->pADsValues[i].pDNWithBinary->lpBinaryValue, col->pADsValues[i].pDNWithBinary->dwLength),
debugstr_w(col->pADsValues[i].pDNWithBinary->pszDNString));
}
col->hReserved = values;
@ -1799,24 +1797,24 @@ static HRESULT WINAPI search_GetColumn(IDirectorySearch *iface, ADS_SEARCH_HANDL
count = sizeof(L"LDAP://") + (wcslen(ldap->host) + 1 /* '/' */) * sizeof(WCHAR);
if (dn) count += wcslen(dn) * sizeof(WCHAR);
col->pADsValues[0].u.CaseIgnoreString = malloc(count);
if (!col->pADsValues[0].u.CaseIgnoreString)
col->pADsValues[0].CaseIgnoreString = malloc(count);
if (!col->pADsValues[0].CaseIgnoreString)
{
hr = E_OUTOFMEMORY;
goto exit;
}
wcscpy(col->pADsValues[0].u.CaseIgnoreString, L"LDAP://");
wcscat(col->pADsValues[0].u.CaseIgnoreString, ldap->host);
wcscat(col->pADsValues[0].u.CaseIgnoreString, L"/");
if (dn) wcscat(col->pADsValues[0].u.CaseIgnoreString, dn);
wcscpy(col->pADsValues[0].CaseIgnoreString, L"LDAP://");
wcscat(col->pADsValues[0].CaseIgnoreString, ldap->host);
wcscat(col->pADsValues[0].CaseIgnoreString, L"/");
if (dn) wcscat(col->pADsValues[0].CaseIgnoreString, dn);
col->pADsValues[0].dwType = ADSTYPE_CASE_IGNORE_STRING;
col->dwADsType = ADSTYPE_CASE_IGNORE_STRING;
col->dwNumValues = 1;
col->pszAttrName = wcsdup(name);
col->hReserved = NULL;
TRACE("=> %s\n", debugstr_w(col->pADsValues[0].u.CaseIgnoreString));
TRACE("=> %s\n", debugstr_w(col->pADsValues[0].CaseIgnoreString));
hr = S_OK;
exit:
ldap_memfreeW(dn);
@ -1833,7 +1831,7 @@ static HRESULT WINAPI search_FreeColumn(IDirectorySearch *iface, PADS_SEARCH_COL
if (!col) return E_ADS_BAD_PARAMETER;
if (!wcsicmp(col->pszAttrName, L"ADsPath"))
free(col->pADsValues[0].u.CaseIgnoreString);
free(col->pADsValues[0].CaseIgnoreString);
free(col->pADsValues);
free(col->pszAttrName);

View file

@ -19,8 +19,6 @@
#ifndef _ADSLDP_PRIVATE_H
#define _ADSLDP_PRIVATE_H
#include "wine/heap.h"
static inline LPWSTR strnUtoW( LPCSTR str, DWORD inlen, DWORD *outlen )
{
LPWSTR ret = NULL;
@ -28,7 +26,7 @@ static inline LPWSTR strnUtoW( LPCSTR str, DWORD inlen, DWORD *outlen )
if (str)
{
DWORD len = MultiByteToWideChar( CP_UTF8, 0, str, inlen, NULL, 0 );
if ((ret = heap_alloc( (len + 1) * sizeof(WCHAR) )))
if ((ret = malloc( (len + 1) * sizeof(WCHAR) )))
{
MultiByteToWideChar( CP_UTF8, 0, str, inlen, ret, len );
ret[len] = 0;
@ -47,9 +45,9 @@ struct attribute_type
int single_value;
};
DWORD map_ldap_error(DWORD) DECLSPEC_HIDDEN;
struct attribute_type *load_schema(LDAP *ld, ULONG *, ULONG *) DECLSPEC_HIDDEN;
ADSTYPEENUM get_schema_type(const WCHAR *, const struct attribute_type *, ULONG, ULONG) DECLSPEC_HIDDEN;
void free_attribute_types(struct attribute_type *, ULONG) DECLSPEC_HIDDEN;
DWORD map_ldap_error(DWORD);
struct attribute_type *load_schema(LDAP *ld, ULONG *, ULONG *);
ADSTYPEENUM get_schema_type(const WCHAR *, const struct attribute_type *, ULONG, ULONG);
void free_attribute_types(struct attribute_type *, ULONG);
#endif

View file

@ -25,7 +25,6 @@
#include "adsldp_private.h"
#include "wine/heap.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(adsldp);
@ -116,9 +115,9 @@ ADSTYPEENUM get_schema_type(const WCHAR *name, const struct attribute_type *at,
static void free_attribute_type(struct attribute_type *at)
{
heap_free(at->oid);
heap_free(at->name);
heap_free(at->syntax);
free(at->oid);
free(at->name);
free(at->syntax);
}
void free_attribute_types(struct attribute_type *at, ULONG count)
@ -128,7 +127,7 @@ void free_attribute_types(struct attribute_type *at, ULONG count)
for (i = 0; i < count; i++)
free_attribute_type(&at[i]);
heap_free(at);
free(at);
}
static BOOL is_space(WCHAR c)
@ -156,7 +155,7 @@ static WCHAR *parse_oid(WCHAR **str)
}
count = end - p;
oid = heap_alloc((count + 1) * sizeof(WCHAR));
oid = malloc((count + 1) * sizeof(WCHAR));
if (!oid) return NULL;
memcpy(oid, p, count * sizeof(WCHAR));
@ -202,17 +201,14 @@ static WCHAR *parse_name(WCHAR **str, ULONG *name_count)
count = wcslen(tmp_name);
if (!name)
new_name = heap_alloc((count + 1) * sizeof(WCHAR));
else
new_name = heap_realloc(name, (total_count + count + 1) * sizeof(WCHAR));
new_name = realloc(name, (total_count + count + 1) * sizeof(WCHAR));
if (!new_name) break;
memcpy(new_name + total_count, tmp_name, (count + 1) * sizeof(WCHAR));
name = new_name;
heap_free(tmp_name);
free(tmp_name);
total_count += count + 1;
*name_count += 1;
@ -221,7 +217,7 @@ static WCHAR *parse_name(WCHAR **str, ULONG *name_count)
*str = *p ? p + 1 : p;
heap_free(name);
free(name);
return NULL;
}
@ -236,7 +232,7 @@ static WCHAR *parse_name(WCHAR **str, ULONG *name_count)
if (!end) return NULL;
count = end - p;
name = heap_alloc((count + 1) * sizeof(WCHAR));
name = malloc((count + 1) * sizeof(WCHAR));
if (!name) return NULL;
memcpy(name, p, count * sizeof(WCHAR));
@ -400,7 +396,7 @@ struct attribute_type *load_schema(LDAP *ld, ULONG *at_single_count, ULONG *at_m
{
ULONG i, total = ldap_count_valuesW(types);
at = heap_alloc(total * sizeof(*at));
at = malloc(total * sizeof(*at));
if (!at) goto exit;
for (i = 0; i < total; i++)

View file

@ -1,6 +1,6 @@
TESTDLL = adsldp.dll
IMPORTS = ole32 oleaut32 secur32 advapi32 activeds uuid
C_SRCS = \
SOURCES = \
ldap.c \
sysinfo.c

View file

@ -37,6 +37,8 @@ DEFINE_GUID(CLSID_LDAP,0x228d9a81,0xc302,0x11cf,0x9a,0xa4,0x00,0xaa,0x00,0x4a,0x
DEFINE_GUID(CLSID_LDAPNamespace,0x228d9a82,0xc302,0x11cf,0x9a,0xa4,0x00,0xaa,0x00,0x4a,0x56,0x91);
DEFINE_OLEGUID(CLSID_PointerMoniker,0x306,0,0);
static BOOL server_down;
static const struct
{
const WCHAR *path;
@ -74,6 +76,8 @@ static void test_LDAP(void)
BSTR path, user, password;
int i;
if (server_down) return;
hr = CoCreateInstance(&CLSID_LDAPNamespace, 0, CLSCTX_INPROC_SERVER, &IID_IADs, (void **)&ads);
ok(hr == S_OK, "got %#lx\n", hr);
IADs_Release(ads);
@ -99,6 +103,7 @@ static void test_LDAP(void)
{
SysFreeString(path);
skip("server is down\n");
server_down = TRUE;
break;
}
ok(hr == test[i].hr || hr == test[i].hr_ads_open, "%d: got %#lx, expected %#lx\n", i, hr, test[i].hr);
@ -110,6 +115,7 @@ static void test_LDAP(void)
{
SysFreeString(path);
skip("server is down\n");
server_down = TRUE;
break;
}
ok(hr == test[i].hr || hr == test[i].hr_ads_get, "%d: got %#lx, expected %#lx\n", i, hr, test[i].hr);
@ -121,6 +127,7 @@ static void test_LDAP(void)
{
SysFreeString(path);
skip("server is down\n");
server_down = TRUE;
break;
}
ok(hr == test[i].hr || hr == test[i].hr_ads_get, "%d: got %#lx, expected %#lx\n", i, hr, test[i].hr);
@ -149,6 +156,8 @@ static void test_ParseDisplayName(void)
ULONG count;
int i;
if (server_down) return;
hr = CoCreateInstance(&CLSID_LDAP, 0, CLSCTX_INPROC_SERVER, &IID_IParseDisplayName, (void **)&parse);
ok(hr == S_OK, "got %#lx\n", hr);
IParseDisplayName_Release(parse);
@ -172,6 +181,7 @@ static void test_ParseDisplayName(void)
{
SysFreeString(path);
skip("server is down\n");
server_down = TRUE;
break;
}
ok(hr == test[i].hr || hr == test[i].hr_ads_open, "%d: got %#lx, expected %#lx\n", i, hr, test[i].hr);
@ -193,6 +203,7 @@ static void test_ParseDisplayName(void)
if (hr == HRESULT_FROM_WIN32(ERROR_DS_SERVER_DOWN))
{
skip("server is down\n");
server_down = TRUE;
break;
}
todo_wine_if(i == 0 || i == 1 || i == 11 || i == 12)
@ -237,12 +248,15 @@ static void do_search(const struct search *s)
LPWSTR name;
const struct result *res;
if (server_down) return;
trace("search DN %s\n", wine_dbgstr_w(s->dn));
hr = ADsGetObject(s->dn, &IID_IDirectorySearch, (void **)&ds);
if (hr == HRESULT_FROM_WIN32(ERROR_DS_SERVER_DOWN))
{
skip("server is down\n");
server_down = TRUE;
return;
}
ok(hr == S_OK, "got %#lx\n", hr);
@ -296,8 +310,6 @@ static void do_search(const struct search *s)
"expected %s, got %s\n", wine_dbgstr_w(res->values[i]), wine_dbgstr_w(col.pADsValues[i].CaseIgnoreString));
}
ok(!res->values[i], "expected extra value %s\n", wine_dbgstr_w(res->values[i]));
IDirectorySearch_FreeColumn(ds, &col);
FreeADsMem(name);
res++;
@ -363,6 +375,8 @@ static void test_DirectorySearch(void)
ADS_SEARCH_COLUMN col;
LPWSTR name;
if (server_down) return;
hr = ADsGetObject(L"LDAP:", &IID_IDirectorySearch, (void **)&ds);
ok(hr == E_NOINTERFACE, "got %#lx\n", hr);
@ -370,6 +384,7 @@ static void test_DirectorySearch(void)
if (hr == HRESULT_FROM_WIN32(ERROR_DS_SERVER_DOWN))
{
skip("server is down\n");
server_down = TRUE;
return;
}
ok(hr == E_NOINTERFACE, "got %#lx\n", hr);
@ -378,6 +393,7 @@ static void test_DirectorySearch(void)
if (hr == HRESULT_FROM_WIN32(ERROR_DS_SERVER_DOWN))
{
skip("server is down\n");
server_down = TRUE;
return;
}
ok(hr == S_OK, "got %#lx\n", hr);
@ -492,10 +508,13 @@ static void test_DirectoryObject(void)
ADS_SEARCH_HANDLE sh;
ADS_SEARCH_COLUMN col;
if (server_down) return;
hr = ADsGetObject(L"LDAP://ldap.forumsys.com/OU=scientists,DC=example,DC=com", &IID_IDirectoryObject, (void **)&dirobj);
if (hr == HRESULT_FROM_WIN32(ERROR_DS_SERVER_DOWN))
{
skip("server is down\n");
server_down = TRUE;
return;
}
ok(hr == S_OK, "got %#lx\n", hr);

View file

@ -2,9 +2,9 @@ EXTRADEFS = -D_ADVAPI32_
MODULE = advapi32.dll
IMPORTLIB = advapi32
IMPORTS = kernelbase sechost msvcrt
DELAYIMPORTS = rpcrt4
DELAYIMPORTS = rpcrt4 user32
C_SRCS = \
SOURCES = \
advapi.c \
cred.c \
crypt.c \
@ -16,7 +16,5 @@ C_SRCS = \
registry.c \
security.c \
service.c \
version.rc \
wmi.c
RC_SRCS = version.rc

View file

@ -252,9 +252,9 @@ BOOL WINAPI LogonUserA( LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassw
ret = LogonUserW( usernameW, domainW, passwordW, dwLogonType, dwLogonProvider, phToken );
done:
heap_free( usernameW );
heap_free( domainW );
heap_free( passwordW );
free( usernameW );
free( domainW );
free( passwordW );
return ret;
}

View file

@ -824,7 +824,7 @@
# @ stub TreeResetNamedSecurityInfoA
@ stdcall TreeResetNamedSecurityInfoW(wstr long long ptr ptr ptr ptr long ptr long ptr)
# @ stub TreeSetNamedSecurityInfoA
# @ stub TreeSetNamedSecurityInfoW
@ stdcall TreeSetNamedSecurityInfoW(wstr long long ptr ptr ptr ptr long ptr long ptr)
# @ stub TrusteeAccessToObjectA
# @ stub TrusteeAccessToObjectW
# @ stub UninstallApplication

View file

@ -23,15 +23,14 @@
#include "ntsecapi.h"
#include "winsvc.h"
#include "winnls.h"
#include "wine/heap.h"
const char * debugstr_sid(PSID sid) DECLSPEC_HIDDEN;
BOOL ADVAPI_IsLocalComputer(LPCWSTR ServerName) DECLSPEC_HIDDEN;
BOOL ADVAPI_GetComputerSid(PSID sid) DECLSPEC_HIDDEN;
const char * debugstr_sid(PSID sid);
BOOL ADVAPI_IsLocalComputer(LPCWSTR ServerName);
BOOL ADVAPI_GetComputerSid(PSID sid);
BOOL lookup_local_wellknown_name(const LSA_UNICODE_STRING*, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE, BOOL*) DECLSPEC_HIDDEN;
BOOL lookup_local_user_name(const LSA_UNICODE_STRING*, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE, BOOL*) DECLSPEC_HIDDEN;
const WCHAR *get_wellknown_privilege_name(const LUID *) DECLSPEC_HIDDEN;
BOOL lookup_local_wellknown_name(const LSA_UNICODE_STRING*, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE, BOOL*);
BOOL lookup_local_user_name(const LSA_UNICODE_STRING*, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE, BOOL*);
const WCHAR *get_wellknown_privilege_name(const LUID *);
/* memory allocation functions */
@ -41,7 +40,7 @@ static inline WCHAR *strdupAW( const char *src )
if (src)
{
DWORD len = MultiByteToWideChar( CP_ACP, 0, src, -1, NULL, 0 );
if ((dst = heap_alloc( len * sizeof(WCHAR) ))) MultiByteToWideChar( CP_ACP, 0, src, -1, dst, len );
if ((dst = malloc( len * sizeof(WCHAR) ))) MultiByteToWideChar( CP_ACP, 0, src, -1, dst, len );
}
return dst;
}

View file

@ -229,7 +229,7 @@ static DWORD write_credential_blob(HKEY hkey, LPCWSTR target_name, DWORD type,
key.Length = key.MaximumLength = KEY_SIZE;
key.Buffer = (unsigned char *)key_data;
encrypted_credential_blob = heap_alloc(credential_blob_size);
encrypted_credential_blob = malloc(credential_blob_size);
if (!encrypted_credential_blob) return ERROR_OUTOFMEMORY;
memcpy(encrypted_credential_blob, credential_blob, credential_blob_size);
@ -238,7 +238,7 @@ static DWORD write_credential_blob(HKEY hkey, LPCWSTR target_name, DWORD type,
SystemFunction032(&data, &key);
ret = RegSetValueExW(hkey, L"Password", 0, REG_BINARY, encrypted_credential_blob, credential_blob_size);
heap_free(encrypted_credential_blob);
free(encrypted_credential_blob);
return ret;
}
@ -320,7 +320,7 @@ static DWORD host_write_credential( const CREDENTIALW *credential, BOOL preserve
size = sizeof(*cred) + (lstrlenW( credential->TargetName ) + lstrlenW( credential->UserName ) + 2) * sizeof(WCHAR);
size += credential->CredentialBlobSize;
if (credential->Comment) size += (lstrlenW( credential->Comment ) + 1) * sizeof(WCHAR);
if (!(cred = heap_alloc( size )))
if (!(cred = malloc( size )))
{
CloseHandle( mgr );
return ERROR_OUTOFMEMORY;
@ -356,7 +356,7 @@ static DWORD host_write_credential( const CREDENTIALW *credential, BOOL preserve
else cred->comment_size = 0;
ret = DeviceIoControl( mgr, IOCTL_MOUNTMGR_WRITE_CREDENTIAL, cred, size, NULL, 0, NULL, NULL );
heap_free( cred );
free( cred );
CloseHandle( mgr );
return ret ? ERROR_SUCCESS : GetLastError();
@ -435,7 +435,7 @@ static LPWSTR get_key_name_for_target(LPCWSTR target_name, DWORD type)
len += ARRAY_SIZE(L"DomPasswd: ");
}
key_name = heap_alloc(len * sizeof(WCHAR));
key_name = malloc(len * sizeof(WCHAR));
if (!key_name) return NULL;
lstrcpyW(key_name, prefix);
@ -463,13 +463,13 @@ static BOOL registry_credential_matches_filter(HKEY hkeyCred, LPCWSTR filter)
else if (type != REG_SZ)
return FALSE;
target_name = heap_alloc(count);
target_name = malloc(count);
if (!target_name)
return FALSE;
ret = RegQueryValueExW(hkeyCred, NULL, 0, &type, (LPVOID)target_name, &count);
if (ret != ERROR_SUCCESS || type != REG_SZ)
{
heap_free(target_name);
free(target_name);
return FALSE;
}
@ -481,7 +481,7 @@ static BOOL registry_credential_matches_filter(HKEY hkeyCred, LPCWSTR filter)
(p && !p[1] ? p - filter : -1), target_name,
(p && !p[1] ? p - filter : -1)) == CSTR_EQUAL;
heap_free(target_name);
free(target_name);
return ret;
}
@ -730,7 +730,7 @@ BOOL WINAPI CredDeleteA(LPCSTR TargetName, DWORD Type, DWORD Flags)
}
len = MultiByteToWideChar(CP_ACP, 0, TargetName, -1, NULL, 0);
TargetNameW = heap_alloc(len * sizeof(WCHAR));
TargetNameW = malloc(len * sizeof(WCHAR));
if (!TargetNameW)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -740,7 +740,7 @@ BOOL WINAPI CredDeleteA(LPCSTR TargetName, DWORD Type, DWORD Flags)
ret = CredDeleteW(TargetNameW, Type, Flags);
heap_free(TargetNameW);
free(TargetNameW);
return ret;
}
@ -758,7 +758,7 @@ static DWORD host_delete_credential( const WCHAR *targetname )
if (mgr == INVALID_HANDLE_VALUE) return GetLastError();
size = sizeof(*cred) + name_size;
if (!(cred = heap_alloc( size )))
if (!(cred = malloc( size )))
{
CloseHandle( mgr );
return ERROR_OUTOFMEMORY;
@ -769,7 +769,7 @@ static DWORD host_delete_credential( const WCHAR *targetname )
lstrcpyW( ptr, targetname );
ret = DeviceIoControl( mgr, IOCTL_MOUNTMGR_DELETE_CREDENTIAL, cred, size, NULL, 0, NULL, NULL );
heap_free( cred );
free( cred );
CloseHandle( mgr );
return ret ? ERROR_SUCCESS : GetLastError();
@ -823,7 +823,7 @@ BOOL WINAPI CredDeleteW(LPCWSTR TargetName, DWORD Type, DWORD Flags)
key_name = get_key_name_for_target(TargetName, Type);
ret = RegDeleteKeyW(hkeyMgr, key_name);
heap_free(key_name);
free(key_name);
RegCloseKey(hkeyMgr);
if (ret != ERROR_SUCCESS)
{
@ -852,7 +852,7 @@ BOOL WINAPI CredEnumerateA(LPCSTR Filter, DWORD Flags, DWORD *Count,
if (Filter)
{
len = MultiByteToWideChar(CP_ACP, 0, Filter, -1, NULL, 0);
FilterW = heap_alloc(len * sizeof(WCHAR));
FilterW = malloc(len * sizeof(WCHAR));
if (!FilterW)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -865,16 +865,16 @@ BOOL WINAPI CredEnumerateA(LPCSTR Filter, DWORD Flags, DWORD *Count,
if (!CredEnumerateW(FilterW, Flags, Count, &CredentialsW))
{
heap_free(FilterW);
free(FilterW);
return FALSE;
}
heap_free(FilterW);
free(FilterW);
len = *Count * sizeof(PCREDENTIALA);
for (i = 0; i < *Count; i++)
len += convert_PCREDENTIALW_to_PCREDENTIALA(CredentialsW[i], NULL, 0);
*Credentials = heap_alloc(len);
*Credentials = malloc(len);
if (!*Credentials)
{
CredFree(CredentialsW);
@ -917,7 +917,7 @@ static DWORD host_enumerate_credentials( const WCHAR *filter, CREDENTIALW **cred
if (mgr == INVALID_HANDLE_VALUE) return GetLastError();
size = FIELD_OFFSET( struct mountmgr_credential_list, creds[CRED_LIST_COUNT] ) + filter_size + CRED_DATA_SIZE;
if (!(list = heap_alloc( size )))
if (!(list = malloc( size )))
{
CloseHandle( mgr );
return ERROR_OUTOFMEMORY;
@ -934,7 +934,7 @@ static DWORD host_enumerate_credentials( const WCHAR *filter, CREDENTIALW **cred
if ((ret = GetLastError()) != ERROR_MORE_DATA) goto done;
size = list->size + filter_size;
if (!(tmp = heap_realloc( list, size )))
if (!(tmp = realloc( list, size )))
{
ret = ERROR_OUTOFMEMORY;
goto done;
@ -994,7 +994,7 @@ static DWORD host_enumerate_credentials( const WCHAR *filter, CREDENTIALW **cred
ret = ERROR_SUCCESS;
done:
heap_free( list );
free( list );
CloseHandle( mgr );
return ret;
}
@ -1044,7 +1044,7 @@ BOOL WINAPI CredEnumerateW(LPCWSTR Filter, DWORD Flags, DWORD *Count, PCREDENTIA
return FALSE;
}
target_name = heap_alloc((target_name_len+1)*sizeof(WCHAR));
target_name = malloc((target_name_len + 1) * sizeof(WCHAR));
if (!target_name)
{
RegCloseKey(hkeyMgr);
@ -1065,7 +1065,7 @@ BOOL WINAPI CredEnumerateW(LPCWSTR Filter, DWORD Flags, DWORD *Count, PCREDENTIA
ret = ERROR_NOT_FOUND;
if (ret != ERROR_SUCCESS)
{
heap_free(target_name);
free(target_name);
RegCloseKey(hkeyMgr);
SetLastError(ret);
return FALSE;
@ -1074,7 +1074,7 @@ BOOL WINAPI CredEnumerateW(LPCWSTR Filter, DWORD Flags, DWORD *Count, PCREDENTIA
if (ret == ERROR_SUCCESS)
{
buffer = heap_alloc(len);
buffer = malloc(len);
*Credentials = (PCREDENTIALW *)buffer;
if (buffer)
{
@ -1091,7 +1091,7 @@ BOOL WINAPI CredEnumerateW(LPCWSTR Filter, DWORD Flags, DWORD *Count, PCREDENTIA
else ret = ERROR_OUTOFMEMORY;
}
heap_free(target_name);
free(target_name);
RegCloseKey(hkeyMgr);
if (ret != ERROR_SUCCESS)
@ -1107,7 +1107,7 @@ BOOL WINAPI CredEnumerateW(LPCWSTR Filter, DWORD Flags, DWORD *Count, PCREDENTIA
*/
VOID WINAPI CredFree(PVOID Buffer)
{
heap_free(Buffer);
free(Buffer);
}
/******************************************************************************
@ -1128,7 +1128,7 @@ BOOL WINAPI CredReadA(LPCSTR TargetName, DWORD Type, DWORD Flags, PCREDENTIALA *
}
len = MultiByteToWideChar(CP_ACP, 0, TargetName, -1, NULL, 0);
TargetNameW = heap_alloc(len * sizeof(WCHAR));
TargetNameW = malloc(len * sizeof(WCHAR));
if (!TargetNameW)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -1138,13 +1138,13 @@ BOOL WINAPI CredReadA(LPCSTR TargetName, DWORD Type, DWORD Flags, PCREDENTIALA *
if (!CredReadW(TargetNameW, Type, Flags, &CredentialW))
{
heap_free(TargetNameW);
free(TargetNameW);
return FALSE;
}
heap_free(TargetNameW);
free(TargetNameW);
len = convert_PCREDENTIALW_to_PCREDENTIALA(CredentialW, NULL, 0);
*Credential = heap_alloc(len);
*Credential = malloc(len);
if (!*Credential)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -1170,7 +1170,7 @@ static DWORD host_read_credential( const WCHAR *targetname, CREDENTIALW **ret_cr
if (mgr == INVALID_HANDLE_VALUE) return GetLastError();
size_in = sizeof(*cred_in) + size_name;
if (!(cred_in = heap_alloc( size_in )))
if (!(cred_in = malloc( size_in )))
{
CloseHandle( mgr );
return ERROR_OUTOFMEMORY;
@ -1181,14 +1181,14 @@ static DWORD host_read_credential( const WCHAR *targetname, CREDENTIALW **ret_cr
lstrcpyW( ptr, targetname );
size_out = 256;
if (!(cred_out = heap_alloc( size_out ))) goto done;
if (!(cred_out = malloc( size_out ))) goto done;
for (;;)
{
ret = DeviceIoControl( mgr, IOCTL_MOUNTMGR_READ_CREDENTIAL, cred_in, size_in, cred_out, size_out, NULL, NULL );
if (ret || (err = GetLastError()) != ERROR_MORE_DATA) break;
size_out *= 2;
if (!(tmp = heap_realloc( cred_out, size_out ))) goto done;
if (!(tmp = realloc( cred_out, size_out ))) goto done;
cred_out = tmp;
}
@ -1198,7 +1198,7 @@ static DWORD host_read_credential( const WCHAR *targetname, CREDENTIALW **ret_cr
DWORD size = sizeof(*credential) + cred_out->targetname_size + cred_out->username_size + cred_out->comment_size +
cred_out->blob_size;
if (!(credential = heap_alloc_zero( size )))
if (!(credential = calloc( 1, size )))
{
err = ERROR_OUTOFMEMORY;
goto done;
@ -1231,8 +1231,8 @@ static DWORD host_read_credential( const WCHAR *targetname, CREDENTIALW **ret_cr
}
done:
heap_free( cred_in );
heap_free( cred_out );
free( cred_in );
free( cred_out );
CloseHandle( mgr );
return err;
}
@ -1300,7 +1300,7 @@ BOOL WINAPI CredReadW(LPCWSTR TargetName, DWORD Type, DWORD Flags, PCREDENTIALW
key_name = get_key_name_for_target(TargetName, Type);
ret = RegOpenKeyExW(hkeyMgr, key_name, 0, KEY_QUERY_VALUE, &hkeyCred);
heap_free(key_name);
free(key_name);
if (ret != ERROR_SUCCESS)
{
TRACE("credentials for target name %s not found\n", debugstr_w(TargetName));
@ -1312,7 +1312,7 @@ BOOL WINAPI CredReadW(LPCWSTR TargetName, DWORD Type, DWORD Flags, PCREDENTIALW
ret = registry_read_credential(hkeyCred, NULL, key_data, NULL, &len);
if (ret == ERROR_SUCCESS)
{
*Credential = heap_alloc(len);
*Credential = malloc(len);
if (*Credential)
{
len = sizeof(**Credential);
@ -1375,7 +1375,7 @@ BOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInf
if (TargetInformation->PackageName)
len += MultiByteToWideChar(CP_ACP, 0, TargetInformation->PackageName, -1, NULL, 0) * sizeof(WCHAR);
TargetInformationW = heap_alloc(len);
TargetInformationW = malloc(len);
if (!TargetInformationW)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -1446,7 +1446,7 @@ BOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInf
ret = CredReadDomainCredentialsW(TargetInformationW, Flags, Size, &CredentialsW);
heap_free(TargetInformationW);
free(TargetInformationW);
if (ret)
{
@ -1457,7 +1457,7 @@ BOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInf
for (i = 0; i < *Size; i++)
len += convert_PCREDENTIALW_to_PCREDENTIALA(CredentialsW[i], NULL, 0);
*Credentials = heap_alloc(len);
*Credentials = malloc(len);
if (!*Credentials)
{
CredFree(CredentialsW);
@ -1519,7 +1519,7 @@ BOOL WINAPI CredWriteA(PCREDENTIALA Credential, DWORD Flags)
}
len = convert_PCREDENTIALA_to_PCREDENTIALW(Credential, NULL, 0);
CredentialW = heap_alloc(len);
CredentialW = malloc(len);
if (!CredentialW)
{
SetLastError(ERROR_OUTOFMEMORY);
@ -1530,7 +1530,7 @@ BOOL WINAPI CredWriteA(PCREDENTIALA Credential, DWORD Flags)
ret = CredWriteW(CredentialW, Flags);
heap_free(CredentialW);
free(CredentialW);
return ret;
}
@ -1621,7 +1621,7 @@ BOOL WINAPI CredWriteW(PCREDENTIALW Credential, DWORD Flags)
ret = RegCreateKeyExW(hkeyMgr, key_name, 0, NULL,
Credential->Persist == CRED_PERSIST_SESSION ? REG_OPTION_VOLATILE : REG_OPTION_NON_VOLATILE,
KEY_READ|KEY_WRITE, NULL, &hkeyCred, NULL);
heap_free(key_name);
free(key_name);
if (ret != ERROR_SUCCESS)
{
TRACE("credentials for target name %s not found\n",
@ -1677,13 +1677,13 @@ BOOL WINAPI CredMarshalCredentialA( CRED_MARSHAL_TYPE type, PVOID cred, LPSTR *o
if ((ret = CredMarshalCredentialW( type, cred, &outW )))
{
int len = WideCharToMultiByte( CP_ACP, 0, outW, -1, NULL, 0, NULL, NULL );
if (!(*out = heap_alloc( len )))
if (!(*out = malloc( len )))
{
heap_free( outW );
free( outW );
return FALSE;
}
WideCharToMultiByte( CP_ACP, 0, outW, -1, *out, len, NULL, NULL );
heap_free( outW );
free( outW );
}
return ret;
}
@ -1741,7 +1741,7 @@ BOOL WINAPI CredMarshalCredentialW( CRED_MARSHAL_TYPE type, PVOID cred, LPWSTR *
case CertCredential:
{
size = (sizeof(cert->rgbHashOfCert) + 2) * 4 / 3;
if (!(p = heap_alloc( (size + 4) * sizeof(WCHAR) ))) return FALSE;
if (!(p = malloc( (size + 4) * sizeof(WCHAR) ))) return FALSE;
p[0] = '@';
p[1] = '@';
p[2] = 'A' + type;
@ -1753,7 +1753,7 @@ BOOL WINAPI CredMarshalCredentialW( CRED_MARSHAL_TYPE type, PVOID cred, LPWSTR *
{
len = lstrlenW( target->UserName );
size = (sizeof(DWORD) + len * sizeof(WCHAR) + 2) * 4 / 3;
if (!(p = heap_alloc( (size + 4) * sizeof(WCHAR) ))) return FALSE;
if (!(p = malloc( (size + 4) * sizeof(WCHAR) ))) return FALSE;
p[0] = '@';
p[1] = '@';
p[2] = 'A' + type;
@ -1786,11 +1786,11 @@ BOOL WINAPI CredUnmarshalCredentialA( LPCSTR cred, PCRED_MARSHAL_TYPE type, PVOI
if (cred)
{
int len = MultiByteToWideChar( CP_ACP, 0, cred, -1, NULL, 0 );
if (!(credW = heap_alloc( len * sizeof(WCHAR) ))) return FALSE;
if (!(credW = malloc( len * sizeof(WCHAR) ))) return FALSE;
MultiByteToWideChar( CP_ACP, 0, cred, -1, credW, len );
}
ret = CredUnmarshalCredentialW( credW, type, out );
heap_free( credW );
free( credW );
return ret;
}
@ -1876,7 +1876,7 @@ BOOL WINAPI CredUnmarshalCredentialW( LPCWSTR cred, PCRED_MARSHAL_TYPE type, PVO
SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (!(cert = heap_alloc( sizeof(*cert) ))) return FALSE;
if (!(cert = malloc( sizeof(*cert) ))) return FALSE;
memcpy( cert->rgbHashOfCert, hash, sizeof(cert->rgbHashOfCert) );
cert->cbSize = sizeof(*cert);
*out = cert;
@ -1894,10 +1894,10 @@ BOOL WINAPI CredUnmarshalCredentialW( LPCWSTR cred, PCRED_MARSHAL_TYPE type, PVO
return FALSE;
}
buflen = sizeof(*target) + size + sizeof(WCHAR);
if (!(target = heap_alloc( buflen ))) return FALSE;
if (!(target = malloc( buflen ))) return FALSE;
if (!cred_decode( cred + 9, len - 6, (char *)(target + 1) ))
{
heap_free( target );
free( target );
return FALSE;
}
target->UserName = (WCHAR *)(target + 1);
@ -1973,11 +1973,11 @@ BOOL WINAPI CredIsMarshaledCredentialA(LPCSTR name)
if (name)
{
len = MultiByteToWideChar(CP_ACP, 0, name, -1, NULL, 0);
nameW = heap_alloc(len * sizeof(WCHAR));
nameW = malloc(len * sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, name, -1, nameW, len);
}
res = CredIsMarshaledCredentialW(nameW);
heap_free(nameW);
free(nameW);
return res;
}

View file

@ -87,9 +87,9 @@ typedef struct tagCRYPTHASH
#define MAXPROVTYPES 999
extern unsigned char *CRYPT_DEShash( unsigned char *dst, const unsigned char *key,
const unsigned char *src ) DECLSPEC_HIDDEN;
const unsigned char *src );
extern unsigned char *CRYPT_DESunhash( unsigned char *dst, const unsigned char *key,
const unsigned char *src ) DECLSPEC_HIDDEN;
const unsigned char *src );
struct ustring {
DWORD Length;

View file

@ -27,6 +27,7 @@
#include "winerror.h"
#include "winternl.h"
#include "wmistr.h"
#define _WMI_SOURCE_
#include "evntrace.h"
#include "evntprov.h"
@ -58,7 +59,7 @@ BOOL WINAPI BackupEventLogA( HANDLE hEventLog, LPCSTR lpBackupFileName )
backupW = strdupAW(lpBackupFileName);
ret = BackupEventLogW(hEventLog, backupW);
heap_free(backupW);
free(backupW);
return ret;
}
@ -115,7 +116,7 @@ BOOL WINAPI ClearEventLogA( HANDLE hEventLog, LPCSTR lpBackupFileName )
backupW = strdupAW(lpBackupFileName);
ret = ClearEventLogW(hEventLog, backupW);
heap_free(backupW);
free(backupW);
return ret;
}
@ -394,8 +395,8 @@ HANDLE WINAPI OpenBackupEventLogA( LPCSTR lpUNCServerName, LPCSTR lpFileName )
uncnameW = strdupAW(lpUNCServerName);
filenameW = strdupAW(lpFileName);
handle = OpenBackupEventLogW(uncnameW, filenameW);
heap_free(uncnameW);
heap_free(filenameW);
free(uncnameW);
free(filenameW);
return handle;
}
@ -453,8 +454,8 @@ HANDLE WINAPI OpenEventLogA( LPCSTR uncname, LPCSTR source )
uncnameW = strdupAW(uncname);
sourceW = strdupAW(source);
handle = OpenEventLogW(uncnameW, sourceW);
heap_free(uncnameW);
heap_free(sourceW);
free(uncnameW);
free(sourceW);
return handle;
}
@ -608,7 +609,7 @@ BOOL WINAPI ReportEventA ( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD d
if (wNumStrings == 0) return TRUE;
if (!lpStrings) return TRUE;
wideStrArray = heap_alloc(sizeof(LPWSTR) * wNumStrings);
wideStrArray = malloc(sizeof(WCHAR *) * wNumStrings);
for (i = 0; i < wNumStrings; i++)
{
RtlCreateUnicodeStringFromAsciiz(&str, lpStrings[i]);
@ -617,8 +618,8 @@ BOOL WINAPI ReportEventA ( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD d
ret = ReportEventW(hEventLog, wType, wCategory, dwEventID, lpUserSid,
wNumStrings, dwDataSize, (LPCWSTR *)wideStrArray, lpRawData);
for (i = 0; i < wNumStrings; i++)
heap_free( wideStrArray[i] );
heap_free(wideStrArray);
free(wideStrArray[i]);
free(wideStrArray);
return ret;
}
@ -642,20 +643,34 @@ BOOL WINAPI ReportEventW( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dw
for (i = 0; i < wNumStrings; i++)
{
switch (wType)
const WCHAR *line = lpStrings[i];
while (*line)
{
case EVENTLOG_SUCCESS:
TRACE_(eventlog)("%s\n", debugstr_w(lpStrings[i]));
break;
case EVENTLOG_ERROR_TYPE:
ERR_(eventlog)("%s\n", debugstr_w(lpStrings[i]));
break;
case EVENTLOG_WARNING_TYPE:
WARN_(eventlog)("%s\n", debugstr_w(lpStrings[i]));
break;
default:
TRACE_(eventlog)("%s\n", debugstr_w(lpStrings[i]));
break;
const WCHAR *next = wcschr( line, '\n' );
if (next)
++next;
else
next = line + wcslen( line );
switch (wType)
{
case EVENTLOG_SUCCESS:
TRACE_(eventlog)("%s\n", debugstr_wn(line, next - line));
break;
case EVENTLOG_ERROR_TYPE:
ERR_(eventlog)("%s\n", debugstr_wn(line, next - line));
break;
case EVENTLOG_WARNING_TYPE:
WARN_(eventlog)("%s\n", debugstr_wn(line, next - line));
break;
default:
TRACE_(eventlog)("%s\n", debugstr_wn(line, next - line));
break;
}
line = next;
}
}
return TRUE;

View file

@ -62,6 +62,33 @@ static void dumpLsaAttributes(const LSA_OBJECT_ATTRIBUTES *oa)
}
}
static const char *debugstr_InformationClass( POLICY_INFORMATION_CLASS class )
{
static const char * const names[] =
{
NULL,
"PolicyAuditLogInformation",
"PolicyAuditEventsInformation",
"PolicyPrimaryDomainInformation",
"PolicyPdAccountInformation",
"PolicyAccountDomainInformation",
"PolicyLsaServerRoleInformation",
"PolicyReplicaSourceInformation",
"PolicyDefaultQuotaInformation",
"PolicyModificationInformation",
"PolicyAuditFullSetInformation",
"PolicyAuditFullQueryInformation",
"PolicyDnsDomainInformation",
"PolicyDnsDomainInformationInt",
"PolicyLocalAccountDomainInformation",
"PolicyMachineAccountInformation",
"PolicyMachineAccountInformation2",
};
if (class < ARRAY_SIZE(names) && names[class]) return names[class];
return wine_dbg_sprintf( "%u", class );
}
static void* ADVAPI_GetDomainName(unsigned sz, unsigned ofs)
{
HKEY key;
@ -76,7 +103,7 @@ static void* ADVAPI_GetDomainName(unsigned sz, unsigned ofs)
ret = RegQueryValueExW(key, L"Workgroup", NULL, NULL, NULL, &size);
if (ret == ERROR_MORE_DATA || ret == ERROR_SUCCESS)
{
ptr = heap_alloc_zero(sz + size);
ptr = calloc(1, sz + size);
if (!ptr) return NULL;
ustr = (UNICODE_STRING*)(ptr + ofs);
ustr->MaximumLength = size;
@ -84,16 +111,16 @@ static void* ADVAPI_GetDomainName(unsigned sz, unsigned ofs)
ret = RegQueryValueExW(key, L"Workgroup", NULL, NULL, (LPBYTE)ustr->Buffer, &size);
if (ret != ERROR_SUCCESS)
{
heap_free(ptr);
free(ptr);
ptr = NULL;
}
}
else ustr->Length = size - sizeof(WCHAR);
}
RegCloseKey(key);
}
if (!ptr)
{
ptr = heap_alloc_zero(sz + sizeof(L"DOMAIN"));
ptr = calloc(1, sz + sizeof(L"DOMAIN"));
if (!ptr) return NULL;
ustr = (UNICODE_STRING*)(ptr + ofs);
ustr->MaximumLength = sizeof(L"DOMAIN");
@ -117,7 +144,7 @@ NTSTATUS WINAPI LsaGetUserName(PUNICODE_STRING *user_name, PUNICODE_STRING *doma
if (GetUserNameW(NULL, &user_size) || GetLastError() != ERROR_INSUFFICIENT_BUFFER)
return STATUS_UNSUCCESSFUL;
user = heap_alloc(sizeof(*user) + user_size * sizeof(WCHAR));
user = malloc(sizeof(*user) + user_size * sizeof(WCHAR));
if (!user) return STATUS_NO_MEMORY;
user->Buffer = (WCHAR *)(user + 1);
@ -125,7 +152,7 @@ NTSTATUS WINAPI LsaGetUserName(PUNICODE_STRING *user_name, PUNICODE_STRING *doma
user->Length = user->MaximumLength - sizeof(WCHAR);
if (!GetUserNameW(user->Buffer, &user_size))
{
heap_free(user);
free(user);
return STATUS_UNSUCCESSFUL;
}
@ -138,14 +165,14 @@ NTSTATUS WINAPI LsaGetUserName(PUNICODE_STRING *user_name, PUNICODE_STRING *doma
domain_size = ARRAY_SIZE(computer);
if (!GetComputerNameW(computer, &domain_size))
{
heap_free(user);
free(user);
return STATUS_UNSUCCESSFUL;
}
domain = heap_alloc(sizeof(*domain) + (domain_size + 1) * sizeof(WCHAR));
domain = malloc(sizeof(*domain) + (domain_size + 1) * sizeof(WCHAR));
if (!domain)
{
heap_free(user);
free(user);
return STATUS_NO_MEMORY;
}
@ -335,7 +362,7 @@ NTSTATUS WINAPI LsaFreeMemory(IN PVOID Buffer)
{
TRACE("(%p)\n", Buffer);
heap_free(Buffer);
free(Buffer);
return STATUS_SUCCESS;
}
@ -470,22 +497,22 @@ NTSTATUS WINAPI LsaLookupNames2( LSA_HANDLE policy, ULONG flags, ULONG count,
TRACE("mapped %lu out of %lu\n", mapped, count);
size = sizeof(LSA_TRANSLATED_SID2) * count + sid_size_total;
if (!(*sids = heap_alloc(size))) return STATUS_NO_MEMORY;
if (!(*sids = malloc(size))) return STATUS_NO_MEMORY;
sid = (SID *)(*sids + count);
/* use maximum domain count */
if (!(*domains = heap_alloc(sizeof(LSA_REFERENCED_DOMAIN_LIST) + sizeof(LSA_TRUST_INFORMATION)*count +
sid_size_total + domainname_size_total*sizeof(WCHAR))))
if (!(*domains = malloc(sizeof(LSA_REFERENCED_DOMAIN_LIST) + sizeof(LSA_TRUST_INFORMATION) * count +
sid_size_total + domainname_size_total * sizeof(WCHAR))))
{
heap_free(*sids);
free(*sids);
return STATUS_NO_MEMORY;
}
(*domains)->Entries = 0;
(*domains)->Domains = (LSA_TRUST_INFORMATION*)((char*)*domains + sizeof(LSA_REFERENCED_DOMAIN_LIST));
domain_data = (char*)(*domains)->Domains + sizeof(LSA_TRUST_INFORMATION)*count;
domain.Buffer = heap_alloc(domain_size_max*sizeof(WCHAR));
domain.Buffer = malloc(domain_size_max * sizeof(WCHAR));
for (i = 0; i < count; i++)
{
domain.Length = domain_size_max*sizeof(WCHAR);
@ -514,7 +541,7 @@ NTSTATUS WINAPI LsaLookupNames2( LSA_HANDLE policy, ULONG flags, ULONG count,
}
}
}
heap_free(domain.Buffer);
free(domain.Buffer);
if (mapped == count) return STATUS_SUCCESS;
if (mapped > 0 && mapped < count) return STATUS_SOME_NOT_MAPPED;
@ -557,13 +584,13 @@ NTSTATUS WINAPI LsaLookupSids(
/* this length does not include actual string length yet */
name_fullsize = sizeof(LSA_TRANSLATED_NAME) * Count;
if (!(*Names = heap_alloc(name_fullsize))) return STATUS_NO_MEMORY;
if (!(*Names = malloc(name_fullsize))) return STATUS_NO_MEMORY;
/* maximum count of stored domain infos is Count, allocate it like that cause really needed
count could only be computed after sid data is retrieved */
domain_fullsize = sizeof(LSA_REFERENCED_DOMAIN_LIST) + sizeof(LSA_TRUST_INFORMATION)*Count;
if (!(*ReferencedDomains = heap_alloc(domain_fullsize)))
if (!(*ReferencedDomains = malloc(domain_fullsize)))
{
heap_free(*Names);
free(*Names);
return STATUS_NO_MEMORY;
}
(*ReferencedDomains)->Entries = 0;
@ -606,7 +633,7 @@ NTSTATUS WINAPI LsaLookupSids(
domain_fullsize += domain_size * sizeof(WCHAR);
/* get domain SID size too */
name = heap_alloc(domain_size * sizeof(WCHAR));
name = malloc(domain_size * sizeof(WCHAR));
*name = 0;
LookupAccountSidW(NULL, Sids[i], NULL, &name_size, name, &domain_size, &use);
@ -617,7 +644,7 @@ NTSTATUS WINAPI LsaLookupSids(
lookup_name(&domain, NULL, &sid_size, NULL, &domain_size, &use, &handled);
domain_fullsize += sid_size;
heap_free(name);
free(name);
}
else
{
@ -638,10 +665,10 @@ NTSTATUS WINAPI LsaLookupSids(
}
/* now we have full length needed for both */
*Names = heap_realloc(*Names, name_fullsize);
*Names = realloc(*Names, name_fullsize);
name_buffer = (WCHAR*)((char*)*Names + sizeof(LSA_TRANSLATED_NAME)*Count);
*ReferencedDomains = heap_realloc(*ReferencedDomains, domain_fullsize);
*ReferencedDomains = realloc(*ReferencedDomains, domain_fullsize);
/* fix pointer after reallocation */
(*ReferencedDomains)->Domains = (LSA_TRUST_INFORMATION*)((char*)*ReferencedDomains + sizeof(LSA_REFERENCED_DOMAIN_LIST));
domain_data = (char*)(*ReferencedDomains)->Domains + sizeof(LSA_TRUST_INFORMATION)*Count;
@ -670,13 +697,13 @@ NTSTATUS WINAPI LsaLookupSids(
domain.MaximumLength = sizeof(WCHAR);
}
domain.Buffer = heap_alloc(domain.MaximumLength);
domain.Buffer = malloc(domain.MaximumLength);
LookupAccountSidW(NULL, Sids[i], (*Names)[i].Name.Buffer, &name_size, domain.Buffer, &domain_size, &use);
(*Names)[i].Use = use;
(*Names)[i].DomainIndex = lsa_reflist_add_domain(*ReferencedDomains, &domain, &domain_data);
heap_free(domain.Buffer);
free(domain.Buffer);
}
else if (ConvertSidToStringSidW(Sids[i], &strsid))
{
@ -779,14 +806,14 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
IN POLICY_INFORMATION_CLASS InformationClass,
OUT PVOID *Buffer)
{
TRACE("(%p,0x%08x,%p)\n", PolicyHandle, InformationClass, Buffer);
TRACE("(%p,%s,%p)\n", PolicyHandle, debugstr_InformationClass(InformationClass), Buffer);
if(!Buffer) return STATUS_INVALID_PARAMETER;
switch (InformationClass)
{
case PolicyAuditEventsInformation: /* 2 */
{
PPOLICY_AUDIT_EVENTS_INFO p = heap_alloc_zero(sizeof(POLICY_AUDIT_EVENTS_INFO));
PPOLICY_AUDIT_EVENTS_INFO p = calloc(1, sizeof(POLICY_AUDIT_EVENTS_INFO));
p->AuditingMode = FALSE; /* no auditing */
*Buffer = p;
}
@ -816,7 +843,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
};
DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
struct di * xdi = heap_alloc_zero(sizeof(*xdi));
struct di * xdi = calloc(1, sizeof(*xdi));
xdi->info.DomainName.MaximumLength = dwSize * sizeof(WCHAR);
xdi->info.DomainName.Buffer = xdi->domain;
@ -829,7 +856,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
if (!ADVAPI_GetComputerSid(&xdi->sid))
{
heap_free(xdi);
free(xdi);
WARN("Computer SID not found\n");
@ -862,7 +889,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
} computer_sid;
DWORD dwSize;
xdi = heap_alloc_zero(sizeof(*xdi));
xdi = calloc(1, sizeof(*xdi));
if (!xdi) return STATUS_NO_MEMORY;
dwSize = 256;
@ -1016,7 +1043,7 @@ NTSTATUS WINAPI LsaSetInformationPolicy(
IN POLICY_INFORMATION_CLASS InformationClass,
IN PVOID Buffer)
{
FIXME("(%p,0x%08x,%p) stub\n", PolicyHandle, InformationClass, Buffer);
FIXME("(%p,%s,%p) stub\n", PolicyHandle, debugstr_InformationClass(InformationClass), Buffer);
return STATUS_UNSUCCESSFUL;
}
@ -1129,7 +1156,7 @@ NTSTATUS WINAPI LsaLookupPrivilegeName(LSA_HANDLE handle, LUID *luid, LSA_UNICOD
return STATUS_NO_SUCH_PRIVILEGE;
length = lstrlenW(privnameW);
*name = heap_alloc(sizeof(**name) + (length + 1) * sizeof(WCHAR));
*name = malloc(sizeof(**name) + (length + 1) * sizeof(WCHAR));
if (!*name)
return STATUS_NO_MEMORY;

View file

@ -70,6 +70,9 @@ LSTATUS WINAPI RegOverridePredefKey( HKEY hkey, HKEY override )
*/
LSTATUS WINAPI RegCreateKeyW( HKEY hkey, LPCWSTR lpSubKey, PHKEY phkResult )
{
if (!phkResult)
return ERROR_INVALID_PARAMETER;
return RegCreateKeyExW( hkey, lpSubKey, 0, NULL, REG_OPTION_NON_VOLATILE,
MAXIMUM_ALLOWED, NULL, phkResult, NULL );
}
@ -82,6 +85,9 @@ LSTATUS WINAPI RegCreateKeyW( HKEY hkey, LPCWSTR lpSubKey, PHKEY phkResult )
*/
LSTATUS WINAPI RegCreateKeyA( HKEY hkey, LPCSTR lpSubKey, PHKEY phkResult )
{
if (!phkResult)
return ERROR_INVALID_PARAMETER;
return RegCreateKeyExA( hkey, lpSubKey, 0, NULL, REG_OPTION_NON_VOLATILE,
MAXIMUM_ALLOWED, NULL, phkResult, NULL );
}

View file

@ -185,7 +185,7 @@ static inline DWORD get_security_file( LPCWSTR full_file_name, DWORD access, HAN
}
/* helper function for SE_SERVICE objects in [Get|Set]NamedSecurityInfo */
static inline DWORD get_security_service( LPWSTR full_service_name, DWORD access, HANDLE *service )
static DWORD get_security_service( const WCHAR *full_service_name, DWORD access, HANDLE *service )
{
SC_HANDLE manager = OpenSCManagerW( NULL, NULL, access );
if (manager)
@ -199,9 +199,9 @@ static inline DWORD get_security_service( LPWSTR full_service_name, DWORD access
}
/* helper function for SE_REGISTRY_KEY objects in [Get|Set]NamedSecurityInfo */
static inline DWORD get_security_regkey( LPWSTR full_key_name, DWORD access, HANDLE *key )
static DWORD get_security_regkey( const WCHAR *full_key_name, DWORD access, HANDLE *key )
{
LPWSTR p = wcschr(full_key_name, '\\');
const WCHAR *p = wcschr(full_key_name, '\\');
int len = p-full_key_name;
HKEY hParent;
@ -234,12 +234,12 @@ BOOL ADVAPI_IsLocalComputer(LPCWSTR ServerName)
if (!ServerName || !ServerName[0])
return TRUE;
buf = heap_alloc(dwSize * sizeof(WCHAR));
buf = malloc(dwSize * sizeof(WCHAR));
Result = GetComputerNameW(buf, &dwSize);
if (Result && (ServerName[0] == '\\') && (ServerName[1] == '\\'))
ServerName += 2;
Result = Result && !wcscmp(ServerName, buf);
heap_free(buf);
free(buf);
return Result;
}
@ -599,7 +599,7 @@ LookupPrivilegeNameA( LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName,
ret = LookupPrivilegeNameW(lpSystemNameW.Buffer, lpLuid, NULL, &wLen);
if (!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
LPWSTR lpNameW = heap_alloc(wLen * sizeof(WCHAR));
LPWSTR lpNameW = malloc(wLen * sizeof(WCHAR));
ret = LookupPrivilegeNameW(lpSystemNameW.Buffer, lpLuid, lpNameW,
&wLen);
@ -628,7 +628,7 @@ LookupPrivilegeNameA( LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName,
*cchName = len - 1;
}
}
heap_free(lpNameW);
free(lpNameW);
}
RtlFreeUnicodeString(&lpSystemNameW);
return ret;
@ -726,7 +726,7 @@ GetFileSecurityA( LPCSTR lpFileName,
name = strdupAW(lpFileName);
r = GetFileSecurityW( name, RequestedInformation, pSecurityDescriptor,
nLength, lpnLengthNeeded );
heap_free( name );
free( name );
return r;
}
@ -754,9 +754,9 @@ LookupAccountSidA(
systemW = strdupAW(system);
if (account)
accountW = heap_alloc( accountSizeW * sizeof(WCHAR) );
accountW = malloc( accountSizeW * sizeof(WCHAR) );
if (domain)
domainW = heap_alloc( domainSizeW * sizeof(WCHAR) );
domainW = malloc( domainSizeW * sizeof(WCHAR) );
r = LookupAccountSidW( systemW, sid, accountW, &accountSizeW, domainW, &domainSizeW, name_use );
@ -781,9 +781,9 @@ LookupAccountSidA(
*domainSize = domainSizeW + 1;
}
heap_free( systemW );
heap_free( accountW );
heap_free( domainW );
free( systemW );
free( accountW );
free( domainW );
return r;
}
@ -867,7 +867,7 @@ LookupAccountSidW(
DWORD size = MAX_COMPUTERNAME_LENGTH + 1;
BOOL result;
computer_name = heap_alloc(size * sizeof(WCHAR));
computer_name = malloc(size * sizeof(WCHAR));
result = GetComputerNameW(computer_name, &size);
if (result) {
@ -921,7 +921,7 @@ LookupAccountSidW(
break;
case 1000: /* first user account */
size = UNLEN + 1;
account_name = heap_alloc(size * sizeof(WCHAR));
account_name = malloc(size * sizeof(WCHAR));
if (GetUserNameW(account_name, &size))
ac = account_name;
else
@ -968,14 +968,14 @@ LookupAccountSidW(
else
*accountSize = ac_len + 1;
heap_free(account_name);
heap_free(computer_name);
free(account_name);
free(computer_name);
if (status) *name_use = use;
return status;
}
heap_free(account_name);
heap_free(computer_name);
free(account_name);
free(computer_name);
SetLastError(ERROR_NONE_MAPPED);
return FALSE;
}
@ -1009,7 +1009,7 @@ BOOL WINAPI SetFileSecurityA( LPCSTR lpFileName,
name = strdupAW(lpFileName);
r = SetFileSecurityW( name, RequestedInformation, pSecurityDescriptor );
heap_free( name );
free( name );
return r;
}
@ -1079,7 +1079,7 @@ LookupAccountNameA(
RtlCreateUnicodeStringFromAsciiz(&lpAccountW, account);
if (ReferencedDomainName)
lpReferencedDomainNameW = heap_alloc(*cbReferencedDomainName * sizeof(WCHAR));
lpReferencedDomainNameW = malloc(*cbReferencedDomainName * sizeof(WCHAR));
ret = LookupAccountNameW(lpSystemW.Buffer, lpAccountW.Buffer, sid, cbSid, lpReferencedDomainNameW,
cbReferencedDomainName, name_use);
@ -1092,7 +1092,7 @@ LookupAccountNameA(
RtlFreeUnicodeString(&lpSystemW);
RtlFreeUnicodeString(&lpAccountW);
heap_free(lpReferencedDomainNameW);
free(lpReferencedDomainNameW);
return ret;
}
@ -1279,7 +1279,7 @@ BOOL lookup_local_wellknown_name( const LSA_UNICODE_STRING *account_and_domain,
{
DWORD len, sidLen = SECURITY_MAX_SID_SIZE;
if (!(pSid = heap_alloc( sidLen ))) return FALSE;
if (!(pSid = malloc( sidLen ))) return FALSE;
if ((ret = CreateWellKnownSid( ACCOUNT_SIDS[i].type, NULL, pSid, &sidLen )))
{
@ -1311,7 +1311,7 @@ BOOL lookup_local_wellknown_name( const LSA_UNICODE_STRING *account_and_domain,
if (ret)
*peUse = ACCOUNT_SIDS[i].name_use;
heap_free(pSid);
free(pSid);
*handled = TRUE;
return ret;
}
@ -1336,7 +1336,7 @@ BOOL lookup_local_user_name( const LSA_UNICODE_STRING *account_and_domain,
/* Let the current Unix user id masquerade as first Windows user account */
nameLen = UNLEN + 1;
if (!(userName = heap_alloc( nameLen * sizeof(WCHAR) ))) return FALSE;
if (!(userName = malloc( nameLen * sizeof(WCHAR) ))) return FALSE;
if (domain.Buffer)
{
@ -1367,7 +1367,7 @@ BOOL lookup_local_user_name( const LSA_UNICODE_STRING *account_and_domain,
}
}
heap_free(userName);
free(userName);
return ret;
}
@ -1497,6 +1497,10 @@ DWORD WINAPI GetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE type, SECURITY_INFOR
NTSTATUS status;
ULONG size;
BOOL present, defaulted;
HKEY key = NULL;
if (!handle)
return ERROR_INVALID_HANDLE;
/* A NULL descriptor is allowed if any one of the other pointers is not NULL */
if (!(ppsidOwner||ppsidGroup||ppDacl||ppSacl||ppSecurityDescriptor)) return ERROR_INVALID_PARAMETER;
@ -1509,8 +1513,9 @@ DWORD WINAPI GetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE type, SECURITY_INFOR
|| ((SecurityInfo & SACL_SECURITY_INFORMATION) && !ppSacl) ))
return ERROR_INVALID_PARAMETER;
if (type == SE_SERVICE)
switch (type)
{
case SE_SERVICE:
if (!QueryServiceObjectSecurity( handle, SecurityInfo, NULL, 0, &size )
&& GetLastError() != ERROR_INSUFFICIENT_BUFFER)
return GetLastError();
@ -1522,11 +1527,27 @@ DWORD WINAPI GetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE type, SECURITY_INFOR
LocalFree(sd);
return GetLastError();
}
}
else
{
HKEY key = NULL;
break;
case SE_WINDOW_OBJECT:
if (!GetUserObjectSecurity( handle, &SecurityInfo, NULL, 0, &size )
&& GetLastError() != ERROR_INSUFFICIENT_BUFFER)
return GetLastError();
if (!(sd = LocalAlloc( 0, size )))
return ERROR_NOT_ENOUGH_MEMORY;
if (!GetUserObjectSecurity( handle, &SecurityInfo, sd, size, &size ))
{
LocalFree( sd );
return GetLastError();
}
break;
case SE_KERNEL_OBJECT:
case SE_FILE_OBJECT:
case SE_WMIGUID_OBJECT:
case SE_REGISTRY_KEY:
if (type == SE_REGISTRY_KEY && (HandleToUlong(handle) >= HandleToUlong(HKEY_SPECIAL_ROOT_FIRST))
&& (HandleToUlong(handle) <= HandleToUlong(HKEY_SPECIAL_ROOT_LAST)))
{
@ -1562,6 +1583,11 @@ DWORD WINAPI GetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE type, SECURITY_INFOR
return RtlNtStatusToDosError( status );
}
RegCloseKey( key );
break;
default:
FIXME("unimplemented type %u\n", type);
return ERROR_CALL_NOT_IMPLEMENTED;
}
if (ppsidOwner)
@ -1975,7 +2001,7 @@ static DWORD trustee_name_A_to_W(TRUSTEE_FORM form, char *trustee_nameA, WCHAR *
if (objA)
{
if (!(objW = heap_alloc( sizeof(OBJECTS_AND_NAME_W) )))
if (!(objW = malloc( sizeof(OBJECTS_AND_NAME_W) )))
return ERROR_NOT_ENOUGH_MEMORY;
objW->ObjectsPresent = objA->ObjectsPresent;
@ -2003,7 +2029,7 @@ static void free_trustee_name(TRUSTEE_FORM form, WCHAR *trustee_nameW)
switch (form)
{
case TRUSTEE_IS_NAME:
heap_free( trustee_nameW );
free( trustee_nameW );
break;
case TRUSTEE_IS_OBJECTS_AND_NAME:
{
@ -2011,10 +2037,10 @@ static void free_trustee_name(TRUSTEE_FORM form, WCHAR *trustee_nameW)
if (objW)
{
heap_free( objW->ptstrName );
heap_free( objW->InheritedObjectTypeName );
heap_free( objW->ObjectTypeName );
heap_free( objW );
free( objW->ptstrName );
free( objW->InheritedObjectTypeName );
free( objW->ObjectTypeName );
free( objW );
}
break;
@ -2093,7 +2119,7 @@ DWORD WINAPI SetEntriesInAclA( ULONG count, PEXPLICIT_ACCESSA pEntries,
if (!count && !OldAcl)
return ERROR_SUCCESS;
pEntriesW = heap_alloc( count * sizeof(EXPLICIT_ACCESSW) );
pEntriesW = malloc( count * sizeof(EXPLICIT_ACCESSW) );
if (!pEntriesW)
return ERROR_NOT_ENOUGH_MEMORY;
@ -2129,7 +2155,7 @@ cleanup:
for (free_index = 0; free_index < alloc_index; ++free_index)
free_trustee_name( pEntriesW[free_index].Trustee.TrusteeForm, pEntriesW[free_index].Trustee.ptstrName );
heap_free( pEntriesW );
free( pEntriesW );
return err;
}
@ -2154,7 +2180,7 @@ DWORD WINAPI SetEntriesInAclW( ULONG count, PEXPLICIT_ACCESSW pEntries,
return ERROR_SUCCESS;
/* allocate array of maximum sized sids allowed */
ppsid = heap_alloc(count * (sizeof(SID *) + FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES])));
ppsid = malloc(count * (sizeof(SID *) + FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES])));
if (!ppsid)
return ERROR_OUTOFMEMORY;
@ -2344,7 +2370,7 @@ DWORD WINAPI SetEntriesInAclW( ULONG count, PEXPLICIT_ACCESSW pEntries,
}
exit:
heap_free(ppsid);
free(ppsid);
return ret;
}
@ -2365,7 +2391,7 @@ DWORD WINAPI SetNamedSecurityInfoA(LPSTR pObjectName,
r = SetNamedSecurityInfoW( wstr, ObjectType, SecurityInfo, psidOwner,
psidGroup, pDacl, pSacl );
heap_free( wstr );
free( wstr );
return r;
}
@ -2565,7 +2591,7 @@ BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorA(
ret = ConvertStringSecurityDescriptorToSecurityDescriptorW(StringSecurityDescriptorW,
StringSDRevision, SecurityDescriptor,
SecurityDescriptorSize);
heap_free(StringSecurityDescriptorW);
free(StringSecurityDescriptorW);
return ret;
}
@ -2582,7 +2608,7 @@ BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorA(PSECURITY_DESCR
int lenA;
lenA = WideCharToMultiByte(CP_ACP, 0, wstr, len, NULL, 0, NULL, NULL);
*OutputString = heap_alloc(lenA);
*OutputString = malloc(lenA);
WideCharToMultiByte(CP_ACP, 0, wstr, len, *OutputString, lenA, NULL, NULL);
LocalFree(wstr);
@ -2615,7 +2641,7 @@ BOOL WINAPI ConvertStringSidToSidA(LPCSTR StringSid, PSID* Sid)
{
WCHAR *wStringSid = strdupAW(StringSid);
bret = ConvertStringSidToSidW(wStringSid, Sid);
heap_free(wStringSid);
free(wStringSid);
}
return bret;
}
@ -2676,7 +2702,7 @@ BOOL WINAPI CreateProcessWithTokenW(HANDLE token, DWORD logon_flags, LPCWSTR app
/******************************************************************************
* GetNamedSecurityInfoA [ADVAPI32.@]
*/
DWORD WINAPI GetNamedSecurityInfoA(LPSTR pObjectName,
DWORD WINAPI GetNamedSecurityInfoA(const char *pObjectName,
SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo,
PSID* ppsidOwner, PSID* ppsidGroup, PACL* ppDacl, PACL* ppSacl,
PSECURITY_DESCRIPTOR* ppSecurityDescriptor)
@ -2684,14 +2710,14 @@ DWORD WINAPI GetNamedSecurityInfoA(LPSTR pObjectName,
LPWSTR wstr;
DWORD r;
TRACE("%s %d %ld %p %p %p %p %p\n", pObjectName, ObjectType, SecurityInfo,
TRACE("%s %d %ld %p %p %p %p %p\n", debugstr_a(pObjectName), ObjectType, SecurityInfo,
ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
wstr = strdupAW(pObjectName);
r = GetNamedSecurityInfoW( wstr, ObjectType, SecurityInfo, ppsidOwner,
ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor );
heap_free( wstr );
free( wstr );
return r;
}
@ -2699,7 +2725,7 @@ DWORD WINAPI GetNamedSecurityInfoA(LPSTR pObjectName,
/******************************************************************************
* GetNamedSecurityInfoW [ADVAPI32.@]
*/
DWORD WINAPI GetNamedSecurityInfoW( LPWSTR name, SE_OBJECT_TYPE type,
DWORD WINAPI GetNamedSecurityInfoW( const WCHAR *name, SE_OBJECT_TYPE type,
SECURITY_INFORMATION info, PSID* owner, PSID* group, PACL* dacl,
PACL* sacl, PSECURITY_DESCRIPTOR* descriptor )
{
@ -2852,14 +2878,14 @@ static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
int i;
/* initialize a combined DACL containing both inherited and new ACEs */
combined = heap_alloc_zero(child->AclSize+parent->AclSize);
combined = calloc(1, child->AclSize + parent->AclSize);
if (!combined)
return STATUS_NO_MEMORY;
status = RtlCreateAcl(combined, parent->AclSize+child->AclSize, ACL_REVISION);
if (status != STATUS_SUCCESS)
{
heap_free(combined);
free(combined);
return status;
}
@ -2914,6 +2940,9 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
PACL dacl = pDacl;
NTSTATUS status;
if (!handle)
return ERROR_INVALID_HANDLE;
if (!InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION))
return ERROR_INVALID_SECURITY_DESCR;
@ -2934,19 +2963,19 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
if (status != STATUS_BUFFER_TOO_SMALL)
return RtlNtStatusToDosError(status);
psd = heap_alloc(size);
psd = malloc(size);
if (!psd)
return ERROR_NOT_ENOUGH_MEMORY;
status = NtQuerySecurityObject(handle, SecurityInfo, psd, size, &size);
if (status)
{
heap_free(psd);
free(psd);
return RtlNtStatusToDosError(status);
}
status = RtlGetControlSecurityDescriptor(psd, &control, &rev);
heap_free(psd);
free(psd);
if (status)
return RtlNtStatusToDosError(status);
/* TODO: copy some control flags to new sd */
@ -2958,21 +2987,22 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
if (status != STATUS_INFO_LENGTH_MISMATCH)
return RtlNtStatusToDosError(status);
name_info = heap_alloc(size);
name_info = malloc(size);
if (!name_info)
return ERROR_NOT_ENOUGH_MEMORY;
status = NtQueryObject(handle, ObjectNameInformation, name_info, size, NULL);
if (status)
{
heap_free(name_info);
free(name_info);
return RtlNtStatusToDosError(status);
}
for (name_info->Name.Length-=2; name_info->Name.Length>0; name_info->Name.Length-=2)
if (name_info->Name.Buffer[name_info->Name.Length/2-1]=='\\' ||
name_info->Name.Buffer[name_info->Name.Length/2-1]=='/')
break;
if (name_info->Name.Length && name_info->Name.Buffer[(name_info->Name.Length / 2) - 1] == '\\')
name_info->Name.Length -= 2;
while (name_info->Name.Length && name_info->Name.Buffer[(name_info->Name.Length / 2) - 1] != '\\')
name_info->Name.Length -= 2;
if (name_info->Name.Length)
{
OBJECT_ATTRIBUTES attr;
@ -2992,7 +3022,7 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
status = NtOpenFile(&parent, READ_CONTROL|SYNCHRONIZE, &attr, &io,
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
FILE_OPEN_FOR_BACKUP_INTENT);
heap_free(name_info);
free(name_info);
if (!status)
{
err = GetSecurityInfo(parent, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,
@ -3009,7 +3039,7 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
}
}
else
heap_free(name_info);
free(name_info);
}
}
@ -3020,16 +3050,21 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
switch (ObjectType)
{
case SE_SERVICE:
FIXME("stub: Service objects are not supported at this time.\n");
status = STATUS_SUCCESS; /* Implement SetServiceObjectSecurity */
break;
default:
case SE_FILE_OBJECT:
case SE_KERNEL_OBJECT:
case SE_WMIGUID_OBJECT:
case SE_REGISTRY_KEY:
status = NtSetSecurityObject(handle, SecurityInfo, &sd);
break;
default:
FIXME("unimplemented type %u, returning success\n", ObjectType);
status = STATUS_SUCCESS;
break;
}
if (dacl != pDacl)
heap_free(dacl);
free(dacl);
return RtlNtStatusToDosError(status);
}
@ -3066,6 +3101,19 @@ BOOL WINAPI SaferCloseLevel(SAFER_LEVEL_HANDLE handle)
return TRUE;
}
/******************************************************************************
* TreeSetNamedSecurityInfoW [ADVAPI32.@]
*/
DWORD WINAPI TreeSetNamedSecurityInfoW(WCHAR *name, SE_OBJECT_TYPE type, SECURITY_INFORMATION info,
SID *owner, SID *group, ACL *dacl, ACL *sacl, DWORD action,
FN_PROGRESS progress, PROG_INVOKE_SETTING pis, void *args)
{
FIXME("(%s, %d, %lu, %p, %p, %p, %p, %lu, %p, %d, %p) stub\n",
debugstr_w(name), type, info, owner, group, dacl, sacl, action, progress, pis, args);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/******************************************************************************
* TreeResetNamedSecurityInfoW [ADVAPI32.@]
*/

View file

@ -79,7 +79,7 @@ EnumServicesStatusA( SC_HANDLE hmngr, DWORD type, DWORD state, LPENUM_SERVICE_ST
}
sz = max( 2 * size, sizeof(*servicesW) );
if (!(servicesW = heap_alloc( sz )))
if (!(servicesW = malloc( sz )))
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
return FALSE;
@ -113,7 +113,7 @@ EnumServicesStatusA( SC_HANDLE hmngr, DWORD type, DWORD state, LPENUM_SERVICE_ST
ret = TRUE;
done:
heap_free( servicesW );
free( servicesW );
return ret;
}
@ -150,7 +150,7 @@ EnumServicesStatusW( SC_HANDLE manager, DWORD type, DWORD state, ENUM_SERVICE_ST
&& GetLastError() != ERROR_MORE_DATA)
return FALSE;
if (!(status_ex = heap_alloc( alloc_size )))
if (!(status_ex = malloc( alloc_size )))
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
return FALSE;
@ -160,7 +160,7 @@ EnumServicesStatusW( SC_HANDLE manager, DWORD type, DWORD state, ENUM_SERVICE_ST
alloc_size, &alloc_size, &count, resume_handle, NULL )
&& GetLastError() != ERROR_MORE_DATA)
{
heap_free( status_ex );
free( status_ex );
return FALSE;
}
@ -198,7 +198,7 @@ EnumServicesStatusW( SC_HANDLE manager, DWORD type, DWORD state, ENUM_SERVICE_ST
status[i].ServiceStatus.dwWaitHint = status_ex[i].ServiceStatusProcess.dwWaitHint;
}
heap_free( status_ex );
free( status_ex );
if (*ret_size > size)
{
SetLastError( ERROR_MORE_DATA );
@ -229,7 +229,7 @@ EnumServicesStatusExA( SC_HANDLE hmngr, SC_ENUM_TYPE level, DWORD type, DWORD st
size, needed, returned, resume_handle, debugstr_a(group));
sz = max( 2 * size, sizeof(*servicesW) );
if (!(servicesW = heap_alloc( sz )))
if (!(servicesW = malloc( sz )))
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
return FALSE;
@ -237,10 +237,10 @@ EnumServicesStatusExA( SC_HANDLE hmngr, SC_ENUM_TYPE level, DWORD type, DWORD st
if (group)
{
int len = MultiByteToWideChar( CP_ACP, 0, group, -1, NULL, 0 );
if (!(groupW = heap_alloc( len * sizeof(WCHAR) )))
if (!(groupW = malloc( len * sizeof(WCHAR) )))
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
heap_free( servicesW );
free( servicesW );
return FALSE;
}
MultiByteToWideChar( CP_ACP, 0, group, -1, groupW, len * sizeof(WCHAR) );
@ -275,8 +275,8 @@ EnumServicesStatusExA( SC_HANDLE hmngr, SC_ENUM_TYPE level, DWORD type, DWORD st
ret = TRUE;
done:
heap_free( servicesW );
heap_free( groupW );
free( servicesW );
free( groupW );
return ret;
}
@ -295,7 +295,7 @@ BOOL WINAPI GetServiceKeyNameA( SC_HANDLE hSCManager, LPCSTR lpDisplayName,
lpDisplayNameW = strdupAW(lpDisplayName);
if (lpServiceName)
lpServiceNameW = heap_alloc(*lpcchBuffer * sizeof(WCHAR));
lpServiceNameW = malloc(*lpcchBuffer * sizeof(WCHAR));
else
lpServiceNameW = NULL;
@ -321,8 +321,8 @@ BOOL WINAPI GetServiceKeyNameA( SC_HANDLE hSCManager, LPCSTR lpDisplayName,
ret = TRUE;
cleanup:
heap_free(lpServiceNameW);
heap_free(lpDisplayNameW);
free(lpServiceNameW);
free(lpDisplayNameW);
return ret;
}
@ -365,7 +365,7 @@ BOOL WINAPI GetServiceDisplayNameA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
lpServiceNameW = strdupAW(lpServiceName);
if (lpDisplayName)
lpDisplayNameW = heap_alloc(*lpcchBuffer * sizeof(WCHAR));
lpDisplayNameW = malloc(*lpcchBuffer * sizeof(WCHAR));
else
lpDisplayNameW = NULL;
@ -392,8 +392,8 @@ BOOL WINAPI GetServiceDisplayNameA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
ret = TRUE;
cleanup:
heap_free(lpDisplayNameW);
heap_free(lpServiceNameW);
free(lpDisplayNameW);
free(lpServiceNameW);
return ret;
}

View file

@ -1,7 +1,7 @@
TESTDLL = advapi32.dll
IMPORTS = ole32 advapi32
IMPORTS = advapi32 user32
C_SRCS = \
SOURCES = \
cred.c \
crypt.c \
crypt_lmhash.c \
@ -12,7 +12,6 @@ C_SRCS = \
lsa.c \
perf.c \
registry.c \
rsrc.rc \
security.c \
service.c
RC_SRCS = rsrc.rc

View file

@ -1260,10 +1260,10 @@ static void test_container_sd(void)
ok(err == ERROR_INSUFFICIENT_BUFFER || broken(err == ERROR_INVALID_PARAMETER), "got %lu\n", err);
ok(len, "expected len > 0\n");
sd = HeapAlloc(GetProcessHeap(), 0, len);
sd = malloc(len);
ret = CryptGetProvParam(prov, PP_KEYSET_SEC_DESCR, (BYTE *)sd, &len, OWNER_SECURITY_INFORMATION);
ok(ret, "got %lu\n", GetLastError());
HeapFree(GetProcessHeap(), 0, sd);
free(sd);
ret = CryptReleaseContext(prov, 0);
ok(ret, "got %lu\n", GetLastError());

View file

@ -30,6 +30,7 @@
#include "wmistr.h"
#include "evntprov.h"
#include "evntrace.h"
#include "netevent.h"
#include "wine/test.h"
@ -103,24 +104,24 @@ static void test_open_close(void)
SetLastError(0xdeadbeef);
handle = OpenEventLogA(NULL, NULL);
ok(handle == NULL, "Didn't expect a handle\n");
ok(handle == NULL, "OpenEventLogA() succeeded\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
SetLastError(0xdeadbeef);
handle = OpenEventLogA("IDontExist", NULL);
ok(handle == NULL, "Didn't expect a handle\n");
ok(handle == NULL, "OpenEventLogA(IDontExist,) succeeded\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
SetLastError(0xdeadbeef);
handle = OpenEventLogA("IDontExist", "deadbeef");
ok(handle == NULL, "Didn't expect a handle\n");
ok(handle == NULL, "OpenEventLogA(IDontExist,deadbeef) succeeded\n");
ok(GetLastError() == RPC_S_SERVER_UNAVAILABLE ||
GetLastError() == RPC_S_INVALID_NET_ADDR, /* Some Vista and Win7 */
"Expected RPC_S_SERVER_UNAVAILABLE, got %ld\n", GetLastError());
/* This one opens the Application log */
handle = OpenEventLogA(NULL, "deadbeef");
ok(handle != NULL, "Expected a handle : %ld\n", GetLastError());
ok(handle != NULL, "OpenEventLogA(deadbeef) failed : %ld\n", GetLastError());
ret = CloseEventLog(handle);
ok(ret, "Expected success : %ld\n", GetLastError());
/* Close a second time */
@ -134,11 +135,11 @@ static void test_open_close(void)
/* Empty servername should be read as local server */
handle = OpenEventLogA("", "Application");
ok(handle != NULL, "Expected a handle : %ld\n", GetLastError());
ok(handle != NULL, "OpenEventLogA('',Application) failed : %ld\n", GetLastError());
CloseEventLog(handle);
handle = OpenEventLogA(NULL, "Application");
ok(handle != NULL, "Expected a handle : %ld\n", GetLastError());
ok(handle != NULL, "OpenEventLogA(Application) failed : %ld\n", GetLastError());
CloseEventLog(handle);
}
@ -444,14 +445,14 @@ static void test_read(void)
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
buf = malloc(sizeof(EVENTLOGRECORD));
SetLastError(0xdeadbeef);
ret = ReadEventLogA(NULL, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
0, buf, sizeof(EVENTLOGRECORD), &read, &needed);
ok(!ret, "Expected failure\n");
todo_wine
ok(GetLastError() == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError());
HeapFree(GetProcessHeap(), 0, buf);
free(buf);
handle = OpenEventLogA(NULL, "Application");
if (!handle && (GetLastError() == ERROR_ACCESS_DENIED || GetLastError() == RPC_S_SERVER_UNAVAILABLE))
@ -462,7 +463,7 @@ static void test_read(void)
ok(handle != NULL, "OpenEventLogA(Application) failed : %ld\n", GetLastError());
/* Show that we need the proper dwFlags with a (for the rest) proper call */
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
buf = malloc(sizeof(EVENTLOGRECORD));
SetLastError(0xdeadbeef);
ret = ReadEventLogA(handle, 0, 0, buf, sizeof(EVENTLOGRECORD), &read, &needed);
@ -503,7 +504,7 @@ static void test_read(void)
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
HeapFree(GetProcessHeap(), 0, buf);
free(buf);
/* First check if there are any records (in practice only on Wine: FIXME) */
count = 0;
@ -516,7 +517,7 @@ static void test_read(void)
}
/* Get the buffer size for the first record */
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
buf = malloc(sizeof(EVENTLOGRECORD));
read = needed = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
@ -528,7 +529,7 @@ static void test_read(void)
/* Read the first record */
toread = needed;
buf = HeapReAlloc(GetProcessHeap(), 0, buf, toread);
buf = realloc(buf, toread);
read = needed = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, buf, toread, &read, &needed);
@ -537,7 +538,7 @@ static void test_read(void)
broken(read < toread), /* NT4 wants a buffer size way bigger than just 1 record */
"Expected the requested size to be read\n");
ok(needed == 0, "Expected no extra bytes to be read\n");
HeapFree(GetProcessHeap(), 0, buf);
free(buf);
CloseEventLog(handle);
}
@ -779,11 +780,12 @@ static void test_readwrite(void)
DWORD i;
char *localcomputer = NULL;
DWORD size;
void* buf;
if (pCreateWellKnownSid)
{
sidsize = SECURITY_MAX_SID_SIZE;
user = HeapAlloc(GetProcessHeap(), 0, sidsize);
user = malloc(sidsize);
SetLastError(0xdeadbeef);
pCreateWellKnownSid(WinInteractiveSid, NULL, user, &sidsize);
sidavailable = TRUE;
@ -816,6 +818,7 @@ static void test_readwrite(void)
Sleep(2000);
handle = OpenEventLogA(NULL, eventlogname);
ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
count = 0xdeadbeef;
GetNumberOfEventLogRecords(handle, &count);
if (count != 0)
@ -843,12 +846,12 @@ static void test_readwrite(void)
ok(ret, "Expected success : %ld\n", GetLastError());
/* Needed to catch earlier Vista (with no ServicePack for example) */
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
buf = malloc(sizeof(EVENTLOGRECORD));
if (!(ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
0, buf, sizeof(EVENTLOGRECORD), &read, &needed)) &&
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
buf = HeapReAlloc(GetProcessHeap(), 0, buf, needed);
buf = realloc(buf, needed);
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
0, buf, needed, &read, &needed);
}
@ -862,7 +865,7 @@ static void test_readwrite(void)
if (record->EventType == EVENTLOG_SUCCESS)
on_vista = TRUE;
}
HeapFree(GetProcessHeap(), 0, buf);
free(buf);
}
/* This will clear the eventlog. The record numbering for new
@ -880,6 +883,8 @@ static void test_readwrite(void)
DWORD oldest;
BOOL run_sidtests = read_write[i].evt_sid & sidavailable;
winetest_push_context("%lu:%s", i, read_write[i].evt_src);
/* We don't need to use RegisterEventSource to report events */
if (i % 2)
handle = OpenEventLogA(NULL, read_write[i].evt_src);
@ -916,9 +921,11 @@ static void test_readwrite(void)
else
ret = DeregisterEventSource(handle);
ok(ret, "Expected success : %ld\n", GetLastError());
winetest_pop_context();
}
handle = OpenEventLogA(NULL, eventlogname);
ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
count = 0xdeadbeef;
ret = GetNumberOfEventLogRecords(handle, &count);
ok(ret, "Expected success : %ld\n", GetLastError());
@ -942,23 +949,24 @@ static void test_readwrite(void)
size = 0;
SetLastError(0xdeadbeef);
pGetComputerNameExA(ComputerNameDnsFullyQualified, NULL, &size);
localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
localcomputer = malloc(size);
pGetComputerNameExA(ComputerNameDnsFullyQualified, localcomputer, &size);
}
else
{
size = MAX_COMPUTERNAME_LENGTH + 1;
localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
localcomputer = malloc(size);
GetComputerNameA(localcomputer, &size);
}
/* Read all events from our created eventlog, one by one */
handle = OpenEventLogA(NULL, eventlogname);
ok(handle != NULL, "Failed to open Event Log, got %ld\n", GetLastError());
ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
i = 0;
size = sizeof(EVENTLOGRECORD) + 128;
buf = malloc(size);
for (;;)
{
void *buf;
DWORD read, needed;
EVENTLOGRECORD *record;
char *sourcename, *computername;
@ -966,23 +974,33 @@ static void test_readwrite(void)
char *ptr;
BOOL run_sidtests = read_write[i].evt_sid & sidavailable;
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
winetest_push_context("%lu", i);
SetLastError(0xdeadbeef);
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
0, buf, sizeof(EVENTLOGRECORD), &read, &needed);
ok(!ret, "Expected failure\n");
if (!ret && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
HeapFree(GetProcessHeap(), 0, buf);
ok(GetLastError() == ERROR_HANDLE_EOF, "record %ld, got %ld\n", i, GetLastError());
winetest_pop_context();
break;
}
buf = HeapReAlloc(GetProcessHeap(), 0, buf, needed);
if (needed > size)
{
free(buf);
size = needed;
buf = malloc(size);
}
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
0, buf, needed, &read, &needed);
ok(ret, "Expected success: %ld\n", GetLastError());
if (!ret)
{
winetest_pop_context();
break;
}
record = (EVENTLOGRECORD *)buf;
ok(record->Length == read,
@ -1048,14 +1066,15 @@ static void test_readwrite(void)
ok(record->Length == *(DWORD *)((BYTE *)buf + record->Length - sizeof(DWORD)),
"Expected the closing DWORD to contain the length of the record\n");
HeapFree(GetProcessHeap(), 0, buf);
winetest_pop_context();
i++;
}
free(buf);
CloseEventLog(handle);
/* Test clearing a real eventlog */
handle = OpenEventLogA(NULL, eventlogname);
ok(handle != NULL, "Failed to open Event Log, got %ld\n", GetLastError());
ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
SetLastError(0xdeadbeef);
ret = ClearEventLogA(handle, NULL);
@ -1069,8 +1088,8 @@ static void test_readwrite(void)
CloseEventLog(handle);
cleanup:
HeapFree(GetProcessHeap(), 0, localcomputer);
HeapFree(GetProcessHeap(), 0, user);
free(localcomputer);
free(user);
}
/* Before Vista:
@ -1137,24 +1156,10 @@ static void test_autocreation(void)
/* On Windows we also automatically get an eventlog file */
GetSystemDirectoryA(sysdir, sizeof(sysdir));
/* NT4 - W2K3 */
lstrcpyA(eventlogfile, sysdir);
lstrcatA(eventlogfile, "\\config\\");
lstrcatA(eventlogfile, "\\winevt\\Logs\\");
lstrcatA(eventlogfile, eventlogname);
lstrcatA(eventlogfile, ".evt");
if (GetFileAttributesA(eventlogfile) == INVALID_FILE_ATTRIBUTES)
{
/* Vista+ */
lstrcpyA(eventlogfile, sysdir);
lstrcatA(eventlogfile, "\\winevt\\Logs\\");
lstrcatA(eventlogfile, eventlogname);
lstrcatA(eventlogfile, ".evtx");
}
todo_wine
ok(GetFileAttributesA(eventlogfile) != INVALID_FILE_ATTRIBUTES,
"Expected an eventlog file\n");
lstrcatA(eventlogfile, ".evtx");
if (pWow64RevertWow64FsRedirection)
pWow64RevertWow64FsRedirection(redir);
@ -1235,7 +1240,7 @@ static void test_start_trace(void)
LONG ret;
buffersize = sizeof(EVENT_TRACE_PROPERTIES) + sizeof(sessionname) + sizeof(filepath);
properties = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, buffersize);
properties = calloc(1, buffersize);
properties->Wnode.BufferSize = buffersize;
properties->Wnode.Flags = WNODE_FLAG_TRACED_GUID;
properties->LogFileMode = EVENT_TRACE_FILE_MODE_NONE;
@ -1312,10 +1317,341 @@ static void test_start_trace(void)
/* clean up */
ControlTraceA(handle, sessionname, properties, EVENT_TRACE_CONTROL_STOP);
done:
HeapFree(GetProcessHeap(), 0, properties);
free(properties);
DeleteFileA(filepath);
}
static BOOL read_record(HANDLE handle, DWORD flags, DWORD offset, EVENTLOGRECORD **record, DWORD *size)
{
DWORD read, needed;
BOOL ret;
SetLastError(0xdeadbeef);
memset(*record, 0, *size);
needed = 0;
if (!(ret = ReadEventLogW(handle, flags, offset, *record, *size, &read, &needed)) &&
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
free(*record);
*record = malloc(needed);
SetLastError(0xdeadbeef);
memset(*record, 0, needed);
*size = needed;
ret = ReadEventLogW(handle, flags, offset, *record, *size, &read, &needed);
}
return ret;
}
static void test_eventlog_start(void)
{
BOOL ret, found;
HANDLE handle, handle2;
EVENTLOGRECORD *record, *record2;
DWORD size, size2, count, count2, read, needed;
WCHAR *sourcename, *computername, *localcomputer;
char *sourcenameA, *computernameA, *localcomputerA;
/* ReadEventLogW */
handle = OpenEventLogW(0, L"System");
if (!handle && (GetLastError() == ERROR_ACCESS_DENIED || GetLastError() == RPC_S_SERVER_UNAVAILABLE))
{
win_skip( "Can't open System event log\n" );
return;
}
ok(handle != NULL, "OpenEventLogW(System) failed : %ld\n", GetLastError());
handle2 = OpenEventLogW(0, L"System");
todo_wine ok(handle != handle2, "Expected different handle\n");
CloseEventLog(handle2);
handle2 = OpenEventLogW(0, L"SYSTEM");
ok(!!handle2, "Expected valid handle\n");
CloseEventLog(handle2);
size = MAX_COMPUTERNAME_LENGTH + 1;
localcomputer = malloc(size * sizeof(WCHAR));
GetComputerNameW(localcomputer, &size);
ret = TRUE;
found = FALSE;
while (!found && ret)
{
read = needed = 0;
record = malloc(sizeof(EVENTLOGRECORD));
if (!(ret = ReadEventLogW(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ,
0, record, sizeof(EVENTLOGRECORD), &read, &needed)) &&
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
record = realloc(record, needed);
ret = ReadEventLogW(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ,
0, record, needed, &read, &needed);
ok(needed == 0, "Expected 0, got %ld\n", needed);
}
if (ret && record->EventID == EVENT_EventlogStarted)
{
ok(record->Length == read, "Expected %ld, got %ld\n", read, record->Length);
ok(record->Reserved == 0x654c664c, "Expected 0x654c664c, got %ld\n", record->Reserved);
ok(record->RecordNumber > 0, "Expected 1 or higher, got %ld\n", record->RecordNumber);
ok(record->TimeGenerated == record->TimeWritten, "Expected time values to be the same\n");
ok(record->EventType == EVENTLOG_INFORMATION_TYPE,
"Expected %d, got %d\n", EVENTLOG_INFORMATION_TYPE, record->EventType);
ok(record->NumStrings == 0, "Expected 0, got %d\n", record->NumStrings);
ok(record->EventCategory == 0, "Expected 0, got %d\n", record->EventCategory);
ok(record->ReservedFlags == 0, "Expected 0, got %d\n", record->ReservedFlags);
ok(record->ClosingRecordNumber == 0, "Expected 0, got %ld\n", record->ClosingRecordNumber);
ok(record->StringOffset == record->UserSidOffset, "Expected offsets to be the same\n");
ok(record->UserSidLength == 0, "Expected 0, got %ld\n", record->UserSidLength);
ok(record->DataLength == 24, "Expected 24, got %ld\n", record->DataLength);
ok(record->DataOffset == record->UserSidOffset, "Expected offsets to be the same\n");
sourcename = (WCHAR *)(record + 1);
ok(!lstrcmpW(sourcename, L"EventLog"),
"Expected 'EventLog', got '%ls'\n", sourcename);
computername = sourcename + sizeof("EventLog");
ok(!lstrcmpiW(computername, localcomputer), "Expected '%ls', got '%ls'\n",
localcomputer, computername);
size = sizeof(EVENTLOGRECORD) + sizeof(L"EventLog") +
(lstrlenW(computername) + 1) * sizeof(WCHAR);
size = (size + 7) & ~7;
ok(record->DataOffset == size ||
broken(record->DataOffset == size - sizeof(WCHAR)), /* win8 */
"Expected %ld, got %ld\n", size, record->DataOffset);
found = TRUE;
}
free(record);
}
todo_wine ok(found, "EventlogStarted event not found\n");
CloseEventLog(handle);
free(localcomputer);
/* ReadEventLogA */
size = MAX_COMPUTERNAME_LENGTH + 1;
localcomputerA = malloc(size);
GetComputerNameA(localcomputerA, &size);
handle = OpenEventLogA(0, "System");
handle2 = OpenEventLogA(0, "SYSTEM");
todo_wine ok(handle != handle2, "Expected different handle\n");
CloseEventLog(handle2);
ret = TRUE;
found = FALSE;
while (!found && ret)
{
read = needed = 0;
record = malloc(sizeof(EVENTLOGRECORD));
if (!(ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ,
0, record, sizeof(EVENTLOGRECORD), &read, &needed)) &&
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
record = realloc(record, needed);
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ,
0, record, needed, &read, &needed);
ok(needed == 0, "Expected 0, got %ld\n", needed);
}
if (ret && record->EventID == EVENT_EventlogStarted)
{
ok(record->Length == read, "Expected %ld, got %ld\n", read, record->Length);
ok(record->Reserved == 0x654c664c, "Expected 0x654c664c, got %ld\n", record->Reserved);
ok(record->RecordNumber > 0, "Expected 1 or higher, got %ld\n", record->RecordNumber);
ok(record->TimeGenerated == record->TimeWritten, "Expected time values to be the same\n");
ok(record->EventType == EVENTLOG_INFORMATION_TYPE,
"Expected %d, got %d\n", EVENTLOG_INFORMATION_TYPE, record->EventType);
ok(record->NumStrings == 0, "Expected 0, got %d\n", record->NumStrings);
ok(record->EventCategory == 0, "Expected 0, got %d\n", record->EventCategory);
ok(record->ReservedFlags == 0, "Expected 0, got %d\n", record->ReservedFlags);
ok(record->ClosingRecordNumber == 0, "Expected 0, got %ld\n", record->ClosingRecordNumber);
ok(record->StringOffset == record->UserSidOffset, "Expected offsets to be the same\n");
ok(record->UserSidLength == 0, "Expected 0, got %ld\n", record->UserSidLength);
ok(record->DataLength == 24, "Expected 24, got %ld\n", record->DataLength);
ok(record->DataOffset == record->UserSidOffset, "Expected offsets to be the same\n");
sourcenameA = (char *)(record + 1);
ok(!strcmp(sourcenameA, "EventLog"),
"Expected 'EventLog', got '%s'\n", sourcenameA);
computernameA = sourcenameA + sizeof("EventLog");
ok(!_stricmp(computernameA, localcomputerA), "Expected '%s', got '%s'\n",
localcomputerA, computernameA);
size = sizeof(EVENTLOGRECORD) + sizeof("EventLog") + strlen(computernameA) + 1;
size = (size + 7) & ~7;
ok(record->DataOffset == size ||
broken(record->DataOffset == size - 1), /* win8 */
"Expected %ld, got %ld\n", size, record->DataOffset);
found = TRUE;
}
free(record);
}
todo_wine ok(found, "EventlogStarted event not found\n");
CloseEventLog(handle);
free(localcomputerA);
/* SEQUENTIAL | FORWARDS - dwRecordOffset is ignored */
handle = OpenEventLogW(0, L"System");
size = sizeof(EVENTLOGRECORD) + 128;
record = malloc(size);
todo_wine {
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 100, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 1, "Expected 1, got %lu\n", record->RecordNumber);
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 200, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 2, "Expected 2, got %lu\n", record->RecordNumber);
/* change direction sequentially */
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ, 300, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 2, "Expected 2, got %lu\n", record->RecordNumber);
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ, 400, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 1, "Expected 1, got %lu\n", record->RecordNumber);
}
/* changing how is an error */
SetLastError(0xdeadbeef);
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 0, &record, &size);
ok(!ret, "Expected failure\n");
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
CloseEventLog(handle);
/* SEQUENTIAL | BACKWARDS - dwRecordOffset is ignored */
handle = OpenEventLogW(0, L"System");
count = 0xdeadbeef;
ret = GetNumberOfEventLogRecords(handle, &count);
ok(ret, "Expected success : %ld\n", GetLastError());
todo_wine
ok(count, "Zero records in log\n");
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ, 100, &record, &size);
todo_wine
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == count, "Expected %lu, got %lu\n", count, record->RecordNumber);
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ, 100, &record, &size);
todo_wine {
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == count - 1, "Expected %lu, got %lu\n", count - 1, record->RecordNumber);
}
CloseEventLog(handle);
handle = OpenEventLogW(0, L"System");
/* SEEK | FORWARDS */
/* bogus offset */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, 0, &record, &size);
ok(!ret, "Expected failure\n");
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
count = 0xdeadbeef;
ret = GetNumberOfEventLogRecords(handle, &count);
ok(ret, "Expected success : %ld\n", GetLastError());
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, count + 1, &record, &size);
ok(!ret, "Expected failure\n");
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
todo_wine {
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, 2, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 2, "Expected 2, got %lu\n", record->RecordNumber);
/* skip one */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, 4, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 4, "Expected 4, got %lu\n", record->RecordNumber);
/* seek an earlier one */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, 3, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 3, "Expected 3, got %lu\n", record->RecordNumber);
/* change how */
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 100, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 4 || broken(record->RecordNumber == 5) /* some win10 22h2 */,
"Expected 4, got %lu\n", record->RecordNumber);
/* change direction */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 10, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 10, "Expected 10, got %lu\n", record->RecordNumber);
}
CloseEventLog(handle);
/* SEEK | BACKWARDS */
handle = OpenEventLogW(0, L"system");
/* bogus offset */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 0, &record, &size);
ok(!ret, "Expected failure\n");
todo_wine
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
todo_wine {
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 5, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 5, "Expected 5, got %lu\n", record->RecordNumber);
/* skip one */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 3, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 3, "Expected 3, got %lu\n", record->RecordNumber);
/* seek a later one */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_BACKWARDS_READ, 4, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 4, "Expected 4, got %lu\n", record->RecordNumber);
/* change how */
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ, 100, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 3 || broken(record->RecordNumber == 2) /* some win10 22h2 */,
"Expected 3, got %lu\n", record->RecordNumber);
/* change direction */
ret = read_record(handle, EVENTLOG_SEEK_READ | EVENTLOG_FORWARDS_READ, 10, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 10, "Expected 10, got %lu\n", record->RecordNumber);
}
CloseEventLog(handle);
/* reading same log with different handles */
handle = OpenEventLogW(0, L"System");
handle2 = OpenEventLogW(0, L"SYSTEM");
todo_wine {
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 1, "Expected 1, got %lu\n", record->RecordNumber);
ret = read_record(handle2, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(record->RecordNumber == 1, "Expected 1, got %lu\n", record->RecordNumber);
}
CloseEventLog(handle2);
CloseEventLog(handle);
/* using source name */
size2 = size;
record2 = malloc(size2);
handle = OpenEventLogW(0, L"System");
handle2 = OpenEventLogW(0, L"EventLog");
todo_wine {
ret = read_record(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, &record, &size);
ok(ret, "Expected success : %ld\n", GetLastError());
ret = read_record(handle2, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, &record2, &size2);
ok(ret, "Expected success : %ld\n", GetLastError());
}
ok(size == size2, "Expected %lu, got %lu\n", size, size2);
ok(!memcmp(record, record2, min(size, size2)), "Records miscompare\n");
count = 0xdeadbeef;
count2 = 0xdeadbeef;
ret = GetNumberOfEventLogRecords(handle, &count);
ok(ret, "Expected success : %ld\n", GetLastError());
ret = GetNumberOfEventLogRecords(handle2, &count2);
ok(ret, "Expected success : %ld\n", GetLastError());
ok(count == count2, "Expected %lu, got %lu\n", count, count2);
CloseEventLog(handle2);
CloseEventLog(handle);
free(record2);
free(record);
}
START_TEST(eventlog)
{
SetLastError(0xdeadbeef);
@ -1349,4 +1685,6 @@ START_TEST(eventlog)
/* Trace tests */
test_start_trace();
test_eventlog_start();
}

View file

@ -119,15 +119,8 @@ static void test_lsa(void)
LPSTR name = NULL;
LPSTR domain = NULL;
LPSTR forest = NULL;
LPSTR guidstr = NULL;
WCHAR guidstrW[64];
UINT len;
guidstrW[0] = '\0';
ConvertSidToStringSidA(dns_domain_info->Sid, &strsid);
StringFromGUID2(&dns_domain_info->DomainGuid, guidstrW, ARRAY_SIZE(guidstrW));
len = WideCharToMultiByte( CP_ACP, 0, guidstrW, -1, NULL, 0, NULL, NULL );
guidstr = LocalAlloc( 0, len );
WideCharToMultiByte( CP_ACP, 0, guidstrW, -1, guidstr, len, NULL, NULL );
if (dns_domain_info->Name.Buffer) {
len = WideCharToMultiByte( CP_ACP, 0, dns_domain_info->Name.Buffer, -1, NULL, 0, NULL, NULL );
name = LocalAlloc( 0, len );
@ -144,12 +137,11 @@ static void test_lsa(void)
WideCharToMultiByte( CP_ACP, 0, dns_domain_info->DnsForestName.Buffer, -1, forest, len, NULL, NULL );
}
trace(" name: %s domain: %s forest: %s guid: %s sid: %s\n",
name ? name : "NULL", domain ? domain : "NULL",
forest ? forest : "NULL", guidstr, strsid ? strsid : "NULL");
debugstr_a(name), debugstr_a(domain), debugstr_a(forest),
debugstr_guid(&dns_domain_info->DomainGuid), debugstr_a(strsid));
LocalFree( name );
LocalFree( forest );
LocalFree( domain );
LocalFree( guidstr );
LocalFree( strsid );
}
else
@ -251,15 +243,15 @@ static void test_LsaLookupNames2(void)
return;
}
name[0].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n1));
name[0].Buffer = malloc(sizeof(n1));
name[0].Length = name[0].MaximumLength = sizeof(n1);
memcpy(name[0].Buffer, n1, sizeof(n1));
name[1].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n1));
name[1].Buffer = malloc(sizeof(n1));
name[1].Length = name[1].MaximumLength = sizeof(n1) - sizeof(WCHAR);
memcpy(name[1].Buffer, n1, sizeof(n1) - sizeof(WCHAR));
name[2].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n2));
name[2].Buffer = malloc(sizeof(n2));
name[2].Length = name[2].MaximumLength = sizeof(n2);
memcpy(name[2].Buffer, n2, sizeof(n2));
@ -315,9 +307,9 @@ static void test_LsaLookupNames2(void)
LsaFreeMemory(sids);
LsaFreeMemory(domains);
HeapFree(GetProcessHeap(), 0, name[0].Buffer);
HeapFree(GetProcessHeap(), 0, name[1].Buffer);
HeapFree(GetProcessHeap(), 0, name[2].Buffer);
free(name[0].Buffer);
free(name[1].Buffer);
free(name[2].Buffer);
status = LsaClose(handle);
ok(status == STATUS_SUCCESS, "LsaClose() failed, returned 0x%08lx\n", status);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1000,14 +1000,14 @@ static void test_query_svc(void)
}
/* Pass a correct buffer and buffersize but a NULL handle */
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
bufsize = needed;
SetLastError(0xdeadbeef);
ret = pQueryServiceStatusEx(NULL, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_INVALID_HANDLE,
"Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError());
HeapFree(GetProcessHeap(), 0, statusproc);
free(statusproc);
/* Correct handle and info level */
SetLastError(0xdeadbeef);
@ -1023,21 +1023,21 @@ static void test_query_svc(void)
}
/* All parameters are OK but we don't have enough rights */
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
bufsize = sizeof(SERVICE_STATUS_PROCESS);
SetLastError(0xdeadbeef);
ret = pQueryServiceStatusEx(svc_handle, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_ACCESS_DENIED,
"Expected ERROR_ACCESS_DENIED, got %ld\n", GetLastError());
HeapFree(GetProcessHeap(), 0, statusproc);
free(statusproc);
/* Open the service with just enough rights. */
CloseServiceHandle(svc_handle);
svc_handle = OpenServiceA(scm_handle, spooler, SERVICE_QUERY_STATUS);
/* Everything should be fine now. */
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
bufsize = sizeof(SERVICE_STATUS_PROCESS);
SetLastError(0xdeadbeef);
ret = pQueryServiceStatusEx(svc_handle, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
@ -1056,23 +1056,22 @@ static void test_query_svc(void)
ok(broken(GetLastError() == ERROR_INVALID_PARAMETER) /* NT4 */ ||
GetLastError() == ERROR_INVALID_ADDRESS, "got %ld\n", GetLastError());
HeapFree(GetProcessHeap(), 0, statusproc);
free(statusproc);
CloseServiceHandle(svc_handle);
CloseServiceHandle(scm_handle);
}
static void test_enum_svc(void)
static BOOL test_enum_svc(int attempt)
{
SC_HANDLE scm_handle;
BOOL ret;
BOOL ret, alldone = FALSE;
DWORD bufsize, needed, returned, resume;
DWORD neededW, returnedW;
DWORD neededA, returnedA;
DWORD tempneeded, tempreturned, missing;
DWORD servicecountactive, servicecountinactive;
ENUM_SERVICE_STATUSA *services;
ENUM_SERVICE_STATUSW *servicesW;
ENUM_SERVICE_STATUS_PROCESSA *exservices;
ENUM_SERVICE_STATUSA *servicesA;
ENUM_SERVICE_STATUSW *services;
UINT i;
/* All NULL or wrong */
@ -1233,7 +1232,7 @@ static void test_enum_svc(void)
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL);
ok(!ret, "Expected failure\n");
ok(needed == 0 || broken(needed != 0), /* nt4 */
"Expected needed buffer size to be set to 0, got %ld\n", needed);
@ -1250,81 +1249,110 @@ static void test_enum_svc(void)
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL);
ok(!ret, "Expected failure\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
ok(returned == 0, "Expected no service returned, got %ld\n", returned);
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Test to show we get the same needed buffer size for the W-call */
neededW = 0xdeadbeef;
returnedW = 0xdeadbeef;
/* Test to show we get the same needed buffer size for the A-call */
neededA = 0xdeadbeef;
returnedA = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &neededW, &returnedW, NULL);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0, &neededA, &returnedA, NULL);
ok(!ret, "Expected failure\n");
ok(neededW != 0xdeadbeef && neededW > 0, "Expected the needed buffer size for this one service\n");
ok(neededW == needed, "Expected needed buffersize to be the same for A- and W-calls\n");
ok(returnedW == 0, "Expected no service returned, got %ld\n", returnedW);
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
ok(neededA != 0xdeadbeef && neededA > 0, "Expected the needed buffer size for this one service\n");
ok(returnedA == 0, "Expected no service returned, got %ld\n", returnedA);
if (neededA != needed && attempt)
goto retry; /* service start|stop race condition */
ok(neededA == needed, "Expected needed buffersize to be the same for A- and W-calls\n");
/* Store the needed bytes */
tempneeded = needed;
/* Allocate the correct needed bytes */
services = HeapAlloc(GetProcessHeap(), 0, needed);
services = malloc(needed);
bufsize = needed;
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, bufsize, &needed, &returned, NULL);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returned != 0xdeadbeef && returned > 0, "Expected some returned services\n");
HeapFree(GetProcessHeap(), 0, services);
/* Store the number of returned services */
tempreturned = returned;
servicesW = HeapAlloc(GetProcessHeap(), 0, neededW);
bufsize = neededW;
neededW = 0xdeadbeef;
returnedW = 0xdeadbeef;
servicesA = malloc(neededA);
bufsize = neededA;
neededA = 0xdeadbeef;
returnedA = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
servicesW, bufsize, &neededW, &returnedW, NULL);
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(neededW == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returnedW != 0xdeadbeef && returnedW > 0, "Expected some returned services\n");
HeapFree(GetProcessHeap(), 0, servicesW);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
servicesA, bufsize, &neededA, &returnedA, NULL);
free(servicesA);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
if (!ret && GetLastError() == ERROR_NOT_ENOUGH_MEMORY && GetACP() == CP_UTF8)
win_skip("Skipping some tests due to EnumServicesStatusA()'s broken UTF-8 support\n");
else
{
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(neededA == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returnedA != 0xdeadbeef && returnedA > 0, "Expected some returned services\n");
}
/* Allocate less than the needed bytes and don't specify a resume handle */
services = HeapAlloc(GetProcessHeap(), 0, tempneeded);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSA);
/* Allocate less than the needed bytes and don't specify a resume handle.
* More than one service will be missing because of the space needed for
* the strings.
*/
services = malloc(tempneeded);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, bufsize, &needed, &returned, NULL);
if (ret && needed == 0 && attempt)
{
free(services);
goto retry; /* service stop race condition */
}
ok(!ret, "Expected failure\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
todo_wine ok(needed < tempneeded, "Expected a smaller needed buffer size for the missing services\n");
/* Experiments show bufsize + needed < tempneeded which proves the needed
* buffer size is an approximation. So it's best not to probe more.
*/
ok(returned < tempreturned, "Expected fewer services to be returned\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Allocate less than the needed bytes, this time with a correct resume handle */
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSA);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
needed = 0xdeadbeef;
returned = 0xdeadbeef;
resume = 0;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, bufsize, &needed, &returned, &resume);
if (ret && needed == 0 && attempt)
{
free(services);
goto retry; /* service stop race condition */
}
ok(!ret, "Expected failure\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
ok(returned < tempreturned, "Expected fewer services to be returned\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for the missing services, got %lx\n", needed);
todo_wine ok(needed < tempneeded, "Expected < %lu bytes needed for the remaining services, got %lu\n", tempneeded, needed);
ok(returned < tempreturned, "Expected < %lu remaining services, got %lu\n", tempreturned, returned);
todo_wine ok(resume, "Expected a resume handle\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
@ -1335,13 +1363,17 @@ static void test_enum_svc(void)
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, bufsize, &needed, &returned, &resume);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
todo_wine ok(returned == missing, "Expected %lu services to be returned\n", missing);
ok(needed == 0, "Expected 0 needed bytes as we are done, got %lu\n", needed);
if (returned < missing && strcmp(winetest_platform, "wine") && attempt)
goto retry; /* service stop race condition */
todo_wine ok(returned == missing, "Expected %lu remaining services, got %lu\n", missing, returned);
ok(resume == 0, "Expected the resume handle to be 0\n");
HeapFree(GetProcessHeap(), 0, services);
/* See if things add up */
@ -1356,47 +1388,59 @@ static void test_enum_svc(void)
*/
/* Get the number of active win32 services */
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE, NULL, 0,
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE, NULL, 0,
&needed, &returned, NULL);
services = HeapAlloc(GetProcessHeap(), 0, needed);
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE, services,
needed, &needed, &returned, NULL);
HeapFree(GetProcessHeap(), 0, services);
services = malloc(needed);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE,
services, needed, &needed, &returned, NULL);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
servicecountactive = returned;
/* Get the number of inactive win32 services */
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE, NULL, 0,
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE, NULL, 0,
&needed, &returned, NULL);
services = HeapAlloc(GetProcessHeap(), 0, needed);
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE, services,
needed, &needed, &returned, NULL);
HeapFree(GetProcessHeap(), 0, services);
services = malloc(needed);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE,
services, needed, &needed, &returned, NULL);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
servicecountinactive = returned;
/* Get the number of win32 services */
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0,
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0,
&needed, &returned, NULL);
services = HeapAlloc(GetProcessHeap(), 0, needed);
EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, services,
needed, &needed, &returned, NULL);
HeapFree(GetProcessHeap(), 0, services);
services = malloc(needed);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, needed, &needed, &returned, NULL);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
/* Check if total is the same as active and inactive win32 services */
ok(returned == (servicecountactive + servicecountinactive),
"Something wrong in the calculation\n");
if (returned != servicecountactive + servicecountinactive && attempt)
goto retry; /* service start|stop race condition */
ok(returned == servicecountactive + servicecountinactive,
"Expected service count %ld == %ld + %ld\n",
returned, servicecountactive, servicecountinactive);
/* Get all drivers and services
*
* Fetch the status of the last call as failing could make the following tests crash
* on Wine (we don't return anything yet).
*/
EnumServicesStatusA(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
EnumServicesStatusW(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL);
services = HeapAlloc(GetProcessHeap(), 0, needed);
ret = EnumServicesStatusA(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
services = malloc(needed);
ret = EnumServicesStatusW(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
services, needed, &needed, &returned, NULL);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success %lu\n", GetLastError());
/* Loop through all those returned drivers and services */
for (i = 0; ret && i < returned; i++)
@ -1412,24 +1456,63 @@ static void test_enum_svc(void)
*/
if (status.dwServiceType & (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS))
{
if (status.dwCurrentState == SERVICE_STOPPED)
servicecountinactive--;
else
switch (status.dwCurrentState)
{
case SERVICE_START_PENDING:
case SERVICE_STOP_PENDING:
case SERVICE_PAUSE_PENDING:
case SERVICE_PAUSED:
case SERVICE_CONTINUE_PENDING:
trace("Got state %lx for service %s\n", status.dwCurrentState,
wine_dbgstr_w(services[i].lpServiceName));
/* fall through */
case SERVICE_RUNNING:
servicecountactive--;
break;
case SERVICE_STOPPED:
servicecountinactive--;
break;
default:
ok(0, "Got unknown state %lx for service %s\n",
status.dwCurrentState, wine_dbgstr_w(services[i].lpServiceName));
break;
}
}
}
HeapFree(GetProcessHeap(), 0, services);
free(services);
if ((servicecountactive || servicecountinactive) && attempt)
goto retry; /* service start|stop race condition */
ok(servicecountactive == 0, "Active services mismatch %lu\n", servicecountactive);
ok(servicecountinactive == 0, "Inactive services mismatch %lu\n", servicecountinactive);
alldone = TRUE;
retry:
CloseServiceHandle(scm_handle);
return alldone;
}
static BOOL test_enum_svc_ex(int attempt)
{
SC_HANDLE scm_handle;
BOOL ret, alldone = FALSE;
DWORD bufsize, needed, returned, resume;
DWORD neededA, returnedA;
DWORD tempneeded, tempreturned, missing;
DWORD servicecountactive, servicecountinactive;
ENUM_SERVICE_STATUSW *services;
ENUM_SERVICE_STATUS_PROCESSW *exservices;
UINT i;
/* More or less the same for EnumServicesStatusExA */
if (!pEnumServicesStatusExA)
{
win_skip( "EnumServicesStatusExA not available\n" );
return;
return TRUE;
}
/* All NULL or wrong */
@ -1565,8 +1648,8 @@ static void test_enum_svc(void)
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL, "deadbeef_group");
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL, L"deadbeef_group");
ok(!ret, "Expected failure\n");
ok(returned == 0, "Expected number of service to be set to 0, got %ld\n", returned);
ok(needed == 0, "Expected needed buffer size to be set to 0, got %ld\n", needed);
@ -1581,7 +1664,7 @@ static void test_enum_svc(void)
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL, NULL);
ok(!ret, "Expected failure\n");
ok(returned == 0, "Expected no service returned, got %ld\n", returned);
@ -1589,116 +1672,176 @@ static void test_enum_svc(void)
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Test to show we get the same needed buffer size for the W-call */
neededW = 0xdeadbeef;
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &neededW, &returnedW, NULL, NULL);
/* Test to show we get the same needed buffer size for the A-call */
neededA = 0xdeadbeef;
returnedA = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &neededA, &returnedA, NULL, NULL);
ok(!ret, "Expected failure\n");
ok(neededW == needed, "Expected needed buffersize to be the same for A- and W-calls\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
ok(neededA != 0xdeadbeef && neededA > 0, "Expected the needed buffer size for this one service\n");
ok(returnedA == 0, "Expected no service returned, got %ld\n", returnedA);
if (neededA != needed && attempt)
goto retry; /* service start|stop race condition */
ok(neededA == needed, "Expected needed buffersize to be the same for A- and W-calls\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Store the needed bytes */
tempneeded = needed;
/* Allocate the correct needed bytes */
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
bufsize = needed;
needed = 0xdeadbeef;
/* Show the Ex call returns the same service count as the regular enum */
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL);
services = malloc(needed);
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, bufsize, &needed, &returned, NULL, NULL);
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
services, needed, &needed, &returned, NULL);
free(services);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returned == tempreturned, "Expected the same number of service from this function\n");
HeapFree(GetProcessHeap(), 0, exservices);
ok(returned != 0xdeadbeef && returned > 0, "Expected some returned services\n");
/* Store the number of returned services */
tempreturned = returned;
/* Allocate less than the needed bytes and don't specify a resume handle */
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSA);
/* Allocate the correct needed bytes */
exservices = malloc(tempneeded);
bufsize = tempneeded;
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, bufsize, &needed, &returned, NULL, NULL);
free(exservices);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returned == tempreturned, "Expected the same number of service from this function\n");
/* Store the number of returned services */
tempreturned = returned;
/* Allocate less than the needed bytes and don't specify a resume handle.
* More than one service will be missing because of the space needed for
* the strings.
*/
exservices = malloc(tempneeded);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, bufsize, &needed, &returned, NULL, NULL);
if (ret && needed == 0 && attempt)
{
free(exservices);
goto retry; /* service stop race condition */
}
ok(!ret, "Expected failure\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for the missing services\n");
todo_wine ok(needed < tempneeded, "Expected a smaller needed buffer size for the missing services\n");
/* Experiments show bufsize + needed < tempneeded which proves the needed
* buffer size is an approximation. So it's best not to probe more.
*/
ok(returned < tempreturned, "Expected fewer services to be returned\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Allocate less than the needed bytes, this time with a correct resume handle */
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSA);
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
needed = 0xdeadbeef;
returned = 0xdeadbeef;
resume = 0;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, bufsize, &needed, &returned, &resume, NULL);
if (ret && needed == 0 && attempt)
{
free(exservices);
goto retry; /* service stop race condition */
}
ok(!ret, "Expected failure\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for the missing services\n");
todo_wine ok(needed < tempneeded, "Expected a smaller needed buffer size for the missing services\n");
ok(returned < tempreturned, "Expected fewer services to be returned\n");
todo_wine ok(resume, "Expected a resume handle\n");
ok(GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %ld\n", GetLastError());
/* Fetch that last service but pass a bigger buffer size */
/* Fetch the missing services but pass a bigger buffer size */
missing = tempreturned - returned;
bufsize = tempneeded;
needed = 0xdeadbeef;
returned = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, bufsize, &needed, &returned, &resume, NULL);
free(exservices);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success, got error %lu\n", GetLastError());
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
ok(returned == missing, "Expected %lu services to be returned\n", missing);
ok(resume == 0, "Expected the resume handle to be 0\n");
HeapFree(GetProcessHeap(), 0, exservices);
/* See if things add up */
/* Get the number of active win32 services */
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
NULL, 0, &needed, &returned, NULL, NULL);
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
HeapFree(GetProcessHeap(), 0, exservices);
exservices = malloc(needed);
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
free(exservices);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
servicecountactive = returned;
/* Get the number of inactive win32 services */
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
NULL, 0, &needed, &returned, NULL, NULL);
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
HeapFree(GetProcessHeap(), 0, exservices);
exservices = malloc(needed);
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
free(exservices);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
servicecountinactive = returned;
/* Get the number of win32 services */
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
NULL, 0, &needed, &returned, NULL, NULL);
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
HeapFree(GetProcessHeap(), 0, exservices);
exservices = malloc(needed);
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
free(exservices);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
/* Check if total is the same as active and inactive win32 services */
ok(returned == (servicecountactive + servicecountinactive),
"Something wrong in the calculation\n");
if (returned != servicecountactive + servicecountinactive && attempt)
goto retry; /* service start|stop race condition */
ok(returned == servicecountactive + servicecountinactive,
"Expected service count %ld == %ld + %ld\n",
returned, servicecountactive, servicecountinactive);
/* Get all drivers and services */
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL, NULL);
ok(!ret, "Expected failure\n");
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
ret = pEnumServicesStatusExA(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
exservices = malloc(needed);
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
SERVICE_STATE_ALL, (BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
goto retry; /* service start race condition */
ok(ret, "Expected success %lu\n", GetLastError());
/* Loop through all those returned drivers and services */
@ -1723,30 +1866,60 @@ static void test_enum_svc(void)
if (status.dwServiceType & (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS))
{
if (status.dwCurrentState != SERVICE_STOPPED)
switch (status.dwCurrentState)
{
case SERVICE_START_PENDING:
case SERVICE_STOP_PENDING:
trace("Got state %lx (pid=%04lx) for service %s\n",
status.dwCurrentState, status.dwProcessId,
wine_dbgstr_w(exservices[i].lpServiceName));
/* There may or may not be a process id */
servicecountactive--;
break;
case SERVICE_PAUSE_PENDING:
case SERVICE_PAUSED:
case SERVICE_CONTINUE_PENDING:
trace("Got state %lx (pid=%04lx) for service %s\n",
status.dwCurrentState, status.dwProcessId,
wine_dbgstr_w(exservices[i].lpServiceName));
/* fall through */
case SERVICE_RUNNING:
/* We expect a process id for every running service */
ok(status.dwProcessId > 0, "Expected a process id for this running service (%s)\n",
exservices[i].lpServiceName);
wine_dbgstr_w(exservices[i].lpServiceName));
servicecountactive--;
}
else
{
break;
case SERVICE_STOPPED:
/* We shouldn't have a process id for inactive services */
ok(status.dwProcessId == 0, "Service %s state %lu shouldn't have an associated process id\n",
exservices[i].lpServiceName, status.dwCurrentState);
wine_dbgstr_w(exservices[i].lpServiceName), status.dwCurrentState);
servicecountinactive--;
break;
default:
ok(0, "Got unknown state %lx (pid=%04lx) for service %s\n",
status.dwCurrentState, status.dwProcessId,
wine_dbgstr_w(exservices[i].lpServiceName));
break;
}
}
}
HeapFree(GetProcessHeap(), 0, exservices);
free(exservices);
if ((servicecountactive || servicecountinactive) && attempt)
goto retry; /* service start|stop race condition */
ok(servicecountactive == 0, "Active services mismatch %lu\n", servicecountactive);
ok(servicecountinactive == 0, "Inactive services mismatch %lu\n", servicecountinactive);
alldone = TRUE;
retry:
CloseServiceHandle(scm_handle);
return alldone;
}
static void test_close(void)
@ -1981,7 +2154,7 @@ static void test_sequence(void)
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Expected ERROR_INSUFFICIENT_BUFFER, got %ld\n", GetLastError());
config = HeapAlloc(GetProcessHeap(), 0, needed);
config = malloc(needed);
given = needed;
SetLastError(0xdeadbeef);
ret = QueryServiceConfigA(svc_handle, config, given, &needed);
@ -2009,7 +2182,7 @@ static void test_sequence(void)
ok(ret, "ChangeServiceConfig failed (err=%ld)\n", GetLastError());
QueryServiceConfigA(svc_handle, NULL, 0, &needed);
config = HeapReAlloc(GetProcessHeap(), 0, config, needed);
config = realloc(config, needed);
ok(QueryServiceConfigA(svc_handle, config, needed, &needed), "QueryServiceConfig failed\n");
ok(config->lpBinaryPathName && config->lpLoadOrderGroup && config->lpDependencies && config->lpServiceStartName &&
config->lpDisplayName, "Expected all string struct members to be non-NULL\n");
@ -2028,7 +2201,7 @@ static void test_sequence(void)
ok(ret, "Expected success, got error %lu\n", GetLastError());
CloseServiceHandle(svc_handle);
CloseServiceHandle(scm_handle);
HeapFree(GetProcessHeap(), 0, config);
free(config);
}
static void test_queryconfig2(void)
@ -2717,7 +2890,7 @@ static void test_EventLog(void)
ok(!ret, "QueryServiceConfig should fail\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %lu\n", GetLastError());
config = HeapAlloc(GetProcessHeap(), 0, size);
config = malloc(size);
ret = QueryServiceConfigA(svc_handle, config, size, &size);
ok(ret, "QueryServiceConfig error %lu\n", GetLastError());
@ -2739,7 +2912,7 @@ static void test_EventLog(void)
!strcmp(config->lpDisplayName, "Event Log") /* XP */ ||
!strcmp(config->lpDisplayName, "Windows Event Log") /* Vista+ */, "got %s\n", config->lpDisplayName);
HeapFree(GetProcessHeap(), 0, config);
free(config);
memset(&status, 0, sizeof(status));
size = sizeof(status);
@ -2748,19 +2921,24 @@ static void test_EventLog(void)
ok(status.dwServiceType == SERVICE_WIN32_SHARE_PROCESS ||
status.dwServiceType == (SERVICE_WIN32_SHARE_PROCESS | SERVICE_WIN32_OWN_PROCESS) /* Win10 */,
"got %#lx\n", status.dwServiceType);
ok(status.dwCurrentState == SERVICE_RUNNING, "got %#lx\n", status.dwCurrentState);
todo_wine
ok(status.dwControlsAccepted == SERVICE_ACCEPT_SHUTDOWN /* XP */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN) /* 2008 */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_TIMECHANGE | SERVICE_ACCEPT_SHUTDOWN),
"got %#lx\n", status.dwControlsAccepted);
ok(status.dwWin32ExitCode == 0, "got %#lx\n", status.dwWin32ExitCode);
ok(status.dwServiceSpecificExitCode == 0, "got %#lx\n", status.dwServiceSpecificExitCode);
ok(status.dwCheckPoint == 0, "got %#lx\n", status.dwCheckPoint);
ok(status.dwWaitHint == 0, "got %#lx\n", status.dwWaitHint);
ok(status.dwProcessId != 0, "got %#lx\n", status.dwProcessId);
ok(status.dwServiceFlags == 0 || status.dwServiceFlags == SERVICE_RUNS_IN_SYSTEM_PROCESS /* XP */,
"got %#lx\n", status.dwServiceFlags);
if (status.dwCurrentState == SERVICE_STOPPED &&
status.dwWin32ExitCode == ERROR_PROCESS_ABORTED)
win_skip("EventLog crashed!\n");
else
{
ok(status.dwCurrentState == SERVICE_RUNNING, "got %#lx\n", status.dwCurrentState);
ok(status.dwControlsAccepted == SERVICE_ACCEPT_SHUTDOWN /* XP */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN) /* 2008 */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_TIMECHANGE | SERVICE_ACCEPT_SHUTDOWN),
"got %#lx\n", status.dwControlsAccepted);
ok(status.dwWin32ExitCode == 0, "got %#lx\n", status.dwWin32ExitCode);
ok(status.dwProcessId != 0, "got %#lx\n", status.dwProcessId);
}
CloseServiceHandle(svc_handle);
CloseServiceHandle(scm_handle);
@ -2822,6 +3000,7 @@ START_TEST(service)
SC_HANDLE scm_handle;
int myARGC;
char** myARGV;
int attempt;
myARGC = winetest_get_mainargs(&myARGV);
GetFullPathNameA(myARGV[0], sizeof(selfname), selfname, NULL);
@ -2852,7 +3031,15 @@ START_TEST(service)
test_get_displayname();
test_get_servicekeyname();
test_query_svc();
test_enum_svc();
/* Services may start or stop between enumeration calls, leading to
* inconsistencies and failures. So we may need a couple attempts.
*/
for (attempt = 2; attempt >= 0; attempt--)
if (test_enum_svc(attempt)) break;
for (attempt = 2; attempt >= 0; attempt--)
if (test_enum_svc_ex(attempt)) break;
test_close();
test_wow64();
/* Test the creation, querying and deletion of a service */

View file

@ -2,7 +2,7 @@ MODULE = advpack.dll
IMPORTLIB = advpack
IMPORTS = ole32 setupapi version advapi32
C_SRCS = \
SOURCES = \
advpack.c \
files.c \
install.c \

View file

@ -127,7 +127,7 @@ void set_ldids(HINF hInf, LPCWSTR pszInstallSection, LPCWSTR pszWorkingDir)
if (!(value = wcschr(line, '=')))
{
SetupGetStringFieldW(&context, 0, NULL, 0, &size);
key = HeapAlloc(GetProcessHeap(), 0, size * sizeof(WCHAR));
key = malloc(size * sizeof(WCHAR));
key_copy = key;
SetupGetStringFieldW(&context, 0, key, size, &size);
value = line;
@ -165,7 +165,7 @@ void set_ldids(HINF hInf, LPCWSTR pszInstallSection, LPCWSTR pszWorkingDir)
ldid = wcstol(ptr, NULL, 10);
SetupSetDirectoryIdW(hInf, ldid, dest);
}
HeapFree(GetProcessHeap(), 0, key_copy);
free(key_copy);
} while (SetupFindNextLine(&context, &context));
}
@ -227,7 +227,7 @@ BOOL WINAPI IsNTAdmin(DWORD reserved, LPDWORD pReserved)
}
}
pTokenGroups = HeapAlloc(GetProcessHeap(), 0, dwSize);
pTokenGroups = malloc(dwSize);
if (!pTokenGroups)
{
CloseHandle(hToken);
@ -236,7 +236,7 @@ BOOL WINAPI IsNTAdmin(DWORD reserved, LPDWORD pReserved)
if (!GetTokenInformation(hToken, TokenGroups, pTokenGroups, dwSize, &dwSize))
{
HeapFree(GetProcessHeap(), 0, pTokenGroups);
free(pTokenGroups);
CloseHandle(hToken);
return FALSE;
}
@ -246,7 +246,7 @@ BOOL WINAPI IsNTAdmin(DWORD reserved, LPDWORD pReserved)
if (!AllocateAndInitializeSid(&SidAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pSid))
{
HeapFree(GetProcessHeap(), 0, pTokenGroups);
free(pTokenGroups);
return FALSE;
}
@ -259,7 +259,7 @@ BOOL WINAPI IsNTAdmin(DWORD reserved, LPDWORD pReserved)
}
}
HeapFree(GetProcessHeap(), 0, pTokenGroups);
free(pTokenGroups);
FreeSid(pSid);
return bSidFound;
@ -469,16 +469,13 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show)
UNICODE_STRING cmdlineW;
HRESULT hr = E_FAIL;
HMODULE hm = NULL;
DWORD size;
TRACE("(%s)\n", debugstr_a(cmdline));
RtlCreateUnicodeStringFromAsciiz(&cmdlineW, cmdline);
size = (lstrlenW(cmdlineW.Buffer) + 1) * sizeof(WCHAR);
cmdline_copy = HeapAlloc(GetProcessHeap(), 0, size);
cmdline_copy = wcsdup(cmdlineW.Buffer);
cmdline_ptr = cmdline_copy;
lstrcpyW(cmdline_copy, cmdlineW.Buffer);
ocx_filename = get_parameter(&cmdline_ptr, ',', TRUE);
if (!ocx_filename || !*ocx_filename)
@ -495,7 +492,7 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show)
done:
FreeLibrary(hm);
HeapFree(GetProcessHeap(), 0, cmdline_copy);
free(cmdline_copy);
RtlFreeUnicodeString(&cmdlineW);
return hr;
@ -636,7 +633,7 @@ HRESULT WINAPI TranslateInfStringA(LPCSTR pszInfFilename, LPCSTR pszInstallSecti
if (res == S_OK)
{
bufferW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
bufferW = malloc(len * sizeof(WCHAR));
res = TranslateInfStringW(filenameW.Buffer, installW.Buffer,
translateW.Buffer, keyW.Buffer, bufferW,
@ -654,8 +651,8 @@ HRESULT WINAPI TranslateInfStringA(LPCSTR pszInfFilename, LPCSTR pszInstallSecti
else
res = E_NOT_SUFFICIENT_BUFFER;
}
HeapFree(GetProcessHeap(), 0, bufferW);
free(bufferW);
}
RtlFreeUnicodeString(&filenameW);
@ -753,7 +750,7 @@ HRESULT WINAPI TranslateInfStringExA(HINF hInf, LPCSTR pszInfFilename,
if (res == S_OK)
{
bufferW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
bufferW = malloc(len * sizeof(WCHAR));
res = TranslateInfStringExW(hInf, filenameW.Buffer, sectionW.Buffer,
keyW.Buffer, bufferW, len, &len, NULL);
@ -771,8 +768,8 @@ HRESULT WINAPI TranslateInfStringExA(HINF hInf, LPCSTR pszInfFilename,
else
res = E_NOT_SUFFICIENT_BUFFER;
}
HeapFree(GetProcessHeap(), 0, bufferW);
free(bufferW);
}
RtlFreeUnicodeString(&filenameW);

View file

@ -21,21 +21,19 @@
#ifndef __ADVPACK_PRIVATE_H
#define __ADVPACK_PRIVATE_H
#include "wine/heap.h"
HRESULT do_ocx_reg(HMODULE hocx, BOOL do_reg, const WCHAR *flags, const WCHAR *param);
LPWSTR get_parameter(LPWSTR *params, WCHAR separator, BOOL quoted);
void set_ldids(HINF hInf, LPCWSTR pszInstallSection, LPCWSTR pszWorkingDir);
HRESULT do_ocx_reg(HMODULE hocx, BOOL do_reg, const WCHAR *flags, const WCHAR *param) DECLSPEC_HIDDEN;
LPWSTR get_parameter(LPWSTR *params, WCHAR separator, BOOL quoted) DECLSPEC_HIDDEN;
void set_ldids(HINF hInf, LPCWSTR pszInstallSection, LPCWSTR pszWorkingDir) DECLSPEC_HIDDEN;
HRESULT launch_exe(LPCWSTR cmd, LPCWSTR dir, HANDLE *phEXE);
HRESULT launch_exe(LPCWSTR cmd, LPCWSTR dir, HANDLE *phEXE) DECLSPEC_HIDDEN;
static inline char *heap_strdupWtoA(const WCHAR *str)
static inline char *strdupWtoA(const WCHAR *str)
{
char *ret = NULL;
if(str) {
size_t size = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
ret = heap_alloc(size);
ret = malloc(size);
if(ret)
WideCharToMultiByte(CP_ACP, 0, str, -1, ret, size, NULL, NULL);
}

View file

@ -46,7 +46,7 @@ static LPWSTR ansi_to_unicode_list(LPCSTR ansi_list)
while (*ptr) ptr += lstrlenA(ptr) + 1;
len = ptr + 1 - ansi_list;
wlen = MultiByteToWideChar(CP_ACP, 0, ansi_list, len, NULL, 0);
list = HeapAlloc(GetProcessHeap(), 0, wlen * sizeof(WCHAR));
list = malloc(wlen * sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, ansi_list, len, list, wlen);
return list;
}
@ -82,7 +82,7 @@ HRESULT WINAPI AddDelBackupEntryA(LPCSTR lpcszFileList, LPCSTR lpcszBackupDir,
res = AddDelBackupEntryW(filelist, backup, basename.Buffer, dwFlags);
HeapFree(GetProcessHeap(), 0, filelist);
free(filelist);
RtlFreeUnicodeString(&backupdir);
RtlFreeUnicodeString(&basename);
@ -246,7 +246,7 @@ HRESULT WINAPI AdvInstallFileW(HWND hwnd, LPCWSTR lpszSourceDir, LPCWSTR lpszSou
LPWSTR szDestFilename;
LPCWSTR szPath;
WCHAR szRootPath[ROOT_LENGTH];
DWORD dwLen, dwLastError;
DWORD dwLastError;
HSPFILEQ fileQueue;
PVOID pContext;
@ -268,18 +268,7 @@ HRESULT WINAPI AdvInstallFileW(HWND hwnd, LPCWSTR lpszSourceDir, LPCWSTR lpszSou
szPath = lpszSourceDir + ROOT_LENGTH;
/* use lpszSourceFile as destination filename if lpszDestFile is NULL */
if (lpszDestFile)
{
dwLen = lstrlenW(lpszDestFile);
szDestFilename = HeapAlloc(GetProcessHeap(), 0, (dwLen+1) * sizeof(WCHAR));
lstrcpyW(szDestFilename, lpszDestFile);
}
else
{
dwLen = lstrlenW(lpszSourceFile);
szDestFilename = HeapAlloc(GetProcessHeap(), 0, (dwLen+1) * sizeof(WCHAR));
lstrcpyW(szDestFilename, lpszSourceFile);
}
szDestFilename = wcsdup(lpszDestFile ? lpszDestFile : lpszSourceFile);
/* add the file copy operation to the setup queue */
if (!SetupQueueCopyW(fileQueue, szRootPath, szPath, lpszSourceFile, NULL,
@ -313,9 +302,9 @@ HRESULT WINAPI AdvInstallFileW(HWND hwnd, LPCWSTR lpszSourceDir, LPCWSTR lpszSou
done:
SetupTermDefaultQueueCallback(pContext);
SetupCloseFileQueue(fileQueue);
HeapFree(GetProcessHeap(), 0, szDestFilename);
free(szDestFilename);
return HRESULT_FROM_WIN32(dwLastError);
}
@ -483,9 +472,8 @@ HRESULT WINAPI DelNodeRunDLL32W(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT
TRACE("(%p, %p, %s, %i)\n", hWnd, hInst, debugstr_w(cmdline), show);
cmdline_copy = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(cmdline) + 1) * sizeof(WCHAR));
cmdline_copy = wcsdup(cmdline);
cmdline_ptr = cmdline_copy;
lstrcpyW(cmdline_copy, cmdline);
/* get the parameters at indexes 0 and 1 respectively */
szFilename = get_parameter(&cmdline_ptr, ',', TRUE);
@ -496,7 +484,7 @@ HRESULT WINAPI DelNodeRunDLL32W(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT
res = DelNodeW(szFilename, dwFlags);
HeapFree(GetProcessHeap(), 0, cmdline_copy);
free(cmdline_copy);
return res;
}
@ -549,14 +537,14 @@ static LPSTR convert_file_list(LPCSTR FileList, DWORD *dwNumFiles)
return NULL;
dwLen = last - first + 3; /* room for double-null termination */
szConvertedList = HeapAlloc(GetProcessHeap(), 0, dwLen);
szConvertedList = malloc(dwLen);
lstrcpynA(szConvertedList, first, dwLen - 1);
szConvertedList[dwLen - 1] = '\0';
/* empty list */
if (!szConvertedList[0])
{
HeapFree(GetProcessHeap(), 0, szConvertedList);
free(szConvertedList);
return NULL;
}
@ -580,8 +568,8 @@ static LPSTR convert_file_list(LPCSTR FileList, DWORD *dwNumFiles)
static void free_file_node(struct FILELIST *pNode)
{
HeapFree(GetProcessHeap(), 0, pNode->FileName);
HeapFree(GetProcessHeap(), 0, pNode);
free(pNode->FileName);
free(pNode);
}
/* determines whether szFile is in the NULL-separated szFileList */
@ -731,7 +719,7 @@ HRESULT WINAPI ExtractFilesA(LPCSTR CabName, LPCSTR ExpandDir, DWORD Flags,
done:
free_file_list(&session);
FreeLibrary(hCabinet);
HeapFree(GetProcessHeap(), 0, szConvertedList);
free(szConvertedList);
return res;
}
@ -774,19 +762,19 @@ HRESULT WINAPI ExtractFilesW(LPCWSTR CabName, LPCWSTR ExpandDir, DWORD Flags,
Flags, debugstr_w(FileList), LReserved, Reserved);
if(CabName) {
cab_name = heap_strdupWtoA(CabName);
cab_name = strdupWtoA(CabName);
if(!cab_name)
return E_OUTOFMEMORY;
}
if(ExpandDir) {
expand_dir = heap_strdupWtoA(ExpandDir);
expand_dir = strdupWtoA(ExpandDir);
if(!expand_dir)
hres = E_OUTOFMEMORY;
}
if(SUCCEEDED(hres) && FileList) {
file_list = heap_strdupWtoA(FileList);
file_list = strdupWtoA(FileList);
if(!file_list)
hres = E_OUTOFMEMORY;
}
@ -796,9 +784,9 @@ HRESULT WINAPI ExtractFilesW(LPCWSTR CabName, LPCWSTR ExpandDir, DWORD Flags,
if(SUCCEEDED(hres))
hres = ExtractFilesA(cab_name, expand_dir, Flags, file_list, LReserved, Reserved);
heap_free(cab_name);
heap_free(expand_dir);
heap_free(file_list);
free(cab_name);
free(expand_dir);
free(file_list);
return hres;
}
@ -1078,7 +1066,7 @@ HRESULT WINAPI GetVersionFromFileExW(LPCWSTR lpszFilename, LPDWORD pdwMSVer,
goto done;
}
pVersionInfo = HeapAlloc(GetProcessHeap(), 0, dwInfoSize);
pVersionInfo = malloc(dwInfoSize);
if (!pVersionInfo)
goto done;
@ -1110,7 +1098,7 @@ HRESULT WINAPI GetVersionFromFileExW(LPCWSTR lpszFilename, LPDWORD pdwMSVer,
}
done:
HeapFree(GetProcessHeap(), 0, pVersionInfo);
free(pVersionInfo);
if (bFileCopied)
DeleteFileW(szFile);

View file

@ -227,13 +227,13 @@ static WCHAR *get_field_string(INFCONTEXT *context, DWORD index, WCHAR *buffer,
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
/* now grow the buffer */
if (buffer != static_buffer) HeapFree(GetProcessHeap(), 0, buffer);
if (!(buffer = HeapAlloc(GetProcessHeap(), 0, required*sizeof(WCHAR)))) return NULL;
if (buffer != static_buffer) free(buffer);
if (!(buffer = malloc(required*sizeof(WCHAR)))) return NULL;
*size = required;
if (SetupGetStringFieldW(context, index, buffer, *size, &required)) return buffer;
}
if (buffer != static_buffer) HeapFree(GetProcessHeap(), 0, buffer);
if (buffer != static_buffer) free(buffer);
return NULL;
}
@ -267,7 +267,7 @@ static HRESULT iterate_section_fields(HINF hinf, PCWSTR section, PCWSTR key,
hr = S_OK;
done:
if (buffer != static_buffer) HeapFree(GetProcessHeap(), 0, buffer);
if (buffer != static_buffer) free(buffer);
return hr;
}
@ -401,7 +401,7 @@ static HRESULT get_working_dir(ADVInfo *info, LPCWSTR inf_filename, LPCWSTR work
ptr = path;
}
info->working_dir = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
info->working_dir = malloc(len * sizeof(WCHAR));
if (!info->working_dir)
return E_OUTOFMEMORY;
@ -421,38 +421,21 @@ static HRESULT install_init(LPCWSTR inf_filename, LPCWSTR install_sec,
if (!(ptr = wcsrchr(inf_filename, '\\')))
ptr = inf_filename;
len = lstrlenW(ptr);
info->inf_filename = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
info->inf_filename = wcsdup(ptr);
if (!info->inf_filename)
return E_OUTOFMEMORY;
lstrcpyW(info->inf_filename, ptr);
/* FIXME: determine the proper platform to install (NTx86, etc) */
if (!install_sec || !*install_sec)
{
len = ARRAY_SIZE(L"DefaultInstall");
ptr = L"DefaultInstall";
}
else
{
len = lstrlenW(install_sec) + 1;
ptr = install_sec;
}
info->install_sec = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
info->install_sec = wcsdup(install_sec && *install_sec ? install_sec : L"DefaultInstall");
if (!info->install_sec)
return E_OUTOFMEMORY;
lstrcpyW(info->install_sec, ptr);
hr = get_working_dir(info, inf_filename, working_dir);
if (FAILED(hr))
return hr;
len = lstrlenW(info->working_dir) + lstrlenW(info->inf_filename) + 2;
info->inf_path = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
info->inf_path = malloc(len * sizeof(WCHAR));
if (!info->inf_path)
return E_OUTOFMEMORY;
@ -485,10 +468,10 @@ static void install_release(const ADVInfo *info)
{
SetupCloseInfFile(info->hinf);
HeapFree(GetProcessHeap(), 0, info->inf_path);
HeapFree(GetProcessHeap(), 0, info->inf_filename);
HeapFree(GetProcessHeap(), 0, info->install_sec);
HeapFree(GetProcessHeap(), 0, info->working_dir);
free(info->inf_path);
free(info->inf_filename);
free(info->install_sec);
free(info->working_dir);
}
/* this structure very closely resembles parameters of RunSetupCommand() */
@ -533,7 +516,7 @@ static HRESULT DoInfInstallW(const SETUPCOMMAND_PARAMSW *setup)
done:
install_release(&info);
return S_OK;
return hr;
}
/***********************************************************************
@ -733,9 +716,8 @@ INT WINAPI LaunchINFSectionW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT sho
if (!cmdline)
return ADV_FAILURE;
cmdline_copy = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(cmdline) + 1) * sizeof(WCHAR));
cmdline_copy = wcsdup(cmdline);
cmdline_ptr = cmdline_copy;
lstrcpyW(cmdline_copy, cmdline);
inf_filename = get_parameter(&cmdline_ptr, ',', TRUE);
install_sec = get_parameter(&cmdline_ptr, ',', TRUE);
@ -762,7 +744,7 @@ INT WINAPI LaunchINFSectionW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT sho
done:
install_release(&info);
HeapFree(GetProcessHeap(), 0, cmdline_copy);
free(cmdline_copy);
return SUCCEEDED(hr) ? ADV_SUCCESS : ADV_FAILURE;
}
@ -830,9 +812,8 @@ HRESULT WINAPI LaunchINFSectionExW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, I
if (!cmdline)
return ADV_FAILURE;
cmdline_copy = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(cmdline) + 1) * sizeof(WCHAR));
cmdline_copy = wcsdup(cmdline);
cmdline_ptr = cmdline_copy;
lstrcpyW(cmdline_copy, cmdline);
cabinfo.pszInf = get_parameter(&cmdline_ptr, ',', TRUE);
cabinfo.pszSection = get_parameter(&cmdline_ptr, ',', TRUE);
@ -845,7 +826,7 @@ HRESULT WINAPI LaunchINFSectionExW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, I
if (!is_full_path(cabinfo.pszCab) && !is_full_path(cabinfo.pszInf))
{
HeapFree(GetProcessHeap(), 0, cmdline_copy);
free(cmdline_copy);
return E_INVALIDARG;
}
@ -862,7 +843,7 @@ HRESULT WINAPI LaunchINFSectionExW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, I
}
hr = ExecuteCabW(hWnd, &cabinfo, NULL);
HeapFree(GetProcessHeap(), 0, cmdline_copy);
free(cmdline_copy);
return SUCCEEDED(hr) ? ADV_SUCCESS : ADV_FAILURE;
}

View file

@ -95,8 +95,8 @@ static void strentry_atow(const STRENTRYA *aentry, STRENTRYW *wentry)
name_len = MultiByteToWideChar(CP_ACP, 0, aentry->pszName, -1, NULL, 0);
val_len = MultiByteToWideChar(CP_ACP, 0, aentry->pszValue, -1, NULL, 0);
wentry->pszName = HeapAlloc(GetProcessHeap(), 0, name_len * sizeof(WCHAR));
wentry->pszValue = HeapAlloc(GetProcessHeap(), 0, val_len * sizeof(WCHAR));
wentry->pszName = malloc(name_len * sizeof(WCHAR));
wentry->pszValue = malloc(val_len * sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, aentry->pszName, -1, wentry->pszName, name_len);
MultiByteToWideChar(CP_ACP, 0, aentry->pszValue, -1, wentry->pszValue, val_len);
@ -107,8 +107,8 @@ static STRTABLEW *strtable_atow(const STRTABLEA *atable)
STRTABLEW *wtable;
DWORD j;
wtable = HeapAlloc(GetProcessHeap(), 0, sizeof(STRTABLEW));
wtable->pse = HeapAlloc(GetProcessHeap(), 0, atable->cEntries * sizeof(STRENTRYW));
wtable = malloc(sizeof(STRTABLEW));
wtable->pse = malloc(atable->cEntries * sizeof(STRENTRYW));
wtable->cEntries = atable->cEntries;
for (j = 0; j < wtable->cEntries; j++)
@ -123,12 +123,12 @@ static void free_strtable(STRTABLEW *wtable)
for (j = 0; j < wtable->cEntries; j++)
{
HeapFree(GetProcessHeap(), 0, wtable->pse[j].pszName);
HeapFree(GetProcessHeap(), 0, wtable->pse[j].pszValue);
free(wtable->pse[j].pszName);
free(wtable->pse[j].pszValue);
}
HeapFree(GetProcessHeap(), 0, wtable->pse);
HeapFree(GetProcessHeap(), 0, wtable);
free(wtable->pse);
free(wtable);
}
/***********************************************************************

View file

@ -1,7 +1,7 @@
TESTDLL = advpack.dll
IMPORTS = cabinet advapi32 advpack
C_SRCS = \
SOURCES = \
advpack.c \
files.c \
install.c

View file

@ -1,4 +1,4 @@
MODULE = amsi.dll
C_SRCS = \
SOURCES = \
main.c

View file

@ -1,14 +1,12 @@
MODULE = amstream.dll
IMPORTS = strmiids strmbase uuid ole32 advapi32 ddraw
C_SRCS = \
SOURCES = \
amstream_classes.idl \
audiodata.c \
audiostream.c \
ddrawstream.c \
filter.c \
main.c \
multimedia.c
IDL_SRCS = amstream_classes.idl
RC_SRCS = version.rc
multimedia.c \
version.rc

View file

@ -33,10 +33,10 @@
#include "austream.h"
#include "amstream.h"
HRESULT multimedia_stream_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
HRESULT filter_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
HRESULT ddraw_stream_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
HRESULT audio_stream_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
HRESULT multimedia_stream_create(IUnknown *outer, void **out);
HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj);
HRESULT filter_create(IUnknown *outer, void **out);
HRESULT ddraw_stream_create(IUnknown *outer, void **out);
HRESULT audio_stream_create(IUnknown *outer, void **out);
#endif /* __AMSTREAM_PRIVATE_INCLUDED__ */

View file

@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define NONAMELESSUNION
#define COBJMACROS
#include "amstream_private.h"
#include "wine/debug.h"
@ -123,14 +122,14 @@ static HRESULT process_update(struct ddraw_sample *sample, int stride, BYTE *poi
if (FAILED(hr))
return hr;
row_size = (sample->rect.right - sample->rect.left) * desc.ddpfPixelFormat.u1.dwRGBBitCount / 8;
row_size = (sample->rect.right - sample->rect.left) * desc.ddpfPixelFormat.dwRGBBitCount / 8;
src_row = pointer;
dst_row = desc.lpSurface;
for (row = sample->rect.top; row < sample->rect.bottom; ++row)
{
memcpy(dst_row, src_row, row_size);
src_row += stride;
dst_row += desc.u1.lPitch;
dst_row += desc.lPitch;
}
hr = IDirectDrawSurface_Unlock(sample->surface, desc.lpSurface);
@ -155,9 +154,9 @@ static BOOL is_format_compatible(struct ddraw_stream *stream,
{
if (stream->format.pf.dwFlags & DDPF_FOURCC)
return FALSE;
if (stream->format.pf.u1.dwRGBBitCount != connection_pf->u1.dwRGBBitCount)
if (stream->format.pf.dwRGBBitCount != connection_pf->dwRGBBitCount)
return FALSE;
if (stream->format.pf.u1.dwRGBBitCount == 16 && stream->format.pf.u3.dwGBitMask != connection_pf->u3.dwGBitMask)
if (stream->format.pf.dwRGBBitCount == 16 && stream->format.pf.dwGBitMask != connection_pf->dwGBitMask)
return FALSE;
}
return TRUE;
@ -325,6 +324,10 @@ static HRESULT WINAPI ddraw_IAMMediaStream_Initialize(IAMMediaStream *iface, IUn
stream->purpose_id = *purpose_id;
stream->stream_type = stream_type;
if (stream->ddraw)
IDirectDraw_Release(stream->ddraw);
stream->ddraw = NULL;
if (source_object
&& FAILED(hr = IUnknown_QueryInterface(source_object, &IID_IDirectDraw, (void **)&stream->ddraw)))
FIXME("Stream object doesn't implement IDirectDraw interface, hr %#lx.\n", hr);
@ -551,7 +554,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
TRACE("flags %#lx, pixel format flags %#lx, bit count %lu, size %lux%lu.\n",
format->dwFlags, format->ddpfPixelFormat.dwFlags,
format->ddpfPixelFormat.u1.dwRGBBitCount, format->dwWidth, format->dwHeight);
format->ddpfPixelFormat.dwRGBBitCount, format->dwWidth, format->dwHeight);
if (format->dwFlags & DDSD_PIXELFORMAT)
{
@ -560,7 +563,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
if (format->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
{
if (!format->ddpfPixelFormat.u1.dwRGBBitCount)
if (!format->ddpfPixelFormat.dwRGBBitCount)
return E_INVALIDARG;
}
else
@ -572,7 +575,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
if (!(format->ddpfPixelFormat.dwFlags & DDPF_RGB))
return DDERR_INVALIDSURFACETYPE;
switch (format->ddpfPixelFormat.u1.dwRGBBitCount)
switch (format->ddpfPixelFormat.dwRGBBitCount)
{
case 8:
if (!(format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8))
@ -581,21 +584,21 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
case 16:
if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
return DDERR_INVALIDSURFACETYPE;
if ((format->ddpfPixelFormat.u2.dwRBitMask != 0x7c00 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x03e0 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x001f) &&
(format->ddpfPixelFormat.u2.dwRBitMask != 0xf800 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x07e0 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x001f))
if ((format->ddpfPixelFormat.dwRBitMask != 0x7c00 ||
format->ddpfPixelFormat.dwGBitMask != 0x03e0 ||
format->ddpfPixelFormat.dwBBitMask != 0x001f) &&
(format->ddpfPixelFormat.dwRBitMask != 0xf800 ||
format->ddpfPixelFormat.dwGBitMask != 0x07e0 ||
format->ddpfPixelFormat.dwBBitMask != 0x001f))
return DDERR_INVALIDSURFACETYPE;
break;
case 24:
case 32:
if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
return DDERR_INVALIDSURFACETYPE;
if (format->ddpfPixelFormat.u2.dwRBitMask != 0xff0000 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x00ff00 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x0000ff)
if (format->ddpfPixelFormat.dwRBitMask != 0xff0000 ||
format->ddpfPixelFormat.dwGBitMask != 0x00ff00 ||
format->ddpfPixelFormat.dwBBitMask != 0x0000ff)
return DDERR_INVALIDSURFACETYPE;
break;
default:
@ -958,35 +961,35 @@ static HRESULT WINAPI ddraw_sink_ReceiveConnection(IPin *iface, IPin *peer, cons
if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB8))
{
pf.dwFlags |= DDPF_PALETTEINDEXED8;
pf.u1.dwRGBBitCount = 8;
pf.dwRGBBitCount = 8;
}
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB555))
{
pf.u1.dwRGBBitCount = 16;
pf.u2.dwRBitMask = 0x7c00;
pf.u3.dwGBitMask = 0x03e0;
pf.u4.dwBBitMask = 0x001f;
pf.dwRGBBitCount = 16;
pf.dwRBitMask = 0x7c00;
pf.dwGBitMask = 0x03e0;
pf.dwBBitMask = 0x001f;
}
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB565))
{
pf.u1.dwRGBBitCount = 16;
pf.u2.dwRBitMask = 0xf800;
pf.u3.dwGBitMask = 0x07e0;
pf.u4.dwBBitMask = 0x001f;
pf.dwRGBBitCount = 16;
pf.dwRBitMask = 0xf800;
pf.dwGBitMask = 0x07e0;
pf.dwBBitMask = 0x001f;
}
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB24))
{
pf.u1.dwRGBBitCount = 24;
pf.u2.dwRBitMask = 0xff0000;
pf.u3.dwGBitMask = 0x00ff00;
pf.u4.dwBBitMask = 0x0000ff;
pf.dwRGBBitCount = 24;
pf.dwRBitMask = 0xff0000;
pf.dwGBitMask = 0x00ff00;
pf.dwBBitMask = 0x0000ff;
}
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB32))
{
pf.u1.dwRGBBitCount = 32;
pf.u2.dwRBitMask = 0xff0000;
pf.u3.dwGBitMask = 0x00ff00;
pf.u4.dwBBitMask = 0x0000ff;
pf.dwRGBBitCount = 32;
pf.dwRBitMask = 0xff0000;
pf.dwGBitMask = 0x00ff00;
pf.dwBBitMask = 0x0000ff;
}
else
{
@ -1406,6 +1409,7 @@ static HRESULT WINAPI ddraw_meminput_Receive(IMemInputPin *iface, IMediaSample *
if (!list_empty(&stream->update_queue))
{
struct ddraw_sample *sample = LIST_ENTRY(list_head(&stream->update_queue), struct ddraw_sample, entry);
IQualityControl *qc;
sample->update_hr = process_update(sample, top_down_stride, top_down_pointer,
start_stream_time, end_stream_time);
@ -1419,6 +1423,19 @@ static HRESULT WINAPI ddraw_meminput_Receive(IMemInputPin *iface, IMediaSample *
{
remove_queued_update(sample);
}
if (S_OK == IMediaStreamFilter_GetCurrentStreamTime(filter, &current_time)
&& SUCCEEDED(IPin_QueryInterface(stream->peer, &IID_IQualityControl, (void **)&qc)))
{
Quality q;
q.Type = Famine;
q.Proportion = 1000;
q.Late = current_time - start_time;
q.TimeStamp = start_time;
IQualityControl_Notify(qc, (IBaseFilter *)stream->filter, q);
IQualityControl_Release(qc);
}
LeaveCriticalSection(&stream->cs);
return S_OK;
}
@ -1776,11 +1793,11 @@ static HRESULT ddrawstreamsample_create(struct ddraw_stream *parent, IDirectDraw
{
desc.ddpfPixelFormat.dwSize = sizeof(desc.ddpfPixelFormat);
desc.ddpfPixelFormat.dwFlags = DDPF_RGB;
desc.ddpfPixelFormat.u1.dwRGBBitCount = 32;
desc.ddpfPixelFormat.u2.dwRBitMask = 0xff0000;
desc.ddpfPixelFormat.u3.dwGBitMask = 0x00ff00;
desc.ddpfPixelFormat.u4.dwBBitMask = 0x0000ff;
desc.ddpfPixelFormat.u5.dwRGBAlphaBitMask = 0;
desc.ddpfPixelFormat.dwRGBBitCount = 32;
desc.ddpfPixelFormat.dwRBitMask = 0xff0000;
desc.ddpfPixelFormat.dwGBitMask = 0x00ff00;
desc.ddpfPixelFormat.dwBBitMask = 0x0000ff;
desc.ddpfPixelFormat.dwRGBAlphaBitMask = 0;
}
desc.ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN;
desc.lpSurface = NULL;

View file

@ -94,7 +94,7 @@ static HRESULT WINAPI enum_pins_Next(IEnumPins *iface, ULONG count, IPin **pins,
for (i = 0; i < count && enum_pins->index < enum_pins->count; ++i)
{
IPin_AddRef(pins[i] = enum_pins->pins[i]);
IPin_AddRef(pins[i] = enum_pins->pins[enum_pins->index]);
enum_pins->index++;
}
@ -254,6 +254,8 @@ static ULONG WINAPI filter_Release(IMediaStreamFilter *iface)
free(filter->streams);
if (filter->clock)
IReferenceClock_Release(filter->clock);
if (filter->cs.DebugInfo)
filter->cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&filter->cs);
free(filter);
}
@ -1100,7 +1102,7 @@ HRESULT filter_create(IUnknown *outer, void **out)
object->refcount = 1;
list_init(&object->free_events);
list_init(&object->used_events);
InitializeCriticalSection(&object->cs);
InitializeCriticalSectionEx(&object->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO);
object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": MediaStreamFilter.cs");
TRACE("Created media stream filter %p.\n", object);

View file

@ -1,8 +1,6 @@
TESTDLL = amstream.dll
IMPORTS = strmbase strmiids uuid ddraw ole32 user32
C_SRCS = \
amstream.c
RC_SRCS = \
SOURCES = \
amstream.c \
rsrc.rc

View file

@ -386,6 +386,7 @@ static void test_interfaces(void)
check_interface(stream, &IID_IMediaStreamFilter, FALSE);
check_interface(stream, &IID_IMultiMediaStream, FALSE);
check_interface(stream, &IID_IPersist, FALSE);
check_interface(stream, &IID_IQualityControl, FALSE);
IMediaStream_Release(stream);
@ -408,6 +409,7 @@ static void test_interfaces(void)
check_interface(stream, &IID_IMediaStreamFilter, FALSE);
check_interface(stream, &IID_IMultiMediaStream, FALSE);
check_interface(stream, &IID_IPersist, FALSE);
check_interface(stream, &IID_IQualityControl, FALSE);
IMediaStream_Release(stream);
@ -1017,10 +1019,13 @@ struct testfilter
struct strmbase_filter filter;
struct strmbase_source source;
IMediaSeeking IMediaSeeking_iface;
IQualityControl IQualityControl_iface;
LONGLONG current_position;
LONGLONG stop_position;
const AM_MEDIA_TYPE *preferred_mt;
HANDLE wait_state_event;
IBaseFilter *qc_notify_sender;
Quality qc_notify_quality;
HRESULT get_duration_hr;
HRESULT get_stop_position_hr;
HRESULT set_positions_hr;
@ -1028,6 +1033,7 @@ struct testfilter
HRESULT cleanup_stream_hr;
HRESULT wait_state_hr;
HRESULT is_format_supported_hr;
HRESULT qc_notify_hr;
};
static inline struct testfilter *impl_from_BaseFilter(struct strmbase_filter *iface)
@ -1123,6 +1129,8 @@ static HRESULT testsource_query_interface(struct strmbase_pin *iface, REFIID iid
if (IsEqualGUID(iid, &IID_IMediaSeeking) && filter->IMediaSeeking_iface.lpVtbl)
*out = &filter->IMediaSeeking_iface;
else if (IsEqualGUID(iid, &IID_IQualityControl) && filter->IQualityControl_iface.lpVtbl)
*out = &filter->IQualityControl_iface;
else
return E_NOINTERFACE;
@ -1358,6 +1366,54 @@ static const IMediaSeekingVtbl testsource_seeking_vtbl =
testsource_seeking_GetPreroll,
};
static inline struct testfilter *impl_from_IQualityControl(IQualityControl *iface)
{
return CONTAINING_RECORD(iface, struct testfilter, IQualityControl_iface);
}
static HRESULT WINAPI testsource_qc_QueryInterface(IQualityControl *iface, REFIID iid, void **out)
{
struct testfilter *filter = impl_from_IQualityControl(iface);
return IBaseFilter_QueryInterface(&filter->filter.IBaseFilter_iface, iid, out);
}
static ULONG WINAPI testsource_qc_AddRef(IQualityControl *iface)
{
struct testfilter *filter = impl_from_IQualityControl(iface);
return IBaseFilter_AddRef(&filter->filter.IBaseFilter_iface);
}
static ULONG WINAPI testsource_qc_Release(IQualityControl *iface)
{
struct testfilter *filter = impl_from_IQualityControl(iface);
return IBaseFilter_Release(&filter->filter.IBaseFilter_iface);
}
static HRESULT WINAPI testsource_qc_Notify(IQualityControl *iface, IBaseFilter *sender, Quality q)
{
struct testfilter *filter = impl_from_IQualityControl(iface);
filter->qc_notify_sender = sender;
filter->qc_notify_quality = q;
return filter->qc_notify_hr;
}
static HRESULT WINAPI testsource_qc_SetSink(IQualityControl *iface, IQualityControl *sink)
{
ok(0, "Unexpected call.\n");
return E_NOTIMPL;
}
static const IQualityControlVtbl testsource_qc_vtbl =
{
testsource_qc_QueryInterface,
testsource_qc_AddRef,
testsource_qc_Release,
testsource_qc_Notify,
testsource_qc_SetSink,
};
#define check_get_stream(a,b,c,d) check_get_stream_(__LINE__,a,b,c,d)
static void check_get_stream_(int line, IAMMultiMediaStream *mmstream,
IMediaStreamFilter *filter, const GUID *mspid, IMediaStream *expect)
@ -1839,10 +1895,10 @@ static void test_media_streams(void)
static void test_enum_pins(void)
{
IAMMultiMediaStream *mmstream = create_ammultimediastream();
IMediaStream *stream0, *stream1;
IPin *pins[3], *pin0, *pin1;
IMediaStreamFilter *filter;
IEnumPins *enum1, *enum2;
IMediaStream *stream;
IPin *pins[3], *pin;
ULONG ref, count;
HRESULT hr;
@ -1877,9 +1933,13 @@ static void test_enum_pins(void)
hr = IEnumPins_Skip(enum1, 1);
ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
hr = IAMMultiMediaStream_AddMediaStream(mmstream, NULL, &MSPID_PrimaryVideo, 0, &stream);
hr = IAMMultiMediaStream_AddMediaStream(mmstream, NULL, &MSPID_PrimaryVideo, 0, &stream0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream, &IID_IPin, (void **)&pin);
hr = IAMMultiMediaStream_AddMediaStream(mmstream, NULL, &MSPID_PrimaryAudio, 0, &stream1);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream0, &IID_IPin, (void **)&pin0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream1, &IID_IPin, (void **)&pin1);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
/* Reset() isn't enough; we have to call EnumPins() again to see the updated
@ -1899,17 +1959,30 @@ static void test_enum_pins(void)
ok(ref == 4, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(enum1);
ok(ref == 1, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(pin);
ref = get_refcount(pin0);
ok(ref == 4, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(pin1);
ok(ref == 4, "Got unexpected refcount %ld.\n", ref);
hr = IEnumPins_Next(enum1, 1, pins, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(pins[0] == pin, "Expected pin %p, got %p.\n", pin, pins[0]);
ok(pins[0] == pin0, "Expected pin %p, got %p.\n", pin0, pins[0]);
ref = get_refcount(filter);
ok(ref == 4, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(enum1);
ok(ref == 1, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(pin);
ref = get_refcount(pin0);
ok(ref == 5, "Got unexpected refcount %ld.\n", ref);
IPin_Release(pins[0]);
hr = IEnumPins_Next(enum1, 1, pins, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(pins[0] == pin1, "Expected pin %p, got %p.\n", pin1, pins[0]);
ref = get_refcount(filter);
ok(ref == 4, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(enum1);
ok(ref == 1, "Got unexpected refcount %ld.\n", ref);
ref = get_refcount(pin1);
ok(ref == 5, "Got unexpected refcount %ld.\n", ref);
IPin_Release(pins[0]);
@ -1922,20 +1995,28 @@ static void test_enum_pins(void)
hr = IEnumPins_Next(enum1, 1, pins, &count);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(count == 1, "Got count %lu.\n", count);
ok(pins[0] == pin, "Expected pin %p, got %p.\n", pin, pins[0]);
ok(pins[0] == pin0, "Expected pin %p, got %p.\n", pin0, pins[0]);
IPin_Release(pins[0]);
hr = IEnumPins_Next(enum1, 1, pins, &count);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(count == 1, "Got count %lu.\n", count);
ok(pins[0] == pin1, "Expected pin %p, got %p.\n", pin1, pins[0]);
IPin_Release(pins[0]);
hr = IEnumPins_Reset(enum1);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IEnumPins_Next(enum1, 2, pins, NULL);
hr = IEnumPins_Next(enum1, 3, pins, NULL);
ok(hr == E_POINTER, "Got hr %#lx.\n", hr);
hr = IEnumPins_Next(enum1, 2, pins, &count);
hr = IEnumPins_Next(enum1, 3, pins, &count);
ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
ok(count == 1, "Got count %lu.\n", count);
ok(pins[0] == pin, "Expected pin %p, got %p.\n", pin, pins[0]);
ok(count == 2, "Got count %lu.\n", count);
ok(pins[0] == pin0, "Expected pin %p, got %p.\n", pin0, pins[0]);
ok(pins[1] == pin1, "Expected pin %p, got %p.\n", pin1, pins[1]);
IPin_Release(pins[0]);
IPin_Release(pins[1]);
hr = IEnumPins_Reset(enum1);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
@ -1946,7 +2027,7 @@ static void test_enum_pins(void)
hr = IEnumPins_Skip(enum1, 0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IEnumPins_Skip(enum1, 1);
hr = IEnumPins_Skip(enum1, 2);
ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
hr = IEnumPins_Next(enum1, 1, pins, NULL);
@ -1954,7 +2035,12 @@ static void test_enum_pins(void)
hr = IEnumPins_Next(enum2, 1, pins, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(pins[0] == pin, "Expected pin %p, got %p.\n", pin, pins[0]);
ok(pins[0] == pin0, "Expected pin %p, got %p.\n", pin0, pins[0]);
IPin_Release(pins[0]);
hr = IEnumPins_Next(enum2, 1, pins, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(pins[0] == pin1, "Expected pin %p, got %p.\n", pin1, pins[0]);
IPin_Release(pins[0]);
IEnumPins_Release(enum2);
@ -1963,8 +2049,11 @@ static void test_enum_pins(void)
IMediaStreamFilter_Release(filter);
ref = IAMMultiMediaStream_Release(mmstream);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
IMediaStream_Release(stream);
ref = IPin_Release(pin);
IMediaStream_Release(stream1);
IMediaStream_Release(stream0);
ref = IPin_Release(pin1);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
ref = IPin_Release(pin0);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
}
@ -5991,6 +6080,9 @@ static void test_ddrawstream_begin_flush_end_flush(void)
IDirectDrawMediaStream_Release(ddraw_stream);
ref = IMediaStream_Release(stream);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
IPin_Release(pin2);
ref = IAMMediaStream_Release(stream2);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
}
static void test_ddrawstream_new_segment(void)
@ -8154,6 +8246,244 @@ static void test_ddrawstream_create_sample(void)
desc.ddckCKSrcBlt.dwColorSpaceHighValue);
}
static void test_ddrawstream_qc(void)
{
static const BYTE test_data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
IAMMultiMediaStream *mmstream = create_ammultimediastream();
struct advise_time_cookie cookie = { 0 };
IDirectDrawStreamSample *stream_sample;
IDirectDrawMediaStream *ddraw_stream;
IMediaFilter *graph_media_filter;
STREAM_TIME filter_start_time;
IMemInputPin *mem_input_pin;
IMediaStreamFilter *filter;
struct testfilter source;
struct testclock clock;
STREAM_TIME start_time;
STREAM_TIME end_time;
IGraphBuilder *graph;
IMediaStream *stream;
VIDEOINFO video_info;
AM_MEDIA_TYPE mt;
HANDLE thread;
HRESULT hr;
ULONG ref;
IPin *pin;
hr = IAMMultiMediaStream_Initialize(mmstream, STREAMTYPE_READ, 0, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IAMMultiMediaStream_GetFilter(mmstream, &filter);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(!!filter, "Expected non-null filter.\n");
hr = IAMMultiMediaStream_AddMediaStream(mmstream, NULL, &MSPID_PrimaryVideo, 0, &stream);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream, &IID_IDirectDrawMediaStream, (void **)&ddraw_stream);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream, &IID_IPin, (void **)&pin);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStream_QueryInterface(stream, &IID_IMemInputPin, (void **)&mem_input_pin);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IAMMultiMediaStream_GetFilterGraph(mmstream, &graph);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(graph != NULL, "Expected non-NULL graph.\n");
hr = IGraphBuilder_QueryInterface(graph, &IID_IMediaFilter, (void **)&graph_media_filter);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
testfilter_init(&source);
source.IQualityControl_iface.lpVtbl = &testsource_qc_vtbl;
hr = IGraphBuilder_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
testclock_init(&clock);
cookie.advise_time_called_event = CreateEventW(NULL, FALSE, FALSE, NULL);
ok(cookie.advise_time_called_event != NULL, "Expected non-NULL event.");
video_info = rgb32_video_info;
video_info.bmiHeader.biWidth = 3;
video_info.bmiHeader.biHeight = 1;
mt = rgb32_mt;
mt.pbFormat = (BYTE *)&video_info;
hr = IGraphBuilder_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &mt);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IDirectDrawMediaStream_CreateSample(ddraw_stream, NULL, NULL, 0, &stream_sample);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
/* There are no quality control messages without a sync source. */
hr = IMediaFilter_SetSyncSource(graph_media_filter, NULL);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_RUN);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
source.qc_notify_sender = (IBaseFilter *)0xdeadbeef;
source.qc_notify_quality.Type = Flood;
source.qc_notify_quality.Proportion = 0xdeadbeef;
source.qc_notify_quality.Late = 0xdeadbeef;
source.qc_notify_quality.TimeStamp = 0xdeadbeef;
thread = ammediastream_async_receive_time(&source,
11111111, 11111111, test_data, sizeof(test_data));
ok(WaitForSingleObject(thread, 100) == WAIT_TIMEOUT, "Receive returned prematurely.\n");
hr = IDirectDrawStreamSample_Update(stream_sample, 0, NULL, NULL, 0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(!WaitForSingleObject(thread, 2000), "Wait timed out.\n");
CloseHandle(thread);
ok(source.qc_notify_sender == (IBaseFilter *)0xdeadbeef, "Got sender %p.\n",
source.qc_notify_sender);
ok(source.qc_notify_quality.Type == Flood, "Got type %d.\n",
source.qc_notify_quality.Type);
ok(source.qc_notify_quality.Proportion == 0xdeadbeef, "Got proportion %ld.\n",
source.qc_notify_quality.Proportion);
ok(source.qc_notify_quality.Late == 0xdeadbeef,
"Got late %s.\n", wine_dbgstr_longlong(source.qc_notify_quality.Late));
ok(source.qc_notify_quality.TimeStamp == 0xdeadbeef, "Got time stamp %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.TimeStamp));
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_STOP);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaFilter_SetSyncSource(graph_media_filter, &clock.IReferenceClock_iface);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
clock.time = 12345678;
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_RUN);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
hr = IMediaStreamFilter_GetCurrentStreamTime(filter, &filter_start_time);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
/* Quality control message is sent on update completion, q.Late is computed
* as a difference between sample start time and update completion time. */
/* Test Update() before Reveive(). */
source.qc_notify_sender = (IBaseFilter *)0xdeadbeef;
source.qc_notify_quality.Type = Flood;
source.qc_notify_quality.Proportion = 0xdeadbeef;
source.qc_notify_quality.Late = 0xdeadbeef;
source.qc_notify_quality.TimeStamp = 0xdeadbeef;
clock.time = 12345678 - filter_start_time + 11111111;
hr = IDirectDrawStreamSample_Update(stream_sample, SSUPDATE_ASYNC, NULL, NULL, 0);
ok(hr == MS_S_PENDING, "Got hr %#lx.\n", hr);
clock.advise_time_cookie = &cookie;
clock.time = 12345678 - filter_start_time + 11111111 + 100000;
start_time = 11111111 + 200000;
end_time = 11111111 + 200000;
thread = ammediastream_async_receive_time(&source,
start_time, end_time, test_data, sizeof(test_data));
ok(!WaitForSingleObject(cookie.advise_time_called_event, 2000), "Wait timed out.\n");
ok(source.qc_notify_sender == (IBaseFilter *)0xdeadbeef, "Got sender %p.\n",
source.qc_notify_sender);
ok(source.qc_notify_quality.Type == Flood, "Got type %d.\n",
source.qc_notify_quality.Type);
ok(source.qc_notify_quality.Proportion == 0xdeadbeef, "Got proportion %ld.\n",
source.qc_notify_quality.Proportion);
ok(source.qc_notify_quality.Late == 0xdeadbeef,
"Got late %s.\n", wine_dbgstr_longlong(source.qc_notify_quality.Late));
ok(source.qc_notify_quality.TimeStamp == 0xdeadbeef, "Got time stamp %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.TimeStamp));
clock.time = 12345678 - filter_start_time + 11111111 + 200000;
SetEvent(cookie.event);
ok(!WaitForSingleObject(thread, 2000), "Wait timed out.\n");
CloseHandle(thread);
hr = IDirectDrawStreamSample_CompletionStatus(stream_sample, 0, 0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(source.qc_notify_sender == (IBaseFilter *)filter, "Got sender %p.\n",
source.qc_notify_sender);
ok(source.qc_notify_quality.Type == Famine, "Got type %d.\n",
source.qc_notify_quality.Type);
ok(source.qc_notify_quality.Proportion == 1000, "Got proportion %ld.\n",
source.qc_notify_quality.Proportion);
ok(source.qc_notify_quality.Late == 0, "Got late %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.Late));
ok(source.qc_notify_quality.TimeStamp == start_time, "Got time stamp %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.TimeStamp));
/* Test Update() after Reveive(). */
source.qc_notify_sender = (IBaseFilter *)0xdeadbeef;
source.qc_notify_quality.Type = Flood;
source.qc_notify_quality.Proportion = 0xdeadbeef;
source.qc_notify_quality.Late = 0xdeadbeef;
source.qc_notify_quality.TimeStamp = 0xdeadbeef;
clock.advise_time_cookie = &cookie;
clock.time = 12345678 - filter_start_time + 11111111 + 300000;
start_time = 11111111 + 400000;
end_time = 11111111 + 400000;
thread = ammediastream_async_receive_time(&source,
start_time, end_time, test_data, sizeof(test_data));
ok(!WaitForSingleObject(cookie.advise_time_called_event, 2000), "Wait timed out.\n");
clock.time = 12345678 - filter_start_time + 11111111 + 400000;
SetEvent(cookie.event);
ok(WaitForSingleObject(thread, 100) == WAIT_TIMEOUT, "Receive returned prematurely.\n");
ok(source.qc_notify_sender == (IBaseFilter *)0xdeadbeef, "Got sender %p.\n",
source.qc_notify_sender);
ok(source.qc_notify_quality.Type == Flood, "Got type %d.\n",
source.qc_notify_quality.Type);
ok(source.qc_notify_quality.Proportion == 0xdeadbeef, "Got proportion %ld.\n",
source.qc_notify_quality.Proportion);
ok(source.qc_notify_quality.Late == 0xdeadbeef,
"Got late %s.\n", wine_dbgstr_longlong(source.qc_notify_quality.Late));
ok(source.qc_notify_quality.TimeStamp == 0xdeadbeef, "Got time stamp %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.TimeStamp));
clock.time = 12345678 - filter_start_time + 11111111 + 500000;
hr = IDirectDrawStreamSample_Update(stream_sample, 0, NULL, NULL, 0);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
ok(!WaitForSingleObject(thread, 2000), "Wait timed out.\n");
CloseHandle(thread);
ok(source.qc_notify_sender == (IBaseFilter *)filter, "Got sender %p.\n",
source.qc_notify_sender);
ok(source.qc_notify_quality.Type == Famine, "Got type %d.\n",
source.qc_notify_quality.Type);
ok(source.qc_notify_quality.Proportion == 1000, "Got proportion %ld.\n",
source.qc_notify_quality.Proportion);
ok(source.qc_notify_quality.Late == 100000, "Got late %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.Late));
ok(source.qc_notify_quality.TimeStamp == start_time, "Got time stamp %s.\n",
wine_dbgstr_longlong(source.qc_notify_quality.TimeStamp));
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_STOP);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
IGraphBuilder_Disconnect(graph, pin);
IGraphBuilder_Disconnect(graph, &source.source.pin.IPin_iface);
CloseHandle(cookie.advise_time_called_event);
ref = IDirectDrawStreamSample_Release(stream_sample);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
ref = IAMMultiMediaStream_Release(mmstream);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
IMediaFilter_Release(graph_media_filter);
ref = IGraphBuilder_Release(graph);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
ref = IMediaStreamFilter_Release(filter);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
IPin_Release(pin);
IMemInputPin_Release(mem_input_pin);
IDirectDrawMediaStream_Release(ddraw_stream);
ref = IMediaStream_Release(stream);
ok(!ref, "Got outstanding refcount %ld.\n", ref);
}
static void test_ddrawstreamsample_get_media_stream(void)
{
IAMMultiMediaStream *mmstream = create_ammultimediastream();
@ -9480,6 +9810,7 @@ START_TEST(amstream)
test_ddrawstream_begin_flush_end_flush();
test_ddrawstream_new_segment();
test_ddrawstream_get_time_per_frame();
test_ddrawstream_qc();
test_ddrawstreamsample_get_media_stream();
test_ddrawstreamsample_update();

View file

@ -1,3 +1,6 @@
MODULE = apisetschema.dll
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = \
apisetschema.spec

View file

@ -9,6 +9,7 @@ apiset api-ms-win-core-atoms-l1-1-0 = kernel32.dll
apiset api-ms-win-core-backgroundtask-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-calendar-l1-1-0 = kernel32.dll
apiset api-ms-win-core-com-l1-1-1 = combase.dll
apiset api-ms-win-core-com-l2-1-1 = coml2.dll
apiset api-ms-win-core-com-midlproxystub-l1-1-0 = combase.dll
apiset api-ms-win-core-com-private-l1-1-0 = combase.dll
apiset api-ms-win-core-com-private-l1-2-0 = combase.dll
@ -99,6 +100,7 @@ apiset api-ms-win-core-psapi-ansi-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-psapi-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-psapi-obsolete-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-psapiansi-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-psm-appnotify-l1-1-0 = twinapi.appcore.dll
apiset api-ms-win-core-psm-key-l1-1-1 = kernelbase.dll
apiset api-ms-win-core-quirks-l1-1-0 = kernelbase.dll
apiset api-ms-win-core-realtime-l1-1-0 = kernelbase.dll
@ -340,9 +342,12 @@ apiset ext-ms-win-drvinst-desktop-l1-1-0 = newdev.dll
apiset ext-ms-win-dwmapi-ext-l1-1-0 = dwmapi.dll
apiset ext-ms-win-dwmapidxgi-ext-l1-1-1 = dwmapi.dll
apiset ext-ms-win-dx-d3d9-l1-1-0 = d3d9.dll
apiset ext-ms-win-dx-d3dkmt-dxcore-l1-1-3 = dxcore.dll
apiset ext-ms-win-dx-d3dkmt-gdi-l1-1-0 = gdi32.dll
apiset ext-ms-win-dx-ddraw-l1-1-0 = ddraw.dll
apiset ext-ms-win-dx-dinput8-l1-1-0 = dinput8.dll
apiset ext-ms-win-dxcore-internal-l1-1-0 = dxcore.dll
apiset ext-ms-win-dxcore-l1-1-0 = dxcore.dll
apiset ext-ms-win-eventing-pdh-l1-1-2 = pdh.dll
apiset ext-ms-win-eventing-tdh-ext-l1-1-0 = tdh.dll
apiset ext-ms-win-eventing-tdh-priv-l1-1-0 = tdh.dll

View file

@ -2,4 +2,5 @@ MODULE = apphelp.dll
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = apphelp.c
SOURCES = \
apphelp.c

View file

@ -1,5 +1,5 @@
TESTDLL = apphelp.dll
IMPORTS = ole32
C_SRCS = \
SOURCES = \
apphelp.c

View file

@ -2,13 +2,10 @@ MODULE = appwiz.cpl
IMPORTS = uuid urlmon advpack comctl32 advapi32 shell32 ole32 user32 comdlg32 bcrypt kernelbase
DELAYIMPORTS = msi
C_SRCS = \
SOURCES = \
addons.c \
appwiz.c
RC_SRCS = appwiz.rc
SVG_SRCS = \
appwiz.c \
appwiz.rc \
appwiz.svg
addons_EXTRADEFS = -DINSTALL_DATADIR="\"${datadir}\""

View file

@ -22,8 +22,6 @@
#include <errno.h>
#define COBJMACROS
#define NONAMELESSUNION
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
@ -46,22 +44,22 @@
WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
#define GECKO_VERSION "2.47.3"
#define GECKO_VERSION "2.47.4"
#ifdef __i386__
#define GECKO_ARCH "x86"
#define GECKO_SHA "e5b9b06d3ce355646a8d2e72e044e37e1e0c8d18464eb1985adcd187a7f48e01"
#define GECKO_SHA "26cecc47706b091908f7f814bddb074c61beb8063318e9efc5a7f789857793d6"
#elif defined(__x86_64__)
#define GECKO_ARCH "x86_64"
#define GECKO_SHA "a53ee954392b6d1fe3d68545f6e4e2a97afbc8dc8b03a8b443349545ce139675"
#define GECKO_SHA "e590b7d988a32d6aa4cf1d8aa3aa3d33766fdd4cf4c89c2dcc2095ecb28d066f"
#else
#define GECKO_ARCH ""
#define GECKO_SHA "???"
#endif
#define MONO_VERSION "7.4.0"
#define MONO_VERSION "9.0.0"
#if defined(__i386__) || defined(__x86_64__)
#define MONO_ARCH "x86"
#define MONO_SHA "6413ff328ebbf7ec7689c648feb3546d8102ded865079d1fbf0331b14b3ab0ec"
#define MONO_SHA "79f6c43100675566c112f4199b9ea7b944d338164b34bd91fa11b0b0a414e1c4"
#else
#define MONO_ARCH ""
#define MONO_SHA "???"
@ -110,8 +108,7 @@ static LPWSTR url = NULL;
static IBinding *dwl_binding;
static WCHAR *msi_file;
extern const char * CDECL wine_get_version(void);
static const char * (CDECL *p_wine_get_version)(void);
static WCHAR * (CDECL *p_wine_get_dos_file_name)(const char*);
static BOOL sha_check(const WCHAR *file_name)
@ -518,7 +515,7 @@ static HRESULT WINAPI InstallCallback_OnDataAvailable(IBindStatusCallback *iface
DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
{
if(!msi_file) {
msi_file = wcsdup(pstgmed->u.lpszFileName);
msi_file = wcsdup(pstgmed->lpszFileName);
TRACE("got file name %s\n", debugstr_w(msi_file));
}
@ -612,7 +609,7 @@ static void append_url_params( WCHAR *url )
len += MultiByteToWideChar(CP_ACP, 0, addon->version, -1, url+len, size/sizeof(WCHAR)-len)-1;
lstrcpyW(url+len, L"&winev=");
len += lstrlenW(L"&winev=");
MultiByteToWideChar(CP_ACP, 0, wine_get_version(), -1, url+len, size/sizeof(WCHAR)-len);
MultiByteToWideChar(CP_ACP, 0, p_wine_get_version() ? p_wine_get_version() : 0, -1, url+len, size/sizeof(WCHAR)-len);
}
static LPWSTR get_url(void)
@ -753,6 +750,7 @@ BOOL install_addon(addon_t addon_type)
addon = addons_info+addon_type;
p_wine_get_dos_file_name = (void *)GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "wine_get_dos_file_name");
p_wine_get_version = (void *)GetProcAddress(GetModuleHandleW(L"ntdll.dll"), "wine_get_version");
/*
* Try to find addon .msi file in following order:

View file

@ -23,8 +23,6 @@
*
*/
#define NONAMELESSUNION
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
@ -454,13 +452,7 @@ static void InstallProgram(HWND hWnd)
}
}
/******************************************************************************
* Name : UninstallProgram
* Description: Executes the specified program's installer.
* Parameters : id - the internal ID of the installer to remove
* Parameters : button - ID of button pressed (Modify or Remove)
*/
static void UninstallProgram(int id, DWORD button)
static HANDLE run_uninstaller(int id, DWORD button)
{
APPINFO *iter;
STARTUPINFOW si;
@ -489,10 +481,7 @@ static void UninstallProgram(int id, DWORD button)
if (res)
{
CloseHandle(info.hThread);
/* wait for the process to exit */
WaitForSingleObject(info.hProcess, INFINITE);
CloseHandle(info.hProcess);
return info.hProcess;
}
else
{
@ -510,6 +499,8 @@ static void UninstallProgram(int id, DWORD button)
break;
}
}
return NULL;
}
/**********************************************************************************
@ -615,9 +606,14 @@ static INT_PTR CALLBACK SupportInfoDlgProc(HWND hWnd, UINT msg, WPARAM wParam, L
case WM_DESTROY:
return 0;
case WM_CLOSE:
EndDialog(hWnd, TRUE);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDCANCEL:
case IDOK:
EndDialog(hWnd, TRUE);
break;
@ -781,6 +777,7 @@ static HIMAGELIST ResetApplicationList(BOOL bFirstRun, HWND hWnd, HIMAGELIST hIm
static INT_PTR CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
int selitem;
static HANDLE uninstaller = NULL;
static HIMAGELIST hImageList;
LPNMHDR nmh;
LVITEMW lvItem;
@ -832,6 +829,16 @@ static INT_PTR CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM l
case IDC_ADDREMOVE:
case IDC_MODIFY:
if (uninstaller)
{
WCHAR titleW[MAX_STRING_LEN], wait_tip[MAX_STRING_LEN];
LoadStringW(hInst, IDS_CPL_TITLE, titleW, ARRAY_SIZE(titleW));
LoadStringW(hInst, IDS_WAIT_COMPLETE, wait_tip, ARRAY_SIZE(wait_tip));
MessageBoxW(hWnd, wait_tip, titleW, MB_OK | MB_ICONWARNING);
break;
}
selitem = SendDlgItemMessageW(hWnd, IDL_PROGRAMS,
LVM_GETNEXTITEM, -1, LVNI_FOCUSED|LVNI_SELECTED);
@ -840,9 +847,22 @@ static INT_PTR CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM l
lvItem.iItem = selitem;
lvItem.mask = LVIF_PARAM;
if (SendDlgItemMessageW(hWnd, IDL_PROGRAMS, LVM_GETITEMW,
0, (LPARAM) &lvItem))
UninstallProgram(lvItem.lParam, LOWORD(wParam));
if (SendDlgItemMessageW(hWnd, IDL_PROGRAMS, LVM_GETITEMW, 0, (LPARAM)&lvItem))
{
uninstaller = run_uninstaller(lvItem.lParam, LOWORD(wParam));
while (MsgWaitForMultipleObjects(1, &uninstaller, FALSE, INFINITE, QS_ALLINPUT) == 1)
{
MSG message;
while (PeekMessageW(&message, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessageW(&message);
}
}
CloseHandle(uninstaller);
uninstaller = NULL;
}
}
hImageList = ResetApplicationList(FALSE, hWnd, hImageList);
@ -904,8 +924,8 @@ static void StartApplet(HWND hWnd)
psp.dwSize = sizeof (PROPSHEETPAGEW);
psp.dwFlags = PSP_USETITLE;
psp.hInstance = hInst;
psp.u.pszTemplate = MAKEINTRESOURCEW (IDD_MAIN);
psp.u2.pszIcon = NULL;
psp.pszTemplate = MAKEINTRESOURCEW (IDD_MAIN);
psp.pszIcon = NULL;
psp.pfnDlgProc = MainDlgProc;
psp.pszTitle = tab_title;
psp.lParam = 0;
@ -915,12 +935,12 @@ static void StartApplet(HWND hWnd)
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USEICONID | PSH_USECALLBACK;
psh.hwndParent = hWnd;
psh.hInstance = hInst;
psh.u.pszIcon = MAKEINTRESOURCEW(ICO_MAIN);
psh.pszIcon = MAKEINTRESOURCEW(ICO_MAIN);
psh.pszCaption = app_title;
psh.nPages = 1;
psh.u3.ppsp = &psp;
psh.ppsp = &psp;
psh.pfnCallback = propsheet_callback;
psh.u2.nStartPage = 0;
psh.nStartPage = 0;
/* Display the property sheet */
PropertySheetW (&psh);

View file

@ -23,9 +23,9 @@ typedef enum {
ADDON_MONO
} addon_t;
BOOL install_addon(addon_t) DECLSPEC_HIDDEN;
BOOL install_addon(addon_t);
extern HINSTANCE hInst DECLSPEC_HIDDEN;
extern HINSTANCE hInst;
static inline WCHAR *strdupAtoW(const char *str)
{

View file

@ -43,6 +43,7 @@ STRINGTABLE
IDS_REMOVE, "&Remove"
IDS_MODIFY_REMOVE, "&Modify/Remove"
IDS_WAIT_COMPLETE, "Please wait until the current uninstall/modify process is complete."
}
STRINGTABLE

View file

@ -72,3 +72,4 @@
#define IDS_DOWNLOADING 14
#define IDS_INSTALLING 15
#define IDS_INVALID_SHA 16
#define IDS_WAIT_COMPLETE 17

View file

@ -0,0 +1,7 @@
MODULE = appxdeploymentclient.dll
IMPORTS = combase
SOURCES = \
classes.idl \
main.c \
package.c

View file

@ -0,0 +1,82 @@
1 stub @
@ stub GetApplicability
@ stub AppxCreateSharedLocalFolder
@ stub AppxPackageRepositoryRecoverStagedPackages
@ stub AppxPackageRepositoryRecoverUserInstalls
@ stub AppxRecoverUserInstallsForUpgrade
@ stub AppxDeletePackageFiles
@ stub AppxRequestRemovePackageForUser
@ stub IsPackageInstalled
@ stub RDSRecoverRequests
@ stub AppxPreStageCleanupRunTask
@ stub AppxPreRegisterPackage
@ stub ReArmAppxPreStageCleanupTask
@ stub AppxAddPackageToAllUserStoreForPbr
@ stub GetPackageApplicabilityForUserLogon
16 stub @
@ stub AppxStagePackage
@ stub AppxGetPackageInstalledLocation
@ stub AppxDestagePackage
@ stub GetApplicability2
@ stub AppxGetStagedPackageFullNameFromFamilyName
@ stub AppxIsStagedPackageStoreSigned
@ stub RegisterNotification
@ stub UnregisterNotification
@ stub GetNotificationPayload
@ stub NotifyPackageStatusChanged
@ stub VerifyPackage
@ stub AppxPreRegisterAllInboxPackages
@ stub AppxValidatePackagesWithOptions
@ stub AppxRemovePackageForAllUsers
@ stub RequestContentGroups
@ stub GetApplicability4
@ stub RequestContentGroupsForFullTrust
@ stub GeneratePreInstalledPriFiles
@ stub PopulateProtocolAndFTA
@ stub FixJunctionsForAppsIfNecessary
@ stub AppxRemovePackageForUserSid
@ stub CreateCanonicalPriFile
@ stub RegisterNotificationForUser
@ stub UnregisterNotificationForUser
@ stub GetNotificationPayloadForUser
@ stub AppxCleanupWCIReparsePoints
@ stub RepairPackageFileAcls
@ stub EnsurePackageFamilyIsRegisteredBeforeActivation
@ stub AppxCleanupSystemAppsMigratedToFOD
@ stub AppxCleanupOrphanPackages
@ stub CheckComCallerHasCapabilities
@ stub GetBundleApplicablePackages
@ stub GetApplicability5
@ stub DeleteApplicabilityInfoArray
@ stub UpdateAgentCreateDownload
@ stub UpdateAgentGetDownloadRanges
@ stub UpdateAgentCancelAllDownloads
@ stub UpdateDataSourceRegister
@ stub UpdateDataSourceAddRange
@ stub UpdateDataSourceRun
@ stub UpdateDataSourceCancelRun
@ stub GetPackageRegistrationStatusForUser
@ stub IsSharedAppsEnabled
@ stub AppInstallerUpdateAllTask
@ stub CheckAppInstallerUpdateAvailability
@ stub UpdateAgentFreeDownloadRanges
@ stub AppxRegisterPackage
@ stub IsPackageMetadataUnderSystemMetadata
@ stub GetMetadataRootForPackage
@ stub ClientGetAllPackagesToBeInstalledForUser
@ stub ClientDeleteAllPackagesFromMainPackageArray
@ stub GetPackageRegistrationStatusForUserAndDefaultAccount
@ stub UpdateAgentGetDownloadingPackageCount
@ stub PreRegisterPackagesInContainer
@ stub EnsurePackageFamiliesAreRegisteredInContainer
@ stub RemovePackageFromContainer
@ stub HasPackageFamilyBeenRegisteredForUser
@ stub CleanupProfileForUser
@ stub AppxRemoveAllPackagesForUserSid
@ stub AppxCreateSharedLocalFolderForFamilyName
@ stub AppxDoesSharedLocalFolderExistForFamilyName
@ stub AppxValidatePackages
@ stub CheckForUpdatesAndWaitForInstallerIfNeeded
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetActivationFactory(ptr ptr)
@ stdcall -private DllGetClassObject(ptr ptr ptr)

View file

@ -0,0 +1,23 @@
/*
* Runtime Classes for appxdeploymentclient.dll
*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#pragma makedep register
#include "windows.management.deployment.idl"

View file

@ -0,0 +1,46 @@
/* WinRT Windows.Management.Deployment Implementation
*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "initguid.h"
#include "private.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(appx);
HRESULT WINAPI DllGetClassObject( REFCLSID clsid, REFIID riid, void **out )
{
FIXME( "clsid %s, riid %s, out %p stub!\n", debugstr_guid(clsid), debugstr_guid(riid), out );
return CLASS_E_CLASSNOTAVAILABLE;
}
HRESULT WINAPI DllGetActivationFactory( HSTRING classid, IActivationFactory **factory )
{
const WCHAR *buffer = WindowsGetStringRawBuffer( classid, NULL );
TRACE( "class %s, factory %p.\n", debugstr_hstring(classid), factory );
*factory = NULL;
if (!wcscmp( buffer, RuntimeClass_Windows_Management_Deployment_PackageManager ))
IActivationFactory_QueryInterface( package_manager_factory, &IID_IActivationFactory, (void **)factory );
if (*factory) return S_OK;
return CLASS_E_CLASSNOTAVAILABLE;
}

View file

@ -0,0 +1,434 @@
/* WinRT Windows.Management.Deployment.PackageManager Implementation
*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "private.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(appx);
struct package_manager
{
IPackageManager IPackageManager_iface;
IPackageManager2 IPackageManager2_iface;
LONG ref;
};
static inline struct package_manager *impl_from_IPackageManager( IPackageManager *iface )
{
return CONTAINING_RECORD( iface, struct package_manager, IPackageManager_iface );
}
static HRESULT WINAPI package_manager_QueryInterface( IPackageManager *iface, REFIID iid, void **out )
{
struct package_manager *impl = impl_from_IPackageManager( iface );
TRACE( "iface %p, iid %s, out %p.\n", iface, debugstr_guid( iid ), out );
if (IsEqualGUID( iid, &IID_IUnknown ) ||
IsEqualGUID( iid, &IID_IInspectable ) ||
IsEqualGUID( iid, &IID_IAgileObject ) ||
IsEqualGUID( iid, &IID_IPackageManager ))
{
*out = &impl->IPackageManager_iface;
IInspectable_AddRef( *out );
return S_OK;
}
if (IsEqualGUID( iid, &IID_IPackageManager2 ))
{
*out = &impl->IPackageManager2_iface;
IInspectable_AddRef( *out );
return S_OK;
}
FIXME( "%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid( iid ) );
*out = NULL;
return E_NOINTERFACE;
}
static ULONG WINAPI package_manager_AddRef( IPackageManager *iface )
{
struct package_manager *impl = impl_from_IPackageManager( iface );
ULONG ref = InterlockedIncrement( &impl->ref );
TRACE( "iface %p increasing refcount to %lu.\n", iface, ref );
return ref;
}
static ULONG WINAPI package_manager_Release( IPackageManager *iface )
{
struct package_manager *impl = impl_from_IPackageManager( iface );
ULONG ref = InterlockedDecrement( &impl->ref );
TRACE( "iface %p decreasing refcount to %lu.\n", iface, ref );
if (!ref) free( impl );
return ref;
}
static HRESULT WINAPI package_manager_GetIids( IPackageManager *iface, ULONG *iid_count, IID **iids )
{
FIXME( "iface %p, iid_count %p, iids %p stub!\n", iface, iid_count, iids );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_GetRuntimeClassName( IPackageManager *iface, HSTRING *class_name )
{
FIXME( "iface %p, class_name %p stub!\n", iface, class_name );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_GetTrustLevel( IPackageManager *iface, TrustLevel *trust_level )
{
FIXME( "iface %p, trust_level %p stub!\n", iface, trust_level );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_AddPackageAsync( IPackageManager *iface, IUriRuntimeClass *uri,
IIterable_Uri *dependencies, DeploymentOptions options, IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, uri %p, dependencies %p, options %d, operation %p stub!\n", iface, uri, dependencies, options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_UpdatePackageAsync( IPackageManager *iface, IUriRuntimeClass *uri, IIterable_Uri *dependencies,
DeploymentOptions options, IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, uri %p, dependencies %p, options %d, operation %p stub!\n", iface, uri, dependencies, options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_RemovePackageAsync( IPackageManager *iface, HSTRING name,
IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, name %s, operation %p stub!\n", iface, debugstr_hstring(name), operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_StagePackageAsync( IPackageManager *iface, IUriRuntimeClass *uri, IIterable_Uri *dependencies,
IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, uri %p, dependencies %p, operation %p stub!\n", iface, uri, dependencies, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_RegisterPackageAsync( IPackageManager *iface, IUriRuntimeClass *uri, IIterable_Uri *dependencies,
DeploymentOptions options, IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, uri %p, dependencies %p, options %d, operation %p stub!\n", iface, uri, dependencies, options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackages( IPackageManager *iface, IIterable_Package **packages )
{
FIXME( "iface %p, packages %p stub!\n", iface, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackagesByUserSecurityId( IPackageManager *iface, HSTRING sid, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, packages %p stub!\n", iface, debugstr_hstring(sid), packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackagesByNamePublisher( IPackageManager *iface, HSTRING name, HSTRING publisher, IIterable_Package **packages )
{
FIXME( "iface %p, name %s, publisher %s, packages %p stub!\n", iface, debugstr_hstring(name), debugstr_hstring(publisher), packages );
if (!name || !publisher) return E_INVALIDARG;
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackagesByUserSecurityIdNamePublisher( IPackageManager *iface, HSTRING sid,
HSTRING name, HSTRING publisher, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, name %s, publisher %s, packages %p stub!\n", iface, debugstr_hstring(sid), debugstr_hstring(name), debugstr_hstring(publisher), packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindUsers( IPackageManager *iface, HSTRING name, IIterable_PackageUserInformation **users )
{
FIXME( "iface %p, name %s, users %p stub!\n", iface, debugstr_hstring(name), users );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_SetPackageState( IPackageManager *iface, HSTRING name, PackageState state )
{
FIXME("iface %p, name %s, state %d stub!\n", iface, debugstr_hstring(name), state);
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackageByPackageFullName( IPackageManager *iface, HSTRING name, IPackage **package )
{
FIXME( "iface %p, name %s, package %p stub!\n", iface, debugstr_hstring(name), package );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_CleanupPackageForUserAsync( IPackageManager *iface, HSTRING name, HSTRING sid,
IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, name %s, sid %s, operation %p stub!\n", iface, debugstr_hstring(name), debugstr_hstring(sid), operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackagesByPackageFamilyName( IPackageManager *iface, HSTRING family_name,
IIterable_Package **packages )
{
FIXME( "iface %p, family_name %s, packages %p stub!\n", iface, debugstr_hstring(family_name), packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackagesByUserSecurityIdPackageFamilyName( IPackageManager *iface, HSTRING sid,
HSTRING family_name, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, family_name %s, packages %p stub!\n", iface, debugstr_hstring(sid), debugstr_hstring(family_name), packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager_FindPackageByUserSecurityIdPackageFullName( IPackageManager *iface, HSTRING sid, HSTRING name, IPackage **package )
{
FIXME( "iface %p, sid %s, name %s, package %p stub!\n", iface, debugstr_hstring(sid), debugstr_hstring(name), package );
return E_NOTIMPL;
}
static const struct IPackageManagerVtbl package_manager_vtbl =
{
package_manager_QueryInterface,
package_manager_AddRef,
package_manager_Release,
/* IInspectable methods */
package_manager_GetIids,
package_manager_GetRuntimeClassName,
package_manager_GetTrustLevel,
/* IPackageManager methods */
package_manager_AddPackageAsync,
package_manager_UpdatePackageAsync,
package_manager_RemovePackageAsync,
package_manager_StagePackageAsync,
package_manager_RegisterPackageAsync,
package_manager_FindPackages,
package_manager_FindPackagesByUserSecurityId,
package_manager_FindPackagesByNamePublisher,
package_manager_FindPackagesByUserSecurityIdNamePublisher,
package_manager_FindUsers,
package_manager_SetPackageState,
package_manager_FindPackageByPackageFullName,
package_manager_CleanupPackageForUserAsync,
package_manager_FindPackagesByPackageFamilyName,
package_manager_FindPackagesByUserSecurityIdPackageFamilyName,
package_manager_FindPackageByUserSecurityIdPackageFullName
};
DEFINE_IINSPECTABLE( package_manager2, IPackageManager2, struct package_manager, IPackageManager_iface );
static HRESULT WINAPI package_manager2_RemovePackageWithOptionsAsync( IPackageManager2 *iface, HSTRING name, RemovalOptions options,
IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, name %s, options %d, operation %p stub!\n", iface, debugstr_hstring(name), options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_StagePackageWithOptionsAsync( IPackageManager2 *iface, IUriRuntimeClass *uri, IIterable_Uri *dependencies,
DeploymentOptions options, IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, uri %p, dependencies %p, options %d, operation %p stub!\n", iface, uri, dependencies, options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_RegisterPackageByFullNameAsync( IPackageManager2 *iface, HSTRING name, IIterable_HSTRING *dependencies,
DeploymentOptions options, IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, name %s, dependencies %p, options %d, operation %p stub!\n", iface, debugstr_hstring(name), dependencies, options, operation );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesWithPackageTypes( IPackageManager2 *iface, PackageTypes types, IIterable_Package **packages )
{
FIXME( "iface %p, types %d, packages %p stub!\n", iface, types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesByUserSecurityIdWithPackageTypes( IPackageManager2 *iface, HSTRING sid,
PackageTypes types, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, types %d, packages %p stub!\n", iface, debugstr_hstring(sid), types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesByNamePublisherWithPackageTypes( IPackageManager2 *iface, HSTRING name, HSTRING publisher,
PackageTypes types, IIterable_Package **packages )
{
FIXME( "iface %p, name %s, publisher %s, types %d, packages %p stub!\n", iface, debugstr_hstring(name), debugstr_hstring(publisher), types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes( IPackageManager2 *iface, HSTRING sid, HSTRING name,
HSTRING publisher, PackageTypes types, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, name %s, publisher %s, types %d, packages %p stub!\n", iface, debugstr_hstring(sid), debugstr_hstring(name), debugstr_hstring(publisher), types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesByPackageFamilyNameWithPackageTypes( IPackageManager2 *iface, HSTRING family_name, PackageTypes types,
IIterable_Package **packages )
{
FIXME( "iface %p, family_name %s, types %d, packages %p stub!\n", iface, debugstr_hstring(family_name), types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes( IPackageManager2 *iface, HSTRING sid, HSTRING family_name,
PackageTypes types, IIterable_Package **packages )
{
FIXME( "iface %p, sid %s, family_name %s, types %d, packages %p stub!\n", iface, debugstr_hstring(sid), debugstr_hstring(family_name), types, packages );
return E_NOTIMPL;
}
static HRESULT WINAPI package_manager2_StageUserDataAsync( IPackageManager2 *iface, HSTRING name,
IAsyncOperationWithProgress_DeploymentResult_DeploymentProgress **operation )
{
FIXME( "iface %p, name %s, operation %p stub!\n", iface, debugstr_hstring(name), operation );
return E_NOTIMPL;
}
static const struct IPackageManager2Vtbl package_manager2_vtbl =
{
package_manager2_QueryInterface,
package_manager2_AddRef,
package_manager2_Release,
/* IInspectable methods */
package_manager2_GetIids,
package_manager2_GetRuntimeClassName,
package_manager2_GetTrustLevel,
/* IPackageManager2 methods */
package_manager2_RemovePackageWithOptionsAsync,
package_manager2_StagePackageWithOptionsAsync,
package_manager2_RegisterPackageByFullNameAsync,
package_manager2_FindPackagesWithPackageTypes,
package_manager2_FindPackagesByUserSecurityIdWithPackageTypes,
package_manager2_FindPackagesByNamePublisherWithPackageTypes,
package_manager2_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes,
package_manager2_FindPackagesByPackageFamilyNameWithPackageTypes,
package_manager2_FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes,
package_manager2_StageUserDataAsync,
};
struct package_manager_statics
{
IActivationFactory IActivationFactory_iface;
LONG ref;
};
static inline struct package_manager_statics *impl_from_IActivationFactory( IActivationFactory *iface )
{
return CONTAINING_RECORD( iface, struct package_manager_statics, IActivationFactory_iface );
}
static HRESULT WINAPI factory_QueryInterface( IActivationFactory *iface, REFIID iid, void **out )
{
struct package_manager_statics *impl = impl_from_IActivationFactory( iface );
TRACE( "iface %p, iid %s, out %p.\n", iface, debugstr_guid( iid ), out );
if (IsEqualGUID( iid, &IID_IUnknown ) ||
IsEqualGUID( iid, &IID_IInspectable ) ||
IsEqualGUID( iid, &IID_IActivationFactory ))
{
*out = &impl->IActivationFactory_iface;
IInspectable_AddRef( *out );
return S_OK;
}
FIXME( "%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid( iid ) );
*out = NULL;
return E_NOINTERFACE;
}
static ULONG WINAPI factory_AddRef( IActivationFactory *iface )
{
struct package_manager_statics *impl = impl_from_IActivationFactory( iface );
ULONG ref = InterlockedIncrement( &impl->ref );
TRACE( "iface %p increasing refcount to %lu.\n", iface, ref );
return ref;
}
static ULONG WINAPI factory_Release( IActivationFactory *iface )
{
struct package_manager_statics *impl = impl_from_IActivationFactory( iface );
ULONG ref = InterlockedDecrement( &impl->ref );
TRACE( "iface %p decreasing refcount to %lu.\n", iface, ref );
return ref;
}
static HRESULT WINAPI factory_GetIids( IActivationFactory *iface, ULONG *iid_count, IID **iids )
{
FIXME( "iface %p, iid_count %p, iids %p stub!\n", iface, iid_count, iids );
return E_NOTIMPL;
}
static HRESULT WINAPI factory_GetRuntimeClassName( IActivationFactory *iface, HSTRING *class_name )
{
FIXME( "iface %p, class_name %p stub!\n", iface, class_name );
return E_NOTIMPL;
}
static HRESULT WINAPI factory_GetTrustLevel( IActivationFactory *iface, TrustLevel *trust_level )
{
FIXME( "iface %p, trust_level %p stub!\n", iface, trust_level );
return E_NOTIMPL;
}
static HRESULT WINAPI factory_ActivateInstance( IActivationFactory *iface, IInspectable **instance )
{
struct package_manager *impl;
TRACE( "iface %p, instance %p.\n", iface, instance );
if (!(impl = calloc( 1, sizeof(*impl) )))
{
*instance = NULL;
return E_OUTOFMEMORY;
}
impl->IPackageManager_iface.lpVtbl = &package_manager_vtbl;
impl->IPackageManager2_iface.lpVtbl = &package_manager2_vtbl;
impl->ref = 1;
*instance = (IInspectable *)&impl->IPackageManager_iface;
return S_OK;
}
static const struct IActivationFactoryVtbl factory_vtbl =
{
factory_QueryInterface,
factory_AddRef,
factory_Release,
/* IInspectable methods */
factory_GetIids,
factory_GetRuntimeClassName,
factory_GetTrustLevel,
/* IActivationFactory methods */
factory_ActivateInstance,
};
static struct package_manager_statics package_manager_statics =
{
{&factory_vtbl},
1,
};
IActivationFactory *package_manager_factory = &package_manager_statics.IActivationFactory_iface;

View file

@ -0,0 +1,79 @@
/* WinRT Windows.Management.Deployment Implementation
*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_WINDOWS_MANAGEMENT_DEPLOYMENT_PRIVATE_H
#define __WINE_WINDOWS_MANAGEMENT_DEPLOYMENT_PRIVATE_H
#include <stdarg.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winstring.h"
#include "activation.h"
#define WIDL_using_Windows_Foundation
#define WIDL_using_Windows_Foundation_Collections
#include "windows.foundation.h"
#define WIDL_using_Windows_Management_Deployment
#define WIDL_using_Windows_ApplicationModel
#include "windows.management.deployment.h"
extern IActivationFactory *package_manager_factory;
#define DEFINE_IINSPECTABLE_( pfx, iface_type, impl_type, impl_from, iface_mem, expr ) \
static inline impl_type *impl_from( iface_type *iface ) \
{ \
return CONTAINING_RECORD( iface, impl_type, iface_mem ); \
} \
static HRESULT WINAPI pfx##_QueryInterface( iface_type *iface, REFIID iid, void **out ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_QueryInterface( (IInspectable *)(expr), iid, out ); \
} \
static ULONG WINAPI pfx##_AddRef( iface_type *iface ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_AddRef( (IInspectable *)(expr) ); \
} \
static ULONG WINAPI pfx##_Release( iface_type *iface ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_Release( (IInspectable *)(expr) ); \
} \
static HRESULT WINAPI pfx##_GetIids( iface_type *iface, ULONG *iid_count, IID **iids ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_GetIids( (IInspectable *)(expr), iid_count, iids ); \
} \
static HRESULT WINAPI pfx##_GetRuntimeClassName( iface_type *iface, HSTRING *class_name ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_GetRuntimeClassName( (IInspectable *)(expr), class_name ); \
} \
static HRESULT WINAPI pfx##_GetTrustLevel( iface_type *iface, TrustLevel *trust_level ) \
{ \
impl_type *impl = impl_from( iface ); \
return IInspectable_GetTrustLevel( (IInspectable *)(expr), trust_level ); \
}
#define DEFINE_IINSPECTABLE( pfx, iface_type, impl_type, base_iface ) \
DEFINE_IINSPECTABLE_( pfx, iface_type, impl_type, impl_from_##iface_type, iface_type##_iface, &impl->base_iface )
#endif

View file

@ -3,12 +3,10 @@ IMPORTLIB = atl
IMPORTS = uuid oleaut32 ole32 user32 gdi32 advapi32 shlwapi
EXTRADEFS = -D_ATL_VER=_ATL_VER_30
C_SRCS = \
SOURCES = \
atl.c \
atl30.c \
atl_ax.c \
registrar.c
IDL_SRCS = \
atl_classes.idl \
atl_lib.idl
atl_lib.idl \
registrar.c

View file

@ -280,7 +280,7 @@ static HRESULT do_process_key(LPCOLESTR *pstr, HKEY parent_key, strbuf *buf, BOO
hres = get_word(&iter, buf);
if(FAILED(hres))
break;
dw = wcstol(buf->str, NULL, 10);
dw = wcstoul(buf->str, NULL, 10);
lres = RegSetValueExW(hkey, name.len ? name.str : NULL, 0, REG_DWORD,
(PBYTE)&dw, sizeof(dw));
if(lres != ERROR_SUCCESS) {

View file

@ -2,7 +2,7 @@ TESTDLL = atl.dll
IMPORTS = uuid atl oleaut32 ole32 rpcrt4 user32 gdi32 advapi32
EXTRADEFS = -D_ATL_VER=_ATL_VER_30
C_SRCS = \
SOURCES = \
atl_ax.c \
module.c \
registrar.c

View file

@ -49,6 +49,10 @@ static const char textA[] =
" val 'dword_unquoted_dec' = d 1 \n"
" val 'dword_quoted_hex' = d '0xA' \n"
" val 'dword_unquoted_hex' = d 0xA \n"
" val 'dword_negative' = d -2147483648 \n"
" val 'dword_ulong' = d 2147483649 \n"
" val 'dword_max' = d 4294967295 \n"
" val 'dword_overrange' = d 4294967296 \n"
" val 'binary_quoted' = b 'deadbeef' \n"
" val 'binary_unquoted' = b dead0123 \n"
" } \n"
@ -59,7 +63,24 @@ static void test_registrar(void)
IRegistrar *registrar = NULL;
HRESULT hr;
INT count;
int i;
WCHAR *textW = NULL;
struct dword_test
{
const char *name;
BOOL preserved;
LONGLONG value;
} dword_tests[] =
{
{ "dword_unquoted_dec", TRUE, 1 },
{ "dword_quoted_dec", TRUE, 1 },
{ "dword_quoted_hex", FALSE, 0xA },
{ "dword_unquoted_hex", FALSE, 0xA },
{ "dword_negative", FALSE, -2147483648 },
{ "dword_ulong", TRUE, 2147483649 },
{ "dword_max", TRUE, 4294967295 },
{ "dword_overrange", FALSE, 4294967296 },
};
if (!GetProcAddress(GetModuleHandleA("atl.dll"), "AtlAxAttachControl"))
{
@ -112,25 +133,16 @@ static void test_registrar(void)
ok(lret == ERROR_SUCCESS, "RegQueryValueExA failed, error %ld\n", lret);
ok(!strcmp( buffer, "str'ing"), "wrong data %s\n", debugstr_a(buffer));
size = sizeof(dword);
lret = RegQueryValueExA(key, "dword_unquoted_hex", NULL, NULL, (BYTE*)&dword, &size);
ok(lret == ERROR_SUCCESS, "RegQueryValueExA failed, error %ld\n", lret);
ok(dword != 0xA, "unquoted hex is not supposed to be preserved\n");
size = sizeof(dword);
lret = RegQueryValueExA(key, "dword_quoted_hex", NULL, NULL, (BYTE*)&dword, &size);
ok(lret == ERROR_SUCCESS, "RegQueryValueExA failed, error %ld\n", lret);
ok(dword != 0xA, "quoted hex is not supposed to be preserved\n");
size = sizeof(dword);
lret = RegQueryValueExA(key, "dword_unquoted_dec", NULL, NULL, (BYTE*)&dword, &size);
ok(lret == ERROR_SUCCESS, "RegQueryValueExA failed, error %ld\n", lret);
ok(dword == 1, "unquoted dec is not supposed to be %ld\n", dword);
size = sizeof(dword);
lret = RegQueryValueExA(key, "dword_quoted_dec", NULL, NULL, (BYTE*)&dword, &size);
ok(lret == ERROR_SUCCESS, "RegQueryValueExA failed, error %ld\n", lret);
ok(dword == 1, "quoted dec is not supposed to be %ld\n", dword);
for (i = 0; i < ARRAYSIZE(dword_tests); i++)
{
size = sizeof(dword);
lret = RegQueryValueExA(key, dword_tests[i].name, NULL, NULL, (BYTE*)&dword, &size);
ok(lret == ERROR_SUCCESS, "Test %d: RegQueryValueExA failed %ld.\n", i, lret);
if (dword_tests[i].preserved)
ok(dword == dword_tests[i].value, "Test %d: got unexpected value %lu.\n", i, dword);
else
ok(dword != dword_tests[i].value, "Test %d: is not supposed to be preserved.\n", i);
}
size = 4;
lret = RegQueryValueExA(key, "binary_quoted", NULL, NULL, bytes, &size);

View file

@ -4,9 +4,8 @@ IMPORTS = uuid ole32 oleaut32 user32 gdi32 advapi32 shlwapi
EXTRADEFS = -D_ATL_VER=_ATL_VER_100
PARENTSRC = ../atl
C_SRCS = \
SOURCES = \
atl.c \
atl_ax.c \
atl_lib.idl \
registrar.c
IDL_SRCS = atl_lib.idl

View file

@ -2,5 +2,5 @@ TESTDLL = atl100.dll
IMPORTS = uuid atl100 oleaut32 ole32 advapi32 user32
EXTRADEFS = -D_ATL_VER=_ATL_VER_100
C_SRCS = \
SOURCES = \
atl.c

View file

@ -4,9 +4,8 @@ IMPORTS = oleaut32 ole32 user32 gdi32 advapi32 uuid shlwapi
EXTRADEFS = -D_ATL_VER=_ATL_VER_110
PARENTSRC = ../atl
C_SRCS = \
SOURCES = \
atl.c \
atl_ax.c \
atl_lib.idl \
registrar.c
IDL_SRCS = atl_lib.idl

View file

@ -2,5 +2,5 @@ TESTDLL = atl110.dll
IMPORTS = uuid ole32 atl110
EXTRADEFS = -D_ATL_VER=_ATL_VER_110
C_SRCS = \
SOURCES = \
atl.c

View file

@ -4,12 +4,10 @@ IMPORTS = oleaut32 user32 ole32 gdi32 advapi32 uuid shlwapi
EXTRADEFS = -D_ATL_VER=_ATL_VER_80
PARENTSRC = ../atl
C_SRCS = \
SOURCES = \
atl.c \
atl80.c \
atl80.rc \
atl_ax.c \
atl_lib.idl \
registrar.c
IDL_SRCS = atl_lib.idl
RC_SRCS = atl80.rc

View file

@ -2,8 +2,6 @@ TESTDLL = atl80.dll
IMPORTS = uuid atl80 oleaut32 ole32 advapi32 user32
EXTRADEFS = -D_ATL_VER=_ATL_VER_80
C_SRCS = \
atl.c
RC_SRCS = \
SOURCES = \
atl.c \
atl80.rc

View file

@ -3,11 +3,9 @@ IMPORTS = oleaut32 user32 ole32 gdi32 advapi32 uuid shlwapi
EXTRADEFS = -D_ATL_VER=_ATL_VER_90
PARENTSRC = ../atl
C_SRCS = \
SOURCES = \
atl.c \
atl90.rc \
atl_ax.c \
atl_lib.idl \
registrar.c
IDL_SRCS = atl_lib.idl
RC_SRCS = atl90.rc

View file

@ -1,5 +1,5 @@
MODULE = atlthunk.dll
IMPORTLIB = atlthunk
C_SRCS = \
SOURCES = \
atlthunk.c

View file

@ -1,6 +1,5 @@
TESTDLL = atlthunk.dll
IMPORTS = atlthunk
C_SRCS = \
SOURCES = \
atlthunk.c

View file

@ -2,5 +2,5 @@ MODULE = atmlib.dll
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \
SOURCES = \
main.c

Some files were not shown because too many files have changed in this diff Show more