mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 0a50674c6aabb0368811ece4078a2bb69d7ea1bb.
This commit is contained in:
parent
234a9fe775
commit
0df3e892fb
@ -1,151 +0,0 @@
|
||||
From 0582e37b52e2484a6f27b99b25fdf62afd31a4df Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 3 Sep 2020 17:59:10 +1000
|
||||
Subject: [PATCH] include: Add IXMLHTTPRequest2/3 interfaces
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/msxml6.idl | 106 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 106 insertions(+)
|
||||
|
||||
diff --git a/include/msxml6.idl b/include/msxml6.idl
|
||||
index bfea408ab21..1f35e965124 100644
|
||||
--- a/include/msxml6.idl
|
||||
+++ b/include/msxml6.idl
|
||||
@@ -244,6 +244,8 @@ typedef enum _SCHEMAWHITESPACE
|
||||
SCHEMAWHITESPACE_COLLAPSE = 2,
|
||||
} SCHEMAWHITESPACE;
|
||||
|
||||
+interface IXMLHTTPRequest2Callback;
|
||||
+interface IXMLHTTPRequest3Callback;
|
||||
|
||||
typedef enum _SCHEMATYPEVARIETY
|
||||
{
|
||||
@@ -393,6 +395,35 @@ interface IXMLDOMNode : IDispatch
|
||||
[in] VARIANT var1);
|
||||
}
|
||||
|
||||
+typedef struct tagXHR_COOKIE
|
||||
+{
|
||||
+ [ref, string] WCHAR *pwszUrl;
|
||||
+ [ref, string] WCHAR *pwszName;
|
||||
+ [unique, string] WCHAR *pwszValue;
|
||||
+ [unique, string] WCHAR *pwszP3PPolicy;
|
||||
+ FILETIME ftExpires;
|
||||
+ DWORD dwFlags;
|
||||
+} XHR_COOKIE;
|
||||
+
|
||||
+typedef [v1_enum] enum _XHR_PROPERTY
|
||||
+{
|
||||
+ XHR_PROP_NO_CRED_PROMPT = 0x0,
|
||||
+ XHR_PROP_NO_AUTH = 0x1,
|
||||
+ XHR_PROP_TIMEOUT = 0x2,
|
||||
+ XHR_PROP_NO_DEFAULT_HEADERS = 0x3,
|
||||
+ XHR_PROP_REPORT_REDIRECT_STATUS = 0x4,
|
||||
+ XHR_PROP_NO_CACHE = 0x5,
|
||||
+ XHR_PROP_EXTENDED_ERROR = 0x6,
|
||||
+ XHR_PROP_QUERY_STRING_UTF8 = 0x7,
|
||||
+ XHR_PROP_IGNORE_CERT_ERRORS = 0x8,
|
||||
+} XHR_PROPERTY;
|
||||
+
|
||||
+typedef struct tagXHR_CERT
|
||||
+{
|
||||
+ DWORD cbCert;
|
||||
+ [ref, size_is(cbCert)] BYTE *pbCert;
|
||||
+} XHR_CERT;
|
||||
+
|
||||
[
|
||||
local,
|
||||
object,
|
||||
@@ -1309,6 +1340,70 @@ interface IServerXMLHTTPRequest : IXMLHTTPRequest
|
||||
[in] VARIANT value);
|
||||
}
|
||||
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(e5d37dc0-552a-4d52-9cc0-a14d546fbd04),
|
||||
+ helpstring("IXMLHTTPRequest2 Interface")
|
||||
+]
|
||||
+interface IXMLHTTPRequest2 : IUnknown
|
||||
+{
|
||||
+ HRESULT Open([in, string, ref] const WCHAR *method, [in, string, ref] const WCHAR *url,
|
||||
+ [in] IXMLHTTPRequest2Callback *callback,
|
||||
+ [in, string, unique] const WCHAR *username, [in, string, unique] const WCHAR *password,
|
||||
+ [in, string, unique] const WCHAR *proxy_username, [in, string, unique] const WCHAR *proxy_password);
|
||||
+ HRESULT Send([in] ISequentialStream *body, [in] ULONGLONG body_size);
|
||||
+ HRESULT Abort();
|
||||
+ HRESULT SetCookie([in, ref] const XHR_COOKIE *cookie, [out] DWORD *state);
|
||||
+ HRESULT SetCustomResponseStream([in] ISequentialStream *stream);
|
||||
+ HRESULT SetProperty([in] XHR_PROPERTY property, [in] ULONGLONG value);
|
||||
+ HRESULT SetRequestHeader([in, string, ref] const WCHAR *header, [in, string, unique] const WCHAR *value);
|
||||
+ HRESULT GetAllResponseHeaders([out, string] WCHAR **headers);
|
||||
+ HRESULT GetCookie([in, ref, string] const WCHAR *url, [in, unique, string] const WCHAR *name, [in] DWORD dwFlags,
|
||||
+ [out] ULONG *cookies_count, [out, size_is(,*cookies_count)] XHR_COOKIE **cookies);
|
||||
+ HRESULT GetResponseHeader([in, string, ref] const WCHAR *header, [out, string] WCHAR **value);
|
||||
+}
|
||||
+
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(a1c9feee-0617-4f23-9d58-8961ea43567c),
|
||||
+ helpstring("IXMLHttpRequest3 Interface")
|
||||
+]
|
||||
+interface IXMLHTTPRequest3 : IXMLHTTPRequest2
|
||||
+{
|
||||
+ HRESULT SetClientCertificate([in] DWORD hash_size, [in, unique, size_is(hash_size)] const BYTE *hash,
|
||||
+ [in, string, unique] const WCHAR *pin);
|
||||
+}
|
||||
+
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(a44a9299-e321-40de-8866-341b41669162),
|
||||
+ helpstring("IXMLHTTPRequest2Callback Interface"),
|
||||
+ pointer_default(ref)
|
||||
+]
|
||||
+interface IXMLHTTPRequest2Callback : IUnknown
|
||||
+{
|
||||
+ HRESULT OnRedirect([in] IXMLHTTPRequest2 *request, [in, string] const WCHAR* redirect_url);
|
||||
+ HRESULT OnHeadersAvailable([in] IXMLHTTPRequest2 *request, [in] DWORD status, [in, string] const WCHAR *status_str);
|
||||
+ HRESULT OnDataAvailable([in] IXMLHTTPRequest2 *request, [in] ISequentialStream *response);
|
||||
+ HRESULT OnResponseReceived([in] IXMLHTTPRequest2 *request, [in] ISequentialStream *response);
|
||||
+ HRESULT OnError([in] IXMLHTTPRequest2 *request, [in] HRESULT error);
|
||||
+}
|
||||
+
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(b9e57830-8c6c-4a6f-9c13-47772bb047bb),
|
||||
+ helpstring("IXMLHttpRequest3Callback Interface")
|
||||
+]
|
||||
+interface IXMLHTTPRequest3Callback : IXMLHTTPRequest2Callback
|
||||
+{
|
||||
+ HRESULT OnServerCertificateReceived([in] IXMLHTTPRequest3 *request, [in] DWORD errors,
|
||||
+ [in] DWORD chain_size,
|
||||
+ [in, unique,size_is(chain_size)] const XHR_CERT *chain);
|
||||
+ HRESULT OnClientCertificateRequested([in] IXMLHTTPRequest3 *request, [in] DWORD issuers_size,
|
||||
+ [in, string, unique, size_is(issuers_size)] const WCHAR **issuers);
|
||||
+};
|
||||
+
|
||||
+
|
||||
[
|
||||
object,
|
||||
dual,
|
||||
@@ -3063,6 +3158,17 @@ coclass FreeThreadedDOMDocument60
|
||||
[default, source] dispinterface XMLDOMDocumentEvents;
|
||||
}
|
||||
|
||||
+[
|
||||
+ helpstring("Free Threaded XML HTTP Request class 6.0"),
|
||||
+ progid("Msxml2.FreeThreadedXMLHTTP60.6.0"),
|
||||
+ threading(both),
|
||||
+ uuid(88d96a09-f192-11d4-a65f-0040963251e5)
|
||||
+]
|
||||
+coclass FreeThreadedXMLHTTP60
|
||||
+{
|
||||
+ interface IXMLHTTPRequest2;
|
||||
+}
|
||||
+
|
||||
[
|
||||
helpstring("XML HTTP 6.0"),
|
||||
progid("Msxml2.XMLHTTP.6.0"),
|
||||
--
|
||||
2.29.2
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "c74508d22528548940db3c8ac6a350064ca445e9"
|
||||
echo "0a50674c6aabb0368811ece4078a2bb69d7ea1bb"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -261,7 +261,6 @@ patch_enable_all ()
|
||||
enable_winemenubuilder_Desktop_Icon_Path="$1"
|
||||
enable_winemenubuilder_integration="$1"
|
||||
enable_wineps_drv_PostScript_Fixes="$1"
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
enable_winex11_CandidateWindowPos="$1"
|
||||
enable_winex11_MWM_Decorations="$1"
|
||||
enable_winex11_UpdateLayeredWindow="$1"
|
||||
@ -828,9 +827,6 @@ patch_enable ()
|
||||
wineps.drv-PostScript_Fixes)
|
||||
enable_wineps_drv_PostScript_Fixes="$2"
|
||||
;;
|
||||
winepulse-PulseAudio_Support)
|
||||
enable_winepulse_PulseAudio_Support="$2"
|
||||
;;
|
||||
winex11-CandidateWindowPos)
|
||||
enable_winex11_CandidateWindowPos="$2"
|
||||
;;
|
||||
@ -2471,7 +2467,6 @@ fi
|
||||
# |
|
||||
if test "$enable_msxml3_FreeThreadedXMLHTTP60" -eq 1; then
|
||||
patch_apply msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch
|
||||
patch_apply msxml3-FreeThreadedXMLHTTP60/0002-include-Add-IXMLHTTPRequest2-3-interfaces.patch
|
||||
patch_apply msxml3-FreeThreadedXMLHTTP60/0003-msxml3-Implement-FreeThreadedXMLHTTP60.patch
|
||||
fi
|
||||
|
||||
@ -3910,22 +3905,6 @@ if test "$enable_wineps_drv_PostScript_Fixes" -eq 1; then
|
||||
patch_apply wineps.drv-PostScript_Fixes/0004-wineps.drv-Add-support-for-GETFACENAME-and-DOWNLOADF.patch
|
||||
fi
|
||||
|
||||
# Patchset winepulse-PulseAudio_Support
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37042] Implement exclusive mode in PulseAudio backend
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winepulse.drv/Makefile.in, dlls/winepulse.drv/mmdevdrv.c
|
||||
# |
|
||||
if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
|
||||
patch_apply winepulse-PulseAudio_Support/0001-winepulse.drv-Use-a-separate-mainloop-and-ctx-for-pu.patch
|
||||
patch_apply winepulse-PulseAudio_Support/0003-winepulse-expose-audio-devices-directly-to-programs.patch
|
||||
patch_apply winepulse-PulseAudio_Support/0005-winepulse-implement-GetPropValue.patch
|
||||
patch_apply winepulse-PulseAudio_Support/0006-winepulse-fetch-actual-program-name-if-possible.patch
|
||||
patch_apply winepulse-PulseAudio_Support/0007-winepulse-return-PKEY_AudioEndpoint_PhysicalSpeakers.patch
|
||||
fi
|
||||
|
||||
# Patchset winex11-CandidateWindowPos
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 5a33ff21b47fe88180df08a13d5ecb2c3ec15e7a Mon Sep 17 00:00:00 2001
|
||||
From 9f168a3042f1c5cd042626d4aaac46331e6696bc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 4 Nov 2015 02:57:56 +0100
|
||||
Subject: [PATCH] winepulse.drv: Use a separate mainloop and ctx for
|
||||
pulse_test_connect.
|
||||
|
||||
---
|
||||
dlls/winepulse.drv/mmdevdrv.c | 59 ++++++++++++++++-------------------
|
||||
1 file changed, 27 insertions(+), 32 deletions(-)
|
||||
dlls/winepulse.drv/pulse.c | 57 ++++++++++++++++++--------------------
|
||||
1 file changed, 27 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
|
||||
index 1c647c73d62..2d6cabed8c2 100644
|
||||
--- a/dlls/winepulse.drv/mmdevdrv.c
|
||||
+++ b/dlls/winepulse.drv/mmdevdrv.c
|
||||
@@ -457,7 +457,7 @@ static void convert_channel_map(const pa_channel_map *pa_map, WAVEFORMATEXTENSIB
|
||||
diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
|
||||
index 260723815f6..b55c5889e1b 100644
|
||||
--- a/dlls/winepulse.drv/pulse.c
|
||||
+++ b/dlls/winepulse.drv/pulse.c
|
||||
@@ -370,7 +370,7 @@ static void convert_channel_map(const pa_channel_map *pa_map, WAVEFORMATEXTENSIB
|
||||
fmt->dwChannelMask = pa_mask;
|
||||
}
|
||||
|
||||
@ -21,7 +21,7 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
WAVEFORMATEX *wfx = &fmt->Format;
|
||||
pa_stream *stream;
|
||||
pa_channel_map map;
|
||||
@@ -476,7 +476,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -389,7 +389,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
attr.minreq = attr.fragsize = pa_frame_size(&ss);
|
||||
attr.prebuf = 0;
|
||||
|
||||
@ -30,7 +30,7 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
if (stream)
|
||||
pa_stream_set_state_callback(stream, pulse_stream_state, NULL);
|
||||
if (!stream)
|
||||
@@ -487,7 +487,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -400,7 +400,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
else
|
||||
ret = pa_stream_connect_record(stream, NULL, &attr, PA_STREAM_START_CORKED|PA_STREAM_FIX_RATE|PA_STREAM_FIX_CHANNELS|PA_STREAM_EARLY_REQUESTS);
|
||||
if (ret >= 0) {
|
||||
@ -39,7 +39,7 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
pa_stream_get_state(stream) == PA_STREAM_CREATING)
|
||||
{}
|
||||
if (pa_stream_get_state(stream) == PA_STREAM_READY) {
|
||||
@@ -498,7 +498,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -411,7 +411,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
else
|
||||
length = pa_stream_get_buffer_attr(stream)->fragsize;
|
||||
pa_stream_disconnect(stream);
|
||||
@ -48,34 +48,29 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
pa_stream_get_state(stream) == PA_STREAM_READY)
|
||||
{}
|
||||
}
|
||||
@@ -620,10 +620,12 @@ static HRESULT pulse_test_connect(void)
|
||||
WCHAR path[MAX_PATH], *name;
|
||||
char *str;
|
||||
@@ -456,30 +456,31 @@ static HRESULT WINAPI pulse_test_connect(const char *name, struct pulse_config *
|
||||
{
|
||||
pa_operation *o;
|
||||
int ret;
|
||||
+ pa_mainloop *ml;
|
||||
+ pa_context *ctx;
|
||||
|
||||
pulse_lock();
|
||||
- pulse_ml = pa_mainloop_new();
|
||||
+ ml = pa_mainloop_new();
|
||||
|
||||
- pa_mainloop_set_poll_func(pulse_ml, pulse_poll_func, NULL);
|
||||
+ pa_mainloop_set_poll_func(ml, pulse_poll_func, NULL);
|
||||
|
||||
GetModuleFileNameW(NULL, path, ARRAY_SIZE(path));
|
||||
name = strrchrW(path, '\\');
|
||||
@@ -635,24 +637,23 @@ static HRESULT pulse_test_connect(void)
|
||||
str = pa_xmalloc(len);
|
||||
WideCharToMultiByte(CP_UNIXCP, 0, name, -1, str, len, NULL, NULL);
|
||||
TRACE("Name: %s\n", str);
|
||||
- pulse_ctx = pa_context_new(pa_mainloop_get_api(pulse_ml), str);
|
||||
+ ctx = pa_context_new(pa_mainloop_get_api(ml), str);
|
||||
pa_xfree(str);
|
||||
- pulse_ctx = pa_context_new(pa_mainloop_get_api(pulse_ml), name);
|
||||
- if (!pulse_ctx) {
|
||||
+ ctx = pa_context_new(pa_mainloop_get_api(ml), name);
|
||||
+ if (!ctx) {
|
||||
ERR("Failed to create context\n");
|
||||
- pa_mainloop_free(pulse_ml);
|
||||
- pulse_ml = NULL;
|
||||
+ pa_mainloop_free(ml);
|
||||
pulse_unlock();
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
@ -96,7 +91,7 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
|
||||
if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED)
|
||||
goto fail;
|
||||
@@ -661,38 +662,32 @@ static HRESULT pulse_test_connect(void)
|
||||
@@ -488,29 +489,27 @@ static HRESULT WINAPI pulse_test_connect(const char *name, struct pulse_config *
|
||||
break;
|
||||
}
|
||||
|
||||
@ -130,9 +125,12 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
- pulse_ctx = NULL;
|
||||
- pa_mainloop_free(pulse_ml);
|
||||
- pulse_ml = NULL;
|
||||
-
|
||||
+ pa_context_unref(ctx);
|
||||
+ pa_mainloop_free(ml);
|
||||
|
||||
config->speakers_mask = g_phys_speakers_mask;
|
||||
config->modes[0].format = pulse_fmt[0];
|
||||
@@ -525,10 +524,8 @@ static HRESULT WINAPI pulse_test_connect(const char *name, struct pulse_config *
|
||||
return S_OK;
|
||||
|
||||
fail:
|
||||
@ -140,12 +138,11 @@ index 1c647c73d62..2d6cabed8c2 100644
|
||||
- pulse_ctx = NULL;
|
||||
- pa_mainloop_free(pulse_ml);
|
||||
- pulse_ml = NULL;
|
||||
-
|
||||
+ pa_context_unref(ctx);
|
||||
+ pa_mainloop_free(ml);
|
||||
return E_FAIL;
|
||||
}
|
||||
pulse_unlock();
|
||||
|
||||
return E_FAIL;
|
||||
--
|
||||
2.17.1
|
||||
2.30.2
|
||||
|
||||
|
@ -3,3 +3,6 @@ Fixes: [37042] Implement exclusive mode in PulseAudio backend
|
||||
Fixes: Add support for GetPropValue to PulseAudio backend
|
||||
Fixes: Use actual program name if available to describe PulseAudio streams
|
||||
Fixes: Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
|
||||
Disabled: True
|
||||
|
||||
# Non-Trival to rebase
|
||||
|
@ -1 +1 @@
|
||||
c74508d22528548940db3c8ac6a350064ca445e9
|
||||
0a50674c6aabb0368811ece4078a2bb69d7ea1bb
|
||||
|
Loading…
Reference in New Issue
Block a user