You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8699d2c2f6 | ||
|
e7622edfc9 | ||
|
c9652a68e1 | ||
|
6be691c005 | ||
|
850b7f6540 | ||
|
776c47da46 | ||
|
a51c679f34 | ||
|
366a9020dc | ||
|
a8e56928ef | ||
|
f0e38f512c | ||
|
3d9f724967 | ||
|
4e4376778f | ||
|
94e31f7578 | ||
|
560db77d41 | ||
|
2d5e6b24dc | ||
|
37c1363814 |
13
.github/workflows/macOS.yml
vendored
13
.github/workflows/macOS.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
brew install bison \
|
||||
gphoto2 \
|
||||
gst-plugins-base \
|
||||
gcenx/wine/mingw-w64@9 \
|
||||
mingw-w64 \
|
||||
molten-vk \
|
||||
sdl2
|
||||
|
||||
@@ -28,7 +28,6 @@ jobs:
|
||||
set -eu
|
||||
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix krb5)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix mingw-w64@9)/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get upstream-commit
|
||||
run: |
|
||||
@@ -62,8 +61,6 @@ jobs:
|
||||
--x-lib=/opt/X11/lib
|
||||
|
||||
- name: Build wine64
|
||||
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
|
||||
# use gcenx/wine/mingw-w64@9 this uses binutils 2.37
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
make -j$(sysctl -n hw.ncpu 2>/dev/null)
|
||||
@@ -79,12 +76,9 @@ jobs:
|
||||
brew update
|
||||
brew install --cask xquartz
|
||||
brew install bison \
|
||||
faudio \
|
||||
gphoto2 \
|
||||
gst-plugins-base \
|
||||
jxrlib \
|
||||
little-cms2 \
|
||||
gcenx/wine/mingw-w64@9 \
|
||||
mingw-w64 \
|
||||
molten-vk \
|
||||
mpg123
|
||||
|
||||
@@ -93,7 +87,6 @@ jobs:
|
||||
set -eu
|
||||
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix krb5)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix mingw-w64@9)/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get upstream-commit
|
||||
run: |
|
||||
@@ -125,8 +118,6 @@ jobs:
|
||||
--x-lib=/opt/X11/lib
|
||||
|
||||
- name: Build wine64
|
||||
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
|
||||
# use gcenx/wine/mingw-w64@9 this uses binutils 2.37
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
make -j$(sysctl -n hw.ncpu 2>/dev/null)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 415ededb3cceae15cb05a1860cef1d4e5e055b27 Mon Sep 17 00:00:00 2001
|
||||
From 5d29a2de174042ce7bdd52d92337591933e0f761 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Harmstone <mark@harmstone.com>
|
||||
Date: Fri, 27 Mar 2015 20:58:37 +0000
|
||||
Subject: [PATCH] dsound: Add EAX init and free stubs.
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] dsound: Add EAX init and free stubs.
|
||||
3 files changed, 33 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index 6bbf468d136..e27fdfdecc4 100644
|
||||
index e8b3fb4a832..28f2e95994e 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -1110,6 +1110,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
|
||||
@@ -1153,6 +1153,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
|
||||
DSOUND_RecalcVolPan(&(dsb->volpan));
|
||||
|
||||
InitializeSRWLock(&dsb->lock);
|
||||
@@ -22,20 +22,20 @@ index 6bbf468d136..e27fdfdecc4 100644
|
||||
|
||||
/* register buffer */
|
||||
err = DirectSoundDevice_AddBuffer(device, dsb);
|
||||
@@ -1150,6 +1152,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This)
|
||||
@@ -1194,6 +1196,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This)
|
||||
HeapFree(GetProcessHeap(), 0, This->filters);
|
||||
}
|
||||
|
||||
+ free_eax_buffer(This);
|
||||
+
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
|
||||
TRACE("(%p) released\n", This);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index 3b4c4f290a4..8dbb9edb594 100644
|
||||
index 267b2c044bc..c906eb2adb1 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -234,6 +234,8 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
|
||||
@@ -240,6 +240,8 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
|
||||
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
|
||||
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
|
||||
ULONG cbPropData) DECLSPEC_HIDDEN;
|
||||
@@ -45,7 +45,7 @@ index 3b4c4f290a4..8dbb9edb594 100644
|
||||
/* mixer.c */
|
||||
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
|
||||
index 3931681d295..c0afb0f1acf 100644
|
||||
index 03b6e0a9813..91438efc335 100644
|
||||
--- a/dlls/dsound/eax.c
|
||||
+++ b/dlls/dsound/eax.c
|
||||
@@ -92,20 +92,46 @@ static const EFXEAXREVERBPROPERTIES efx_presets[] = {
|
||||
@@ -97,5 +97,5 @@ index 3931681d295..c0afb0f1acf 100644
|
||||
|
||||
HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
|
||||
--
|
||||
2.27.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,134 +0,0 @@
|
||||
From bdd925e61fa6ba20272960bfea8e0638d20060f1 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <jzeng@codeweavers.com>
|
||||
Date: Fri, 3 Jun 2022 02:50:29 -0500
|
||||
Subject: [PATCH 1/2] dwmapi: Fill rateRefresh/rateCompose and qpcRefreshPeriod
|
||||
of DWM_TIMING_INFO from DwmGetCompositionTimingInfo().
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53035
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53038
|
||||
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
|
||||
---
|
||||
dlls/dwmapi/Makefile.in | 1 +
|
||||
dlls/dwmapi/dwmapi_main.c | 27 ++++++++++++++++++++++++++-
|
||||
dlls/dwmapi/tests/Makefile.in | 2 +-
|
||||
dlls/dwmapi/tests/dwmapi.c | 22 ++++++++++++++++++++++
|
||||
4 files changed, 50 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/dwmapi/Makefile.in b/dlls/dwmapi/Makefile.in
|
||||
index e63dbc2ea00..37411a57608 100644
|
||||
--- a/dlls/dwmapi/Makefile.in
|
||||
+++ b/dlls/dwmapi/Makefile.in
|
||||
@@ -1,4 +1,5 @@
|
||||
MODULE = dwmapi.dll
|
||||
+IMPORTS = user32
|
||||
IMPORTLIB = dwmapi
|
||||
|
||||
EXTRADLLFLAGS = -Wb,--prefer-native
|
||||
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
|
||||
index 6bb086a87d1..1fb522e389a 100644
|
||||
--- a/dlls/dwmapi/dwmapi_main.c
|
||||
+++ b/dlls/dwmapi/dwmapi_main.c
|
||||
@@ -211,12 +211,28 @@ HRESULT WINAPI DwmRegisterThumbnail(HWND dest, HWND src, PHTHUMBNAIL thumbnail_i
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
+static int get_display_frequency(void)
|
||||
+{
|
||||
+ DEVMODEA mode;
|
||||
+
|
||||
+ memset(&mode, 0, sizeof(mode));
|
||||
+ mode.dmSize = sizeof(mode);
|
||||
+ if (EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &mode))
|
||||
+ return mode.dmDisplayFrequency;
|
||||
+ else
|
||||
+ {
|
||||
+ WARN("Failed to query display frequency, returning a fallback value.\n");
|
||||
+ return 60;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/**********************************************************************
|
||||
* DwmGetCompositionTimingInfo (DWMAPI.@)
|
||||
*/
|
||||
HRESULT WINAPI DwmGetCompositionTimingInfo(HWND hwnd, DWM_TIMING_INFO *info)
|
||||
{
|
||||
- static int i;
|
||||
+ LARGE_INTEGER performance_frequency;
|
||||
+ static int i, display_frequency;
|
||||
|
||||
if (!info)
|
||||
return E_INVALIDARG;
|
||||
@@ -229,6 +245,15 @@ HRESULT WINAPI DwmGetCompositionTimingInfo(HWND hwnd, DWM_TIMING_INFO *info)
|
||||
memset(info, 0, info->cbSize);
|
||||
info->cbSize = sizeof(DWM_TIMING_INFO);
|
||||
|
||||
+ display_frequency = get_display_frequency();
|
||||
+ info->rateRefresh.uiNumerator = display_frequency;
|
||||
+ info->rateRefresh.uiDenominator = 1;
|
||||
+ info->rateCompose.uiNumerator = display_frequency;
|
||||
+ info->rateCompose.uiDenominator = 1;
|
||||
+
|
||||
+ QueryPerformanceFrequency(&performance_frequency);
|
||||
+ info->qpcRefreshPeriod = performance_frequency.QuadPart / display_frequency;
|
||||
+
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
diff --git a/dlls/dwmapi/tests/Makefile.in b/dlls/dwmapi/tests/Makefile.in
|
||||
index 6c6130401d6..e819e3ca09a 100644
|
||||
--- a/dlls/dwmapi/tests/Makefile.in
|
||||
+++ b/dlls/dwmapi/tests/Makefile.in
|
||||
@@ -1,5 +1,5 @@
|
||||
TESTDLL = dwmapi.dll
|
||||
-IMPORTS = dwmapi
|
||||
+IMPORTS = dwmapi user32
|
||||
|
||||
C_SRCS = \
|
||||
dwmapi.c
|
||||
diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c
|
||||
index 696aa9c9d86..29dbcbe74bd 100644
|
||||
--- a/dlls/dwmapi/tests/dwmapi.c
|
||||
+++ b/dlls/dwmapi/tests/dwmapi.c
|
||||
@@ -35,7 +35,11 @@ static void test_DwmIsCompositionEnabled(void)
|
||||
|
||||
static void test_DwmGetCompositionTimingInfo(void)
|
||||
{
|
||||
+ LARGE_INTEGER performance_frequency;
|
||||
+ int result, display_frequency;
|
||||
DWM_TIMING_INFO timing_info;
|
||||
+ QPC_TIME refresh_period;
|
||||
+ DEVMODEA mode;
|
||||
BOOL enabled;
|
||||
HRESULT hr;
|
||||
|
||||
@@ -56,9 +60,27 @@ static void test_DwmGetCompositionTimingInfo(void)
|
||||
hr = DwmGetCompositionTimingInfo(NULL, &timing_info);
|
||||
ok(hr == MILERR_MISMATCHED_SIZE, "Got hr %#lx.\n", hr);
|
||||
|
||||
+ memset(&mode, 0, sizeof(mode));
|
||||
+ mode.dmSize = sizeof(mode);
|
||||
+ result = EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &mode);
|
||||
+ ok(!!result, "Failed to get display mode %#lx.\n", GetLastError());
|
||||
+ display_frequency = mode.dmDisplayFrequency;
|
||||
+ ok(!!QueryPerformanceFrequency(&performance_frequency), "Failed to get performance counter frequency.\n");
|
||||
+ refresh_period = performance_frequency.QuadPart / display_frequency;
|
||||
+
|
||||
timing_info.cbSize = sizeof(timing_info);
|
||||
hr = DwmGetCompositionTimingInfo(NULL, &timing_info);
|
||||
ok(hr == S_OK, "Got hr %#lx.\n", hr);
|
||||
+ ok(timing_info.cbSize == sizeof(timing_info), "Got wrong struct size %d.\n", timing_info.cbSize);
|
||||
+ ok(timing_info.rateRefresh.uiDenominator == 1 && timing_info.rateRefresh.uiNumerator == display_frequency,
|
||||
+ "Got wrong monitor refresh rate %d/%d.\n", timing_info.rateRefresh.uiDenominator,
|
||||
+ timing_info.rateRefresh.uiNumerator);
|
||||
+ ok(timing_info.rateCompose.uiDenominator == 1 && timing_info.rateCompose.uiNumerator == display_frequency,
|
||||
+ "Got wrong composition rate %d/%d.\n", timing_info.rateCompose.uiDenominator,
|
||||
+ timing_info.rateCompose.uiNumerator);
|
||||
+ ok(timing_info.qpcRefreshPeriod == refresh_period
|
||||
+ || broken(timing_info.qpcRefreshPeriod == display_frequency), /* win10 v1507 */
|
||||
+ "Got wrong monitor refresh period %s.\n", wine_dbgstr_longlong(timing_info.qpcRefreshPeriod));
|
||||
}
|
||||
|
||||
START_TEST(dwmapi)
|
||||
--
|
||||
2.35.1
|
||||
|
@@ -1,27 +0,0 @@
|
||||
From e1cdd6b53b73325cdb12815135162e43270df2ea Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <jzeng@codeweavers.com>
|
||||
Date: Fri, 3 Jun 2022 02:50:30 -0500
|
||||
Subject: [PATCH 2/2] dwmapi: Return S_OK from DwmFlush().
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53035
|
||||
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
|
||||
---
|
||||
dlls/dwmapi/dwmapi_main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
|
||||
index 1fb522e389a..1a65410c7eb 100644
|
||||
--- a/dlls/dwmapi/dwmapi_main.c
|
||||
+++ b/dlls/dwmapi/dwmapi_main.c
|
||||
@@ -92,7 +92,7 @@ HRESULT WINAPI DwmFlush(void)
|
||||
|
||||
if (!once++) FIXME("() stub\n");
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
--
|
||||
2.35.1
|
||||
|
@@ -1,2 +0,0 @@
|
||||
Fixes: [53038] - dwmapi: Supply some defaults values for DwmGetCompositionTimingInfo.
|
||||
Fixes: [53035] - dwmapi: DwmFlush return S_OK.
|
@@ -1,4 +1,4 @@
|
||||
From 0dc447fc1d384c9412e9c8f55bfef9adfaeec994 Mon Sep 17 00:00:00 2001
|
||||
From 6fbc3bae354dec9fdd4a9a4e3e3a76340b66fd3f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 5 Aug 2017 03:39:23 +0200
|
||||
Subject: [PATCH] ntdll: Use fast CS functions for heap locking.
|
||||
@@ -8,64 +8,64 @@ Subject: [PATCH] ntdll: Use fast CS functions for heap locking.
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
|
||||
index 1b6337d4ce8..ea2d4153b96 100644
|
||||
index 40c317417ce..60185aac2c6 100644
|
||||
--- a/dlls/ntdll/heap.c
|
||||
+++ b/dlls/ntdll/heap.c
|
||||
@@ -457,13 +457,13 @@ static inline ULONG heap_get_flags( const HEAP *heap, ULONG flags )
|
||||
static void heap_lock( HEAP *heap, ULONG flags )
|
||||
@@ -469,13 +469,13 @@ static inline ULONG heap_get_flags( const struct heap *heap, ULONG flags )
|
||||
static void heap_lock( struct heap *heap, ULONG flags )
|
||||
{
|
||||
if (heap_get_flags( heap, flags ) & HEAP_NO_SERIALIZE) return;
|
||||
- RtlEnterCriticalSection( &heap->cs );
|
||||
+ enter_critical_section( &heap->cs );
|
||||
}
|
||||
|
||||
static void heap_unlock( HEAP *heap, ULONG flags )
|
||||
static void heap_unlock( struct heap *heap, ULONG flags )
|
||||
{
|
||||
if (heap_get_flags( heap, flags ) & HEAP_NO_SERIALIZE) return;
|
||||
- RtlLeaveCriticalSection( &heap->cs );
|
||||
+ leave_critical_section( &heap->cs );
|
||||
}
|
||||
|
||||
static void heap_set_status( const HEAP *heap, ULONG flags, NTSTATUS status )
|
||||
@@ -1401,9 +1401,9 @@ HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, SIZE_T totalSize, SIZE_T c
|
||||
static void heap_set_status( const struct heap *heap, ULONG flags, NTSTATUS status )
|
||||
@@ -1383,9 +1383,9 @@ HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, SIZE_T totalSize, SIZE_T c
|
||||
/* link it into the per-process heap list */
|
||||
if (processHeap)
|
||||
if (process_heap)
|
||||
{
|
||||
- RtlEnterCriticalSection( &processHeap->cs );
|
||||
+ enter_critical_section( &processHeap->cs );
|
||||
list_add_head( &processHeap->entry, &heap->entry );
|
||||
- RtlLeaveCriticalSection( &processHeap->cs );
|
||||
+ leave_critical_section( &processHeap->cs );
|
||||
- RtlEnterCriticalSection( &process_heap->cs );
|
||||
+ enter_critical_section( &process_heap->cs );
|
||||
list_add_head( &process_heap->entry, &heap->entry );
|
||||
- RtlLeaveCriticalSection( &process_heap->cs );
|
||||
+ leave_critical_section( &process_heap->cs );
|
||||
}
|
||||
else if (!addr)
|
||||
{
|
||||
@@ -1447,9 +1447,9 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE heap )
|
||||
if (heap == processHeap) return heap; /* cannot delete the main process heap */
|
||||
@@ -1441,9 +1441,9 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE handle )
|
||||
if (heap == process_heap) return handle; /* cannot delete the main process heap */
|
||||
|
||||
/* remove it from the per-process list */
|
||||
- RtlEnterCriticalSection( &processHeap->cs );
|
||||
+ enter_critical_section( &processHeap->cs );
|
||||
list_remove( &heapPtr->entry );
|
||||
- RtlLeaveCriticalSection( &processHeap->cs );
|
||||
+ leave_critical_section( &processHeap->cs );
|
||||
- RtlEnterCriticalSection( &process_heap->cs );
|
||||
+ enter_critical_section( &process_heap->cs );
|
||||
list_remove( &heap->entry );
|
||||
- RtlLeaveCriticalSection( &process_heap->cs );
|
||||
+ leave_critical_section( &process_heap->cs );
|
||||
|
||||
heapPtr->cs.DebugInfo->Spare[0] = 0;
|
||||
RtlDeleteCriticalSection( &heapPtr->cs );
|
||||
@@ -1930,7 +1930,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
heap->cs.DebugInfo->Spare[0] = 0;
|
||||
RtlDeleteCriticalSection( &heap->cs );
|
||||
@@ -1938,7 +1938,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
ULONG total = 1; /* main heap */
|
||||
struct list *ptr;
|
||||
|
||||
- RtlEnterCriticalSection( &processHeap->cs );
|
||||
+ enter_critical_section( &processHeap->cs );
|
||||
LIST_FOR_EACH( ptr, &processHeap->entry ) total++;
|
||||
- RtlEnterCriticalSection( &process_heap->cs );
|
||||
+ enter_critical_section( &process_heap->cs );
|
||||
LIST_FOR_EACH( ptr, &process_heap->entry ) total++;
|
||||
if (total <= count)
|
||||
{
|
||||
@@ -1938,7 +1938,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
LIST_FOR_EACH( ptr, &processHeap->entry )
|
||||
*heaps++ = LIST_ENTRY( ptr, HEAP, entry );
|
||||
@@ -1946,7 +1946,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
LIST_FOR_EACH( ptr, &process_heap->entry )
|
||||
*heaps++ = LIST_ENTRY( ptr, struct heap, entry );
|
||||
}
|
||||
- RtlLeaveCriticalSection( &processHeap->cs );
|
||||
+ leave_critical_section( &processHeap->cs );
|
||||
- RtlLeaveCriticalSection( &process_heap->cs );
|
||||
+ leave_critical_section( &process_heap->cs );
|
||||
return total;
|
||||
}
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
From 35bc7e69e9100202e0f0d91ee66449a13ef4d075 Mon Sep 17 00:00:00 2001
|
||||
From a25c97e1a004f773d8d1ad4d233aa140ca8d9c63 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 30 Apr 2019 16:24:54 -0600
|
||||
Subject: ntdll: Allow creation of dangling reparse points to non-existent
|
||||
paths.
|
||||
Subject: [PATCH] ntdll: Allow creation of dangling reparse points to
|
||||
non-existent paths.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@@ -10,22 +10,22 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index e082ff5d322..e749e192f6f 100644
|
||||
index 82abd3e451b..fb4b3b65756 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -3402,7 +3402,8 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
@@ -3394,7 +3394,8 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
/* if this is the last element, not finding it is not necessarily fatal */
|
||||
if (!name_len)
|
||||
{
|
||||
- if (status == STATUS_OBJECT_PATH_NOT_FOUND)
|
||||
+ if (status == STATUS_OBJECT_PATH_NOT_FOUND
|
||||
- if (status == STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
+ if (status == STATUS_OBJECT_NAME_NOT_FOUND
|
||||
+ || (disposition == FILE_WINE_PATH && status == STATUS_OBJECT_NAME_NOT_FOUND))
|
||||
{
|
||||
status = STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
if (disposition != FILE_OPEN && disposition != FILE_OVERWRITE)
|
||||
@@ -3422,6 +3423,20 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
status = STATUS_OBJECT_NAME_COLLISION;
|
||||
{
|
||||
@@ -3416,6 +3417,20 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
}
|
||||
if (end < next) strcat( unix_name, "/" );
|
||||
}
|
||||
+ else if (disposition == FILE_WINE_PATH && (status == STATUS_OBJECT_PATH_NOT_FOUND
|
||||
+ || status == STATUS_OBJECT_NAME_NOT_FOUND))
|
||||
@@ -41,10 +41,10 @@ index e082ff5d322..e749e192f6f 100644
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
else if (status == STATUS_OBJECT_NAME_NOT_FOUND) status = STATUS_OBJECT_PATH_NOT_FOUND;
|
||||
|
||||
if (status != STATUS_SUCCESS) break;
|
||||
|
||||
@@ -6080,7 +6095,7 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
@@ -6076,7 +6091,7 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
status = STATUS_NO_MEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -54,5 +54,5 @@ index e082ff5d322..e749e192f6f 100644
|
||||
free( unix_dest );
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "631f4d5e42b7c2f705eb4b40eeea0ce1866bf513"
|
||||
echo "b2bf7b6b899dc18d092deebb0356a909db656ba8"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 7.10"
|
||||
echo "Wine Staging 7.12"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -108,7 +108,6 @@ patch_enable_all ()
|
||||
enable_dinput_joy_mappings="$1"
|
||||
enable_dsound_EAX="$1"
|
||||
enable_dsound_Fast_Mixer="$1"
|
||||
enable_dwmapi_DwmGetCompositionTimingInfo="$1"
|
||||
enable_dwrite_FontFallback="$1"
|
||||
enable_eventfd_synchronization="$1"
|
||||
enable_explorer_Video_Registry_Key="$1"
|
||||
@@ -244,6 +243,7 @@ patch_enable_all ()
|
||||
enable_winemenubuilder_integration="$1"
|
||||
enable_wineps_drv_PostScript_Fixes="$1"
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
enable_winepulse_aux_channels="$1"
|
||||
enable_winex11_CandidateWindowPos="$1"
|
||||
enable_winex11_MWM_Decorations="$1"
|
||||
enable_winex11_UpdateLayeredWindow="$1"
|
||||
@@ -349,9 +349,6 @@ patch_enable ()
|
||||
dsound-Fast_Mixer)
|
||||
enable_dsound_Fast_Mixer="$2"
|
||||
;;
|
||||
dwmapi-DwmGetCompositionTimingInfo)
|
||||
enable_dwmapi_DwmGetCompositionTimingInfo="$2"
|
||||
;;
|
||||
dwrite-FontFallback)
|
||||
enable_dwrite_FontFallback="$2"
|
||||
;;
|
||||
@@ -757,6 +754,9 @@ patch_enable ()
|
||||
winepulse-PulseAudio_Support)
|
||||
enable_winepulse_PulseAudio_Support="$2"
|
||||
;;
|
||||
winepulse-aux_channels)
|
||||
enable_winepulse_aux_channels="$2"
|
||||
;;
|
||||
winex11-CandidateWindowPos)
|
||||
enable_winex11_CandidateWindowPos="$2"
|
||||
;;
|
||||
@@ -1723,20 +1723,6 @@ if test "$enable_dsound_EAX" -eq 1; then
|
||||
patch_apply dsound-EAX/0023-dsound-Fake-success-for-EAX-Set-Buffer-ListenerPrope.patch
|
||||
fi
|
||||
|
||||
# Patchset dwmapi-DwmGetCompositionTimingInfo
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#53038] - dwmapi: Supply some defaults values for DwmGetCompositionTimingInfo.
|
||||
# | * [#53035] - dwmapi: DwmFlush return S_OK.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dwmapi/Makefile.in, dlls/dwmapi/dwmapi_main.c, dlls/dwmapi/tests/Makefile.in, dlls/dwmapi/tests/dwmapi.c
|
||||
# |
|
||||
if test "$enable_dwmapi_DwmGetCompositionTimingInfo" -eq 1; then
|
||||
patch_apply dwmapi-DwmGetCompositionTimingInfo/0001-dwmapi-Fill-rateRefresh-rateCompose-and-qpcRefreshPe.patch
|
||||
patch_apply dwmapi-DwmGetCompositionTimingInfo/0002-dwmapi-Return-S_OK-from-DwmFlush.patch
|
||||
fi
|
||||
|
||||
# Patchset dwrite-FontFallback
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3188,7 +3174,7 @@ fi
|
||||
# | * [#37706] Fix return value of ScrollWindowEx for invisible windows
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/painting.c
|
||||
# | * dlls/win32u/dce.c
|
||||
# |
|
||||
if test "$enable_user32_ScrollWindowEx" -eq 1; then
|
||||
patch_apply user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch
|
||||
@@ -3281,7 +3267,7 @@ fi
|
||||
# | * [#45882] - Raw Input should use untransformed mouse values (affects Overwatch, several Source games).
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/rawinput.c, dlls/winex11.drv/mouse.c, server/queue.c
|
||||
# | * dlls/win32u/rawinput.c, dlls/winex11.drv/mouse.c, server/queue.c
|
||||
# |
|
||||
if test "$enable_user32_rawinput_mouse_experimental" -eq 1; then
|
||||
patch_apply user32-rawinput-mouse-experimental/0001-server-Clear-the-MOUSEEVENTF_-ABSOLUTE-VIRTUALDESK-f.patch
|
||||
@@ -3677,6 +3663,18 @@ 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
|
||||
fi
|
||||
|
||||
# Patchset winepulse-aux_channels
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#52572] Support PulseAudio channels aux0 and aux1.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winepulse.drv/pulse.c
|
||||
# |
|
||||
if test "$enable_winepulse_aux_channels" -eq 1; then
|
||||
patch_apply winepulse-aux_channels/0001-winepulse-Add-aux0-and-aux1-channels.patch
|
||||
fi
|
||||
|
||||
# Patchset winex11-CandidateWindowPos
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3934,7 +3932,6 @@ fi
|
||||
if test "$enable_xactengine3_7_callbacks" -eq 1; then
|
||||
patch_apply xactengine3_7-callbacks/0001-Add-support-for-private-contexts.patch
|
||||
patch_apply xactengine3_7-callbacks/0002-xactengine3_7-notifications.patch
|
||||
patch_apply xactengine3_7-callbacks/0003-Send-NOTIFY_CUESTOP-when-Stop-is-called.patch
|
||||
patch_apply xactengine3_7-callbacks/0004-xactengine3_7-Don-t-use-switch-with-constant-integer.patch
|
||||
fi
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From c79db3f36aa653ec986ba948e547202fd95ed151 Mon Sep 17 00:00:00 2001
|
||||
From fcd07d80234de455880990e2b2c488e9795f9dc0 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 3 Apr 2015 03:58:47 +0200
|
||||
Subject: [PATCH] server: Allow to open files without any permission bits. (try
|
||||
@@ -9,14 +9,14 @@ Changes in v2:
|
||||
* Pay attention to requested access attributes - this fixes a couple more todo_wine's.
|
||||
---
|
||||
dlls/advapi32/tests/security.c | 32 ++++++++++++--------------------
|
||||
server/fd.c | 20 ++++++++++++++++++++
|
||||
2 files changed, 32 insertions(+), 20 deletions(-)
|
||||
server/fd.c | 21 +++++++++++++++++++++
|
||||
2 files changed, 33 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 135a45f7727..2147d0f1700 100644
|
||||
index ed91ccc39d3..c534d1453d9 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3710,17 +3710,13 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3713,17 +3713,13 @@ static void test_CreateDirectoryA(void)
|
||||
error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
|
||||
OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
(PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
@@ -40,7 +40,7 @@ index 135a45f7727..2147d0f1700 100644
|
||||
CloseHandle(hTemp);
|
||||
|
||||
/* Test inheritance of ACLs in NtCreateFile without security descriptor */
|
||||
@@ -3789,17 +3785,13 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3792,17 +3788,13 @@ static void test_CreateDirectoryA(void)
|
||||
error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
|
||||
OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
(PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
@@ -65,7 +65,7 @@ index 135a45f7727..2147d0f1700 100644
|
||||
|
||||
done:
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index 31b64b30d43..2ff0b480f40 100644
|
||||
index bf59359de03..323dd92e653 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -2044,6 +2044,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
@@ -76,7 +76,7 @@ index 31b64b30d43..2ff0b480f40 100644
|
||||
int created = (flags & O_CREAT);
|
||||
|
||||
if (((options & FILE_DELETE_ON_CLOSE) && !(access & DELETE)) ||
|
||||
@@ -2116,10 +2117,28 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
@@ -2116,6 +2117,23 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
if ((access & FILE_UNIX_WRITE_ACCESS) || (flags & O_CREAT))
|
||||
fd->unix_fd = open( name, O_RDONLY | (flags & ~(O_TRUNC | O_CREAT | O_EXCL)), *mode );
|
||||
}
|
||||
@@ -100,12 +100,16 @@ index 31b64b30d43..2ff0b480f40 100644
|
||||
|
||||
if (fd->unix_fd == -1)
|
||||
{
|
||||
file_set_error();
|
||||
@@ -2124,6 +2142,8 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
set_error( STATUS_OBJECT_NAME_INVALID );
|
||||
else
|
||||
file_set_error();
|
||||
+
|
||||
+ if (do_chmod) chmod( name, *mode );
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
@@ -2130,6 +2149,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
@@ -2134,6 +2154,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
|
||||
closed_fd->unlink = 0;
|
||||
closed_fd->unlink_name = fd->unlink_name;
|
||||
closed_fd->unix_name = fd->unix_name;
|
||||
@@ -114,5 +118,5 @@ index 31b64b30d43..2ff0b480f40 100644
|
||||
*mode = st.st_mode;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,18 +1,19 @@
|
||||
From c7b125afcbf75d7a95c0fcb78c0dadf8f30fd61f Mon Sep 17 00:00:00 2001
|
||||
From 9de95b5af44aa9ac1cec60a27c70a546258a954d Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Fri, 15 May 2015 15:28:17 +0800
|
||||
Subject: ntdll/tests: Added tests for open behaviour on readonly files.
|
||||
Subject: [PATCH] ntdll/tests: Added tests for open behaviour on readonly
|
||||
files.
|
||||
|
||||
---
|
||||
dlls/ntdll/tests/file.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/tests/file.c | 78 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 78 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 2df0edc..d365303 100644
|
||||
index 35fab8ca427..5d6f9b83152 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -2073,6 +2073,83 @@ static void test_NtCreateFile(void)
|
||||
DeleteFileW( path );
|
||||
@@ -4259,6 +4259,83 @@ static void test_NtCreateFile(void)
|
||||
RemoveDirectoryW( path );
|
||||
}
|
||||
|
||||
+static void test_readonly(void)
|
||||
@@ -95,7 +96,7 @@ index 2df0edc..d365303 100644
|
||||
static void test_read_write(void)
|
||||
{
|
||||
static const char contents[14] = "1234567890abcd";
|
||||
@@ -2823,6 +2900,7 @@ START_TEST(file)
|
||||
@@ -5838,6 +5915,7 @@ START_TEST(file)
|
||||
|
||||
test_read_write();
|
||||
test_NtCreateFile();
|
||||
@@ -104,5 +105,5 @@ index 2df0edc..d365303 100644
|
||||
open_file_test();
|
||||
delete_file_test();
|
||||
--
|
||||
2.4.2
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,29 +1,33 @@
|
||||
From 1b619dbaf833182f1b522271e980a58b057767d6 Mon Sep 17 00:00:00 2001
|
||||
From 6d96e152773789f92da783e40969bf94624b7d61 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 12 Dec 2014 05:06:31 +0100
|
||||
Subject: user32: Fix return value of ScrollWindowEx for invisible windows.
|
||||
Subject: [PATCH] win32u: Fix return value of ScrollWindowEx for invisible
|
||||
windows.
|
||||
|
||||
---
|
||||
dlls/user32/painting.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
dlls/win32u/dce.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/painting.c b/dlls/user32/painting.c
|
||||
index 5c1dc69..2cc7703 100644
|
||||
--- a/dlls/user32/painting.c
|
||||
+++ b/dlls/user32/painting.c
|
||||
@@ -1430,10 +1430,10 @@ static INT scroll_window( HWND hwnd, INT dx, INT dy, const RECT *rect, const REC
|
||||
diff --git a/dlls/win32u/dce.c b/dlls/win32u/dce.c
|
||||
index 872112e4a24..4d56b23433e 100644
|
||||
--- a/dlls/win32u/dce.c
|
||||
+++ b/dlls/win32u/dce.c
|
||||
@@ -1672,10 +1672,13 @@ INT WINAPI NtUserScrollWindowEx( HWND hwnd, INT dx, INT dy, const RECT *rect,
|
||||
rdw_flags = (flags & SW_ERASE) && (flags & SW_INVALIDATE) ?
|
||||
RDW_INVALIDATE | RDW_ERASE : RDW_INVALIDATE ;
|
||||
RDW_INVALIDATE | RDW_ERASE : RDW_INVALIDATE;
|
||||
|
||||
- if (!WIN_IsWindowDrawable( hwnd, TRUE )) return ERROR;
|
||||
hwnd = WIN_GetFullHandle( hwnd );
|
||||
- if (!is_window_drawable( hwnd, TRUE )) return ERROR;
|
||||
hwnd = get_full_window_handle( hwnd );
|
||||
|
||||
- GetClientRect(hwnd, &rc);
|
||||
+ if (!WIN_IsWindowDrawable( hwnd, TRUE )) SetRectEmpty(&rc);
|
||||
+ else GetClientRect(hwnd, &rc);
|
||||
|
||||
if (clipRect) IntersectRect(&cliprc,&rc,clipRect);
|
||||
- get_client_rect( hwnd, &rc );
|
||||
+ if (!is_window_drawable( hwnd, TRUE ))
|
||||
+ SetRectEmpty( &rc );
|
||||
+ else
|
||||
+ get_client_rect( hwnd, &rc );
|
||||
+
|
||||
if (clip_rect) intersect_rect( &cliprc, &rc, clip_rect );
|
||||
else cliprc = rc;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
2.36.1
|
||||
|
||||
|
@@ -1,27 +1,26 @@
|
||||
From 3fde11e2e3cf70b4815d88283ec0947c019c5424 Mon Sep 17 00:00:00 2001
|
||||
From 0a849a6fcdab538be01d2eb3b0bb9c1dd42e9d6a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Mon, 25 Oct 2021 11:26:43 +0200
|
||||
Subject: [PATCH] user32: Add support for absolute rawinput messages.
|
||||
|
||||
---
|
||||
dlls/user32/rawinput.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
dlls/win32u/rawinput.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/user32/rawinput.c b/dlls/user32/rawinput.c
|
||||
index 3a316024656..d2c1f1cf2b5 100644
|
||||
--- a/dlls/user32/rawinput.c
|
||||
+++ b/dlls/user32/rawinput.c
|
||||
@@ -316,7 +316,9 @@ BOOL rawinput_from_hardware_message(RAWINPUT *rawinput, const struct hardware_ms
|
||||
diff --git a/dlls/win32u/rawinput.c b/dlls/win32u/rawinput.c
|
||||
index 81403771c4a..186bd1e52b1 100644
|
||||
--- a/dlls/win32u/rawinput.c
|
||||
+++ b/dlls/win32u/rawinput.c
|
||||
@@ -96,7 +96,8 @@ static bool rawinput_from_hardware_message( RAWINPUT *rawinput, const struct har
|
||||
rawinput->header.hDevice = WINE_MOUSE_HANDLE;
|
||||
rawinput->header.wParam = 0;
|
||||
|
||||
- rawinput->data.mouse.usFlags = MOUSE_MOVE_RELATIVE;
|
||||
+ rawinput->data.mouse.usFlags = msg_data->flags & MOUSEEVENTF_ABSOLUTE ? MOUSE_MOVE_ABSOLUTE : MOUSE_MOVE_RELATIVE;
|
||||
+ if (msg_data->flags & MOUSEEVENTF_VIRTUALDESK) rawinput->data.mouse.usFlags |= MOUSE_VIRTUAL_DESKTOP;
|
||||
+
|
||||
rawinput->data.mouse.usButtonFlags = 0;
|
||||
rawinput->data.mouse.usButtonData = 0;
|
||||
for (i = 1; i < ARRAY_SIZE(button_flags); ++i)
|
||||
--
|
||||
2.33.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From 012ebe712d84fa4242e3d44562aab45a5360b72c Mon Sep 17 00:00:00 2001
|
||||
From abb20359684c77a063f6f3106fa51d8e8b25efa8 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/pulse.c | 59 ++++++++++++++++++--------------------
|
||||
1 file changed, 28 insertions(+), 31 deletions(-)
|
||||
dlls/winepulse.drv/pulse.c | 61 ++++++++++++++++++--------------------
|
||||
1 file changed, 29 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
|
||||
index 6552e4ce250..e82e6f4d9a7 100644
|
||||
index 0e504b6b6dd..a1fcbcd8492 100644
|
||||
--- a/dlls/winepulse.drv/pulse.c
|
||||
+++ b/dlls/winepulse.drv/pulse.c
|
||||
@@ -587,7 +587,7 @@ static void convert_channel_map(const pa_channel_map *pa_map, WAVEFORMATEXTENSIB
|
||||
@@ -659,7 +659,7 @@ static void convert_channel_map(const pa_channel_map *pa_map, WAVEFORMATEXTENSIB
|
||||
fmt->dwChannelMask = pa_mask;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
WAVEFORMATEX *wfx = &fmt->Format;
|
||||
pa_stream *stream;
|
||||
pa_channel_map map;
|
||||
@@ -606,7 +606,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -678,7 +678,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 6552e4ce250..e82e6f4d9a7 100644
|
||||
if (stream)
|
||||
pa_stream_set_state_callback(stream, pulse_stream_state, NULL);
|
||||
if (!stream)
|
||||
@@ -617,7 +617,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -689,7 +689,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 6552e4ce250..e82e6f4d9a7 100644
|
||||
pa_stream_get_state(stream) == PA_STREAM_CREATING)
|
||||
{}
|
||||
if (pa_stream_get_state(stream) == PA_STREAM_READY) {
|
||||
@@ -628,7 +628,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
@@ -700,7 +700,7 @@ static void pulse_probe_settings(int render, WAVEFORMATEXTENSIBLE *fmt) {
|
||||
else
|
||||
length = pa_stream_get_buffer_attr(stream)->fragsize;
|
||||
pa_stream_disconnect(stream);
|
||||
@@ -48,7 +48,7 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
pa_stream_get_state(stream) == PA_STREAM_READY)
|
||||
{}
|
||||
}
|
||||
@@ -675,31 +675,32 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
@@ -747,31 +747,32 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
struct pulse_config *config = params->config;
|
||||
pa_operation *o;
|
||||
int ret;
|
||||
@@ -92,7 +92,7 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
|
||||
if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED)
|
||||
goto fail;
|
||||
@@ -708,15 +709,15 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
@@ -780,15 +781,15 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -102,8 +102,9 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
|
||||
TRACE("Test-connected to server %s with protocol version: %i.\n",
|
||||
- pa_context_get_server(pulse_ctx),
|
||||
- pa_context_get_server_protocol_version(pulse_ctx));
|
||||
+ pa_context_get_server(ctx),
|
||||
pa_context_get_server_protocol_version(pulse_ctx));
|
||||
+ pa_context_get_server_protocol_version(ctx));
|
||||
|
||||
- pulse_probe_settings(1, &pulse_fmt[0]);
|
||||
- pulse_probe_settings(0, &pulse_fmt[1]);
|
||||
@@ -112,7 +113,7 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
|
||||
free_phys_device_lists();
|
||||
list_init(&g_phys_speakers);
|
||||
@@ -725,26 +726,24 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
@@ -797,26 +798,24 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
pulse_add_device(&g_phys_speakers, NULL, 0, Speakers, 0, "", "PulseAudio");
|
||||
pulse_add_device(&g_phys_sources, NULL, 0, Microphone, 0, "", "PulseAudio");
|
||||
|
||||
@@ -145,7 +146,7 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
|
||||
config->modes[0].format = pulse_fmt[0];
|
||||
config->modes[0].def_period = pulse_def_period[0];
|
||||
@@ -759,10 +758,8 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
@@ -831,10 +830,8 @@ static NTSTATUS pulse_test_connect(void *args)
|
||||
return STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
@@ -159,5 +160,5 @@ index 6552e4ce250..e82e6f4d9a7 100644
|
||||
params->result = E_FAIL;
|
||||
return STATUS_SUCCESS;
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -0,0 +1,40 @@
|
||||
From abc3fcb614b68ecf9d92d27da9629bd8f4ca93df Mon Sep 17 00:00:00 2001
|
||||
From: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
|
||||
Date: Wed, 30 Mar 2022 03:12:30 -0400
|
||||
Subject: [PATCH] winepulse: Add aux0 and aux1 channels.
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52572
|
||||
---
|
||||
dlls/winepulse.drv/pulse.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
|
||||
index 0e504b6b6dd..e32b4eef2da 100644
|
||||
--- a/dlls/winepulse.drv/pulse.c
|
||||
+++ b/dlls/winepulse.drv/pulse.c
|
||||
@@ -401,9 +401,11 @@ static UINT pulse_channel_map_to_channel_mask(const pa_channel_map *map)
|
||||
for (i = 0; i < map->channels; ++i) {
|
||||
switch (map->map[i]) {
|
||||
default: FIXME("Unhandled channel %s\n", pa_channel_position_to_string(map->map[i])); break;
|
||||
+ case PA_CHANNEL_POSITION_AUX0:
|
||||
case PA_CHANNEL_POSITION_FRONT_LEFT: mask |= SPEAKER_FRONT_LEFT; break;
|
||||
case PA_CHANNEL_POSITION_MONO:
|
||||
case PA_CHANNEL_POSITION_FRONT_CENTER: mask |= SPEAKER_FRONT_CENTER; break;
|
||||
+ case PA_CHANNEL_POSITION_AUX1:
|
||||
case PA_CHANNEL_POSITION_FRONT_RIGHT: mask |= SPEAKER_FRONT_RIGHT; break;
|
||||
case PA_CHANNEL_POSITION_REAR_LEFT: mask |= SPEAKER_BACK_LEFT; break;
|
||||
case PA_CHANNEL_POSITION_REAR_CENTER: mask |= SPEAKER_BACK_CENTER; break;
|
||||
@@ -884,7 +886,9 @@ static const enum pa_channel_position pulse_pos_from_wfx[] = {
|
||||
PA_CHANNEL_POSITION_TOP_FRONT_RIGHT,
|
||||
PA_CHANNEL_POSITION_TOP_REAR_LEFT,
|
||||
PA_CHANNEL_POSITION_TOP_REAR_CENTER,
|
||||
- PA_CHANNEL_POSITION_TOP_REAR_RIGHT
|
||||
+ PA_CHANNEL_POSITION_TOP_REAR_RIGHT,
|
||||
+ PA_CHANNEL_POSITION_AUX0,
|
||||
+ PA_CHANNEL_POSITION_AUX1
|
||||
};
|
||||
|
||||
static HRESULT pulse_spec_from_waveformat(struct pulse_stream *stream, const WAVEFORMATEX *fmt)
|
||||
--
|
||||
2.35.1
|
||||
|
1
patches/winepulse-aux_channels/definition
Normal file
1
patches/winepulse-aux_channels/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [52572] Support PulseAudio channels aux0 and aux1.
|
@@ -1,4 +1,4 @@
|
||||
From 0c9b32515c444dcd3fb76473c80adcc368f9e8fd Mon Sep 17 00:00:00 2001
|
||||
From 0cfe71d332e4ed936cacff341f77cb05e99e9c3c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 27 Dec 2016 17:45:05 +0800
|
||||
Subject: [PATCH] winex11.drv: Send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED
|
||||
@@ -9,10 +9,10 @@ Subject: [PATCH] winex11.drv: Send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
|
||||
index 9a19eb9b446..d518c81d3e9 100644
|
||||
index 99f3f04e00f..ec41cbbd2ac 100644
|
||||
--- a/dlls/winex11.drv/event.c
|
||||
+++ b/dlls/winex11.drv/event.c
|
||||
@@ -592,16 +592,27 @@ static void set_input_focus( struct x11drv_win_data *data )
|
||||
@@ -604,16 +604,27 @@ static void set_input_focus( struct x11drv_win_data *data )
|
||||
*/
|
||||
static void set_focus( Display *display, HWND hwnd, Time time )
|
||||
{
|
||||
@@ -27,7 +27,7 @@ index 9a19eb9b446..d518c81d3e9 100644
|
||||
x11drv_thread_data()->active_window = hwnd;
|
||||
|
||||
TRACE( "setting foreground window to %p\n", hwnd );
|
||||
NtUserSetForegroundWindow( hwnd, FALSE );
|
||||
NtUserSetForegroundWindow( hwnd );
|
||||
|
||||
+ /* Some applications expect that a being deactivated topmost window
|
||||
+ * receives the WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED messages,
|
||||
@@ -42,5 +42,5 @@ index 9a19eb9b446..d518c81d3e9 100644
|
||||
NtUserGetGUIThreadInfo( 0, &threadinfo );
|
||||
focus = threadinfo.hwndFocus;
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 9236962ab40f697a183cd017d58747902f4634da Mon Sep 17 00:00:00 2001
|
||||
From aeaff5bd1a2a1940d6e28388aabc1bc9b7608cd8 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 10 Feb 2016 15:09:29 +0800
|
||||
Subject: [PATCH] winex11.drv: Add support for _NET_ACTIVE_WINDOW. (v2)
|
||||
@@ -17,10 +17,10 @@ For bug #2155.
|
||||
7 files changed, 65 insertions(+)
|
||||
|
||||
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c
|
||||
index abe4c7f1489..d18a8121f1f 100644
|
||||
index 4a853b516f4..35eab0ec13c 100644
|
||||
--- a/dlls/win32u/driver.c
|
||||
+++ b/dlls/win32u/driver.c
|
||||
@@ -807,6 +807,10 @@ static BOOL nulldrv_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update )
|
||||
@@ -833,6 +833,10 @@ static BOOL nulldrv_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update )
|
||||
hdc, rect.left - dx, rect.top - dy, SRCCOPY, 0, 0 );
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ index abe4c7f1489..d18a8121f1f 100644
|
||||
static void nulldrv_SetCapture( HWND hwnd, UINT flags )
|
||||
{
|
||||
}
|
||||
@@ -1168,6 +1172,7 @@ static const struct user_driver_funcs lazy_load_driver =
|
||||
@@ -1196,6 +1200,7 @@ static const struct user_driver_funcs lazy_load_driver =
|
||||
nulldrv_MsgWaitForMultipleObjectsEx,
|
||||
nulldrv_ReleaseDC,
|
||||
nulldrv_ScrollDC,
|
||||
@@ -39,7 +39,7 @@ index abe4c7f1489..d18a8121f1f 100644
|
||||
nulldrv_SetCapture,
|
||||
nulldrv_SetFocus,
|
||||
loaderdrv_SetLayeredWindowAttributes,
|
||||
@@ -1241,6 +1246,7 @@ void CDECL __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT v
|
||||
@@ -1270,6 +1275,7 @@ void __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT version
|
||||
SET_USER_FUNC(MsgWaitForMultipleObjectsEx);
|
||||
SET_USER_FUNC(ReleaseDC);
|
||||
SET_USER_FUNC(ScrollDC);
|
||||
@@ -48,10 +48,10 @@ index abe4c7f1489..d18a8121f1f 100644
|
||||
SET_USER_FUNC(SetFocus);
|
||||
SET_USER_FUNC(SetLayeredWindowAttributes);
|
||||
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
|
||||
index 8fc2a6a4b6c..04510c819b4 100644
|
||||
index cbfb228ea09..2c73b4c9eb9 100644
|
||||
--- a/dlls/winex11.drv/event.c
|
||||
+++ b/dlls/winex11.drv/event.c
|
||||
@@ -610,6 +610,9 @@ static void set_focus( Display *display, HWND hwnd, Time time )
|
||||
@@ -595,6 +595,9 @@ static void set_focus( Display *display, HWND hwnd, Time time )
|
||||
Window win;
|
||||
GUITHREADINFO threadinfo;
|
||||
|
||||
@@ -59,9 +59,9 @@ index 8fc2a6a4b6c..04510c819b4 100644
|
||||
+ x11drv_thread_data()->active_window = hwnd;
|
||||
+
|
||||
TRACE( "setting foreground window to %p\n", hwnd );
|
||||
NtUserSetForegroundWindow( hwnd, FALSE );
|
||||
NtUserSetForegroundWindow( hwnd );
|
||||
|
||||
@@ -857,6 +860,8 @@ static void focus_out( Display *display , HWND hwnd )
|
||||
@@ -851,6 +854,8 @@ static void focus_out( Display *display , HWND hwnd )
|
||||
|
||||
if (!focus_win)
|
||||
{
|
||||
@@ -71,10 +71,10 @@ index 8fc2a6a4b6c..04510c819b4 100644
|
||||
Foreground window, because in most cases the messages sent
|
||||
above must have already changed the foreground window, in which
|
||||
diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
|
||||
index 65865fcf4fa..ff71e67448e 100644
|
||||
index 618bc844f05..533e60a4871 100644
|
||||
--- a/dlls/winex11.drv/init.c
|
||||
+++ b/dlls/winex11.drv/init.c
|
||||
@@ -410,6 +410,7 @@ static const struct user_driver_funcs x11drv_funcs =
|
||||
@@ -418,6 +418,7 @@ static const struct user_driver_funcs x11drv_funcs =
|
||||
.pMsgWaitForMultipleObjectsEx = X11DRV_MsgWaitForMultipleObjectsEx,
|
||||
.pReleaseDC = X11DRV_ReleaseDC,
|
||||
.pScrollDC = X11DRV_ScrollDC,
|
||||
@@ -83,10 +83,10 @@ index 65865fcf4fa..ff71e67448e 100644
|
||||
.pSetFocus = X11DRV_SetFocus,
|
||||
.pSetLayeredWindowAttributes = X11DRV_SetLayeredWindowAttributes,
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index 5603c52ae6c..61afe03c215 100644
|
||||
index 3ebbee0856e..6c52e1841df 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -2231,6 +2231,54 @@ BOOL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update )
|
||||
@@ -2383,6 +2383,54 @@ BOOL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update )
|
||||
}
|
||||
|
||||
|
||||
@@ -142,10 +142,10 @@ index 5603c52ae6c..61afe03c215 100644
|
||||
* SetCapture (X11DRV.@)
|
||||
*/
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index 70da5c26228..205dba5fdca 100644
|
||||
index 49c2380559e..d8b5a99fec2 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -222,6 +222,7 @@ extern void X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_rect,
|
||||
@@ -228,6 +228,7 @@ extern void X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_rect,
|
||||
const RECT *top_rect, DWORD flags ) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_ReleaseDC( HWND hwnd, HDC hdc ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) DECLSPEC_HIDDEN;
|
||||
@@ -153,7 +153,7 @@ index 70da5c26228..205dba5fdca 100644
|
||||
extern void X11DRV_SetCapture( HWND hwnd, UINT flags ) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha,
|
||||
DWORD flags ) DECLSPEC_HIDDEN;
|
||||
@@ -389,6 +390,7 @@ struct x11drv_thread_data
|
||||
@@ -369,6 +370,7 @@ struct x11drv_thread_data
|
||||
Display *display;
|
||||
XEvent *current_event; /* event currently being processed */
|
||||
HWND grab_hwnd; /* window that currently grabs the mouse */
|
||||
@@ -161,7 +161,7 @@ index 70da5c26228..205dba5fdca 100644
|
||||
HWND last_focus; /* last window that had focus */
|
||||
XIM xim; /* input method */
|
||||
HWND last_xic_hwnd; /* last xic window */
|
||||
@@ -494,6 +496,7 @@ enum x11drv_atoms
|
||||
@@ -479,6 +481,7 @@ enum x11drv_atoms
|
||||
XATOM_DndSelection,
|
||||
XATOM__ICC_PROFILE,
|
||||
XATOM__MOTIF_WM_HINTS,
|
||||
@@ -170,10 +170,10 @@ index 70da5c26228..205dba5fdca 100644
|
||||
XATOM__NET_STARTUP_INFO,
|
||||
XATOM__NET_SUPPORTED,
|
||||
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
|
||||
index a8ef68f489d..aefd1286c53 100644
|
||||
index dc987ae70a2..8ebec6301f2 100644
|
||||
--- a/dlls/winex11.drv/x11drv_main.c
|
||||
+++ b/dlls/winex11.drv/x11drv_main.c
|
||||
@@ -139,6 +139,7 @@ static const char * const atom_names[NB_XATOMS - FIRST_XATOM] =
|
||||
@@ -156,6 +156,7 @@ static const char * const atom_names[NB_XATOMS - FIRST_XATOM] =
|
||||
"DndSelection",
|
||||
"_ICC_PROFILE",
|
||||
"_MOTIF_WM_HINTS",
|
||||
@@ -182,10 +182,10 @@ index a8ef68f489d..aefd1286c53 100644
|
||||
"_NET_STARTUP_INFO",
|
||||
"_NET_SUPPORTED",
|
||||
diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h
|
||||
index 12a4737d8f2..532e4bdcd9e 100644
|
||||
index 998aa3ed3e9..9be79656f0e 100644
|
||||
--- a/include/wine/gdi_driver.h
|
||||
+++ b/include/wine/gdi_driver.h
|
||||
@@ -302,6 +302,7 @@ struct user_driver_funcs
|
||||
@@ -307,6 +307,7 @@ struct user_driver_funcs
|
||||
NTSTATUS (*pMsgWaitForMultipleObjectsEx)(DWORD,const HANDLE*,const LARGE_INTEGER*,DWORD,DWORD);
|
||||
void (*pReleaseDC)(HWND,HDC);
|
||||
BOOL (*pScrollDC)(HDC,INT,INT,HRGN);
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 3026d7b28f8c3647593895e605c2beecbd1aad6e Mon Sep 17 00:00:00 2001
|
||||
From c04e4fbc278d2e434f7adcd782af094a844ff46a Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 15 Sep 2020 19:44:38 +1000
|
||||
Subject: [PATCH] ws2_32: Return a valid value for WSAIoctl
|
||||
@@ -13,10 +13,10 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
4 files changed, 49 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c
|
||||
index 71dfcdd1114..2111e9e12ff 100644
|
||||
index 351028d4983..3aef6d27eb4 100644
|
||||
--- a/dlls/ntdll/unix/socket.c
|
||||
+++ b/dlls/ntdll/unix/socket.c
|
||||
@@ -1422,6 +1422,25 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc
|
||||
@@ -1461,6 +1461,25 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -43,10 +43,10 @@ index 71dfcdd1114..2111e9e12ff 100644
|
||||
{
|
||||
int value, ret;
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index fe7e4fb3464..9c133e94e60 100644
|
||||
index 9cc75aacf20..156039b30b9 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -2007,6 +2007,23 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID
|
||||
@@ -2310,6 +2310,23 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID
|
||||
return ret ? -1 : 0;
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ index fe7e4fb3464..9c133e94e60 100644
|
||||
{
|
||||
DWORD ret;
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index b38357954b7..89a86cc3aa4 100644
|
||||
index af4226e6258..0179feba37f 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -6065,8 +6065,9 @@ static void test_WSASendTo(void)
|
||||
@@ -6708,8 +6708,9 @@ static void test_WSASendTo(void)
|
||||
struct sockaddr_in addr, ret_addr;
|
||||
char buf[12] = "hello world";
|
||||
WSABUF data_buf;
|
||||
@@ -85,7 +85,7 @@ index b38357954b7..89a86cc3aa4 100644
|
||||
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(139);
|
||||
@@ -6102,6 +6103,11 @@ static void test_WSASendTo(void)
|
||||
@@ -6745,6 +6746,11 @@ static void test_WSASendTo(void)
|
||||
ok(!ret, "got error %u\n", WSAGetLastError());
|
||||
ok(ret_addr.sin_family == AF_INET, "got family %u\n", ret_addr.sin_family);
|
||||
ok(ret_addr.sin_port, "expected nonzero port\n");
|
||||
@@ -96,8 +96,8 @@ index b38357954b7..89a86cc3aa4 100644
|
||||
+ closesocket(s);
|
||||
}
|
||||
|
||||
static DWORD WINAPI recv_thread(LPVOID arg)
|
||||
@@ -6142,6 +6148,7 @@ static void test_WSARecv(void)
|
||||
struct recv_thread_apc_param
|
||||
@@ -6824,6 +6830,7 @@ static void test_WSARecv(void)
|
||||
DWORD dwret;
|
||||
BOOL bret;
|
||||
HANDLE thread, event = NULL, io_port;
|
||||
@@ -105,7 +105,7 @@ index b38357954b7..89a86cc3aa4 100644
|
||||
|
||||
tcp_socketpair(&src, &dest);
|
||||
|
||||
@@ -6290,6 +6297,10 @@ static void test_WSARecv(void)
|
||||
@@ -6989,6 +6996,10 @@ static void test_WSARecv(void)
|
||||
|
||||
CloseHandle(io_port);
|
||||
|
||||
@@ -117,7 +117,7 @@ index b38357954b7..89a86cc3aa4 100644
|
||||
if (server != INVALID_SOCKET)
|
||||
closesocket(server);
|
||||
diff --git a/include/wine/afd.h b/include/wine/afd.h
|
||||
index efd5787e90a..b6aad067770 100644
|
||||
index 993730cacdb..04dad6ace21 100644
|
||||
--- a/include/wine/afd.h
|
||||
+++ b/include/wine/afd.h
|
||||
@@ -283,6 +283,7 @@ C_ASSERT( sizeof(struct afd_get_events_params) == 56 );
|
||||
@@ -129,5 +129,5 @@ index efd5787e90a..b6aad067770 100644
|
||||
struct afd_iovec
|
||||
{
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From a8f9265b71b423e2d280645a225465750a1d4594 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 25 Oct 2021 09:48:50 +1100
|
||||
Subject: [PATCH 3/3] Send NOTIFY_CUESTOP when Stop is called
|
||||
|
||||
---
|
||||
libs/faudio/src/FACT.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libs/faudio/src/FACT.c b/libs/faudio/src/FACT.c
|
||||
index cea960d6710..d9c5d7c2766 100644
|
||||
--- a/libs/faudio/src/FACT.c
|
||||
+++ b/libs/faudio/src/FACT.c
|
||||
@@ -2685,6 +2685,8 @@ uint32_t FACTCue_Stop(FACTCue *pCue, uint32_t dwFlags)
|
||||
}
|
||||
}
|
||||
|
||||
+ FACT_INTERNAL_SendCueNotification(pCue, NOTIFY_CUESTOP, FACTNOTIFICATIONTYPE_CUESTOP);
|
||||
+
|
||||
FAudio_PlatformUnlockMutex(pCue->parentBank->parentEngine->apiLock);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
|
@@ -1,2 +1,2 @@
|
||||
Wine Staging 7.10
|
||||
Wine Staging 7.12
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user