Commit Graph

156083 Commits

Author SHA1 Message Date
Huw Davies e0ec4f8c19 wineoss: Use a pthread mutex for the stream lock.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Huw Davies 8298ca9e26 wineoss: Use the sessions lock to lock the client's data.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Huw Davies 8b7ed43d8a wineoss: Store the mute state in the stream.
Despite only mute being supported in this driver, set_stream_volumes()
is called whenever the volume info is changed to match the other drivers
and to allow a more complete volume implementation in the future.

The implementation will eventually move to the unixlib.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Huw Davies 8fc9bdff00 wineoss: Use the stream ptr to indicate the init state.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Alexandre Julliard 5cc2d4adc5 win32u: Support UTF-8 as the default Ansi codepage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Alexandre Julliard d8db12a958 win32u: Use CPTABLEINFO to store the Ansi/OEM codepages.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:41 +02:00
Alexandre Julliard 63ad05bc02 win32u: Use character sizes in the codepage conversion functions.
For consistency with ntdll.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:41 +02:00
Alexandre Julliard 65ff9caca0 win32u: Use the ntdll functions for codepage conversions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:41 +02:00
Alexandre Julliard 6eae7a24e2 ntdll: Export a few more codepage functions from ntdll.so.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:41 +02:00
Alexandre Julliard b47379c1f8 ntdll: Default to UTF-8 codepage at startup.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:41 +02:00
Nikolay Sivov 0b9c35edb4 evr: Add IAMFilterMiscFlags interface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 09:26:27 +02:00
Nikolay Sivov 22fa68bbd9 wbemprox: Remove string duplication helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 09:26:23 +02:00
Nikolay Sivov c867e2daca wbemprox: Use CRT memory allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 09:26:20 +02:00
Paul Gofman 02faaea93b kernelbase: Reset last error on success in CopyFileExW().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:56 +02:00
Paul Gofman d72d596070 msvcp140: Implement _Copy_file().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:52 +02:00
Gabriel Ivăncescu fa09e3f36c jscript: Throw proper error when invoking non-method builtin.
Instead of crashing.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:13 +02:00
Gabriel Ivăncescu 45d8af4cf3 jscript: Make idx props enumerable.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:10 +02:00
Gabriel Ivăncescu 67fef476c7 jscript: Handle PROP_IDX in jsdisp_get_own_property.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:05 +02:00
Gabriel Ivăncescu 6843cecb53 urlmon: Return the currently set user agent when 'version' is invalid.
ObtainUserAgentString returns the currently set (custom) user agent unless
the version requested is a valid one (7, 8, ... 11, or 7 | UAS_EXACTLEGACY),
in which case it uses that version to build the user agent.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:14:59 +02:00
Gabriel Ivăncescu 0badd67e70 mshtml: Always return the custom user agent if it has been set.
This uses the undocumented MapBrowserEmulationModeToUserAgent and only the
first field of the unknown struct, but it is enough for this purpose. It
is important for some apps (e.g. FFXIV Launcher) which expects it to work
like this.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:14:53 +02:00
Gabriel Ivăncescu 735ac6eb8f urlmon: Add basic implementation of MapBrowserEmulationModeToUserAgent.
This is necessary for mshtml's navigator userAgent to work properly, since
some apps expect it.

The second argument seems to be output pointer that gets allocated (by
CoTaskMemAlloc, or something compatible with it), but the first argument
seems to be a pointer to an unknown struct, which makes it almost impossible
to guess reliably what it does by just inspecting its behavior...

Thankfully, it seems only the first DWORD field is necessary for
this. Changing it returns the user agent for that given mode, if the rest
is zeros.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:14:48 +02:00
Huw Davies d4a2f4d44b wineoss: Move get_mix_format to the unixlib.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:19:00 +02:00
Huw Davies 12c7f79afd wineoss: Move the stream creation to AudioClient_Initialize().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:58 +02:00
Huw Davies 98624b1825 wineoss: Don't cache the oss_audioinfo in the client.
The retrieval on endpoint creation is left in for debugging
purposes.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:55 +02:00
Huw Davies a465ecd745 wineoss: Move is_format_supported to the unixlib.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:52 +02:00
Huw Davies f9f3ece6ca wineoss: Introduce a stream structure.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:49 +02:00
Huw Davies 13d69651f6 wineoss: Use the global lock to lock the session.
Mainly for simplicity.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:46 +02:00
Huw Davies aca2193671 wineoss: Dynamically size the devnode array.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:44 +02:00
Huw Davies 9ff920cdd9 wineoss: Explicitly store the channel count in the client.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:41 +02:00
Julian Rüger 5fc32a204d po: Update German translation.
Signed-off-by: Julian Rüger <jr98@gmx.net>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:35:37 +02:00
Alexandros Frantzis 4f705f6f62 win32u: Avoid iterating over a NULL window list when broadcasting.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:35:20 +02:00
Nikolay Sivov b159edc679 mfplat: Fix alignment used by audio buffers created with MFCreateMediaBufferFromMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov a08be2a2f8 hlink: Return requested interface from HlinkCreateFromString().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov 19f802c091 hlink: Return correct requested interface from HlinkCreateFromMoniker().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov bbb9c273d2 hlink: Return requested interface when creating IHlink instance.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov 759e2eff8b hlink: Return requested interface when creating IHlinkBrowseContext instance.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov 0dad77afa9 hlink: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov 28423d79d4 evr/mixer: Implement GetVideoProcessorCaps().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov 0289b9c23a evr/mixer: Implement GetAvailableVideoProcessorModes().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban 91d6e8b4ab winex11: Directly use ntdll for registry access in write_registry_settings.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban bdbbc3467c winex11: Directly use ntdll for registry access in read_registry_settings.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban 1e2dd059e9 winex11: Directly use ntdll for registry access in get_display_device_reg_key.
Also just open the key in write_registry_settings, it should be already
created by win32u.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban 50c7404885 winex11: Directly use ntdll for registry access in X11DRV_GetICMProfile.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban 824e9bddd5 winex11: Directly use ntdll for registry access in create_xcursor_system_cursor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Jacek Caban a3ebf88ad5 winex11: Directly use ntdll for registry access in setup_options.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Alexandre Julliard 1790546d03 kernelbase: Support UTF-8 as default Ansi codepage in WideCharToMultiByte().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Alexandre Julliard 2cc54d4b85 kernelbase: Support UTF-8 as default Ansi codepage in MultiByteToWideChar().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Alexandre Julliard 8993e15cfa kernelbase: Support UTF-7/8 codepages in get_codepage_table().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Alexandre Julliard fd2ecee06f kernelbase: Avoid redundant locale lookups in GetLocaleInfoA().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Alexandre Julliard 23834ee3b8 kernelbase: Use RtlMultiByteToUnicodeN in IsChar* functions.
In case the Ansi codepage was set to UTF-8.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00