Merge branch 'obsequiousnewt-master'

This commit is contained in:
Alistair Leslie-Hughes 2018-02-18 14:48:31 +11:00
commit 19c3c06677
39 changed files with 225 additions and 892 deletions

View File

@ -8,6 +8,7 @@ are part of **Wine Staging** and are licensed under the terms of the
```
Copyright (C) 2014-2017 the Wine Staging project authors.
Copyright (C) 2018 Alistair Leslie-Hughes
Wine Staging is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public

View File

@ -1,2 +1 @@
Fixes: Initial implementation of advapi32.BuildSecurityDescriptorW
Depends: advapi32-GetExplicitEntriesFromAclW

View File

@ -1,7 +1,6 @@
Fixes: [40613] Basic implementation for token integrity levels and UAC handling
Fixes: [39262] Run explorer.exe as unevaluated process
Depends: advapi32-CreateRestrictedToken
Depends: advapi32-GetExplicitEntriesFromAclW
Depends: kernel32-COMSPEC
Depends: kernel32-UmsStubs
Depends: ntdll-APC_Start_Process

View File

@ -1,3 +1,2 @@
Fixes: [42191] Add semi-stub for D3D11 deferred context implementation
Depends: wined3d-1DTextures
Depends: d3d11-ResolveSubresource

View File

@ -1,2 +1 @@
Fixes: Initial implementation for d3dx9_36.D3DXDisassembleShader
Depends: d3dx9_36-GetShaderSemantics

View File

@ -1,2 +1 @@
Fixes: [38960] Add support for kernel32.SetFileCompletionNotificationModes
Depends: ntdll-FileNameInformation

View File

@ -1,52 +0,0 @@
From 0cb287b9ba62ee9e353248861d4c177f7db48dcb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 20 Jul 2016 02:21:41 +0200
Subject: ntdll: Ensure process dlls are not attached too early. (v2)
---
dlls/ntdll/loader.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 518a99f590..94668e8ba4 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -64,6 +64,7 @@ typedef DWORD (CALLBACK *DLLENTRYPROC)(H
typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *);
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
+static BOOL process_attaching = TRUE; /* set on process attach to avoid calling callbacks too early */
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
@@ -459,6 +460,19 @@ static FARPROC find_forwarded_export( HM
current_modref->deps = deps;
}
}
+ if (process_attaching)
+ {
+ WINE_MODREF **deps, *prev = get_modref( module );
+ if (!prev->deps)
+ deps = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*deps) );
+ else
+ deps = RtlReAllocateHeap( GetProcessHeap(), 0, prev->deps, (prev->nDeps + 1) * sizeof(*deps) );
+ if (deps)
+ {
+ prev->deps = deps;
+ prev->deps[prev->nDeps++] = wm;
+ }
+ }
else if (process_attach( wm, NULL ) != STATUS_SUCCESS)
{
LdrUnloadDll( wm->ldr.BaseAddress );
@@ -2995,6 +3009,7 @@ NTSTATUS attach_dlls( CONTEXT *context )
WINE_MODREF *wm;
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
+ process_attaching = FALSE;
pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
if (process_detaching) return STATUS_SUCCESS;
--
2.12.2

View File

@ -1 +0,0 @@
Fixes: [40714] Ensure process_attach callbacks are not executed too early

View File

@ -1,4 +1,3 @@
Fixes: Support for loader dll redirections
Depends: ntdll-Loader_Machine_Type
Depends: ntdll-DllOverrides_WOW64
Depends: ntdll-Attach_Process_DLLs

View File

@ -1,3 +1,2 @@
Fixes: [38656] Add support for hiding wine version information from applications
Depends: ntdll-Attach_Process_DLLs
Depends: ntdll-ThreadTime

View File

@ -1,7 +1,7 @@
From d5092cdd3d4df589f50b52c75bd50127c59f545d Mon Sep 17 00:00:00 2001
From 6250b3812eea73306a90ac68d329f16cb4436e8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 27 Jul 2014 03:35:42 +0200
Subject: ntdll: Allow special characters in pipe names.
Subject: [PATCH] ntdll: Allow special characters in pipe names.
Based on patch by Valentyn Pavliuchenko.
---
@ -10,10 +10,10 @@ Based on patch by Valentyn Pavliuchenko.
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index f7c7531..04de950 100644
index 22d120f..8e5c07f 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -29,6 +29,7 @@
@@ -30,6 +30,7 @@
#include "wine/test.h"
#define PIPENAME "\\\\.\\PiPe\\tests_pipe.c"
@ -21,7 +21,7 @@ index f7c7531..04de950 100644
#define NB_SERVER_LOOPS 8
@@ -335,6 +336,15 @@ static void test_CreateNamedPipe(int pipemode)
@@ -627,6 +628,15 @@ static void test_CreateNamedPipe(int pipemode)
ok(CloseHandle(hnp), "CloseHandle\n");
@ -34,14 +34,14 @@ index f7c7531..04de950 100644
+ ok(hnp != INVALID_HANDLE_VALUE, "CreateNamedPipe with special characters failed\n");
+ ok(CloseHandle(hnp), "CloseHandle\n");
+
trace("test_CreateNamedPipe returning\n");
if (winetest_debug > 1) trace("test_CreateNamedPipe returning\n");
}
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 04a5b75..6558958 100644
index 3b76f9b..4206584 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -3009,6 +3009,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2825,6 +2825,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
UINT disposition, BOOLEAN check_case )
{
static const WCHAR unixW[] = {'u','n','i','x'};
@ -49,7 +49,7 @@ index 04a5b75..6558958 100644
static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 };
NTSTATUS status = STATUS_SUCCESS;
@@ -3019,6 +3020,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2835,6 +2836,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
int pos, ret, name_len, unix_len, prefix_len, used_default;
WCHAR prefix[MAX_DIR_ENTRY_LEN];
BOOLEAN is_unix = FALSE;
@ -57,7 +57,7 @@ index 04a5b75..6558958 100644
name = nameW->Buffer;
name_len = nameW->Length / sizeof(WCHAR);
@@ -3050,13 +3052,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2868,13 +2870,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
name += prefix_len;
name_len -= prefix_len;
@ -80,5 +80,5 @@ index 04a5b75..6558958 100644
else
{
--
1.8.3.2
2.7.4

View File

@ -1,7 +1,7 @@
From 29ec5605140dec0a480bde2024c3ef8a682eb46e Mon Sep 17 00:00:00 2001
From f5711f1aa3676f55e7defb3996163e3fb327fc1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 00:50:50 +0100
Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
Subject: [PATCH 3/3] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
---
dlls/ntdll/tests/Makefile.in | 2 +-
@ -9,7 +9,7 @@ Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
2 files changed, 77 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
index fc352dd22b..0de4fe8f20 100644
index fc352dd..0de4fe8 100644
--- a/dlls/ntdll/tests/Makefile.in
+++ b/dlls/ntdll/tests/Makefile.in
@@ -1,5 +1,5 @@
@ -20,7 +20,7 @@ index fc352dd22b..0de4fe8f20 100644
C_SRCS = \
atom.c \
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 7176e448ef..8292f72527 100644
index 2e3a7de..02ae1c1 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -25,6 +25,9 @@
@ -38,19 +38,19 @@ index 7176e448ef..8292f72527 100644
static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG);
static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *);
+static NTSTATUS (WINAPI *pRtlQueryPackageIdentity)(HANDLE, WCHAR*, SIZE_T*, WCHAR*, SIZE_T*, BOOLEAN*);
static NTSTATUS (WINAPI *pRtlMakeSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
static NTSTATUS (WINAPI *pRtlAbsoluteToSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PULONG);
static HMODULE hkernel32 = 0;
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
@@ -153,6 +157,7 @@ static void InitFunctionPtrs(void)
@@ -155,6 +159,7 @@ static void InitFunctionPtrs(void)
pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread");
pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx");
pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules");
+ pRtlQueryPackageIdentity = (void *)GetProcAddress(hntdll, "RtlQueryPackageIdentity");
pRtlMakeSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlMakeSelfRelativeSD");
pRtlAbsoluteToSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlAbsoluteToSelfRelativeSD");
}
hkernel32 = LoadLibraryA("kernel32.dll");
ok(hkernel32 != 0, "LoadLibrary failed\n");
@@ -2209,6 +2214,76 @@ static void test_LdrEnumerateLoadedModules(void)
ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got 0x%08x\n", status);
@@ -2259,6 +2264,76 @@ static void test_RtlMakeSelfRelativeSD(void)
ok( status == STATUS_BAD_DESCRIPTOR_FORMAT, "got %08x\n", status );
}
+static void test_RtlQueryPackageIdentity(void)
@ -126,12 +126,13 @@ index 7176e448ef..8292f72527 100644
START_TEST(rtl)
{
InitFunctionPtrs();
@@ -2242,4 +2317,5 @@ START_TEST(rtl)
@@ -2292,5 +2367,6 @@ START_TEST(rtl)
test_RtlInitializeCriticalSectionEx();
test_RtlLeaveCriticalSection();
test_LdrEnumerateLoadedModules();
+ test_RtlQueryPackageIdentity();
test_RtlMakeSelfRelativeSD();
}
--
2.12.2
2.7.4

View File

@ -1,7 +1,8 @@
From f7a85ba8219c46b226376aed23f2d81bfff902dc Mon Sep 17 00:00:00 2001
From 67bbbb723dc971116a7b9569081baf2dc387e2ac Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 25 Feb 2015 22:45:42 +0100
Subject: ntdll: Fix race-condition when threads are killed during shutdown.
Subject: [PATCH] ntdll: Fix race-condition when threads are killed during
shutdown.
When exit_thread is executed, nb_threads is decremented before the thread is
fully shutdown. When another thread runs ExitProcess() this will cause a SIGQUIT
@ -18,18 +19,18 @@ fix the most critical one (messed up refcounting of threads) for now.
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 3696c8e..74e64c9 100644
index c999d4b..5e02966 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -370,6 +370,7 @@ void terminate_thread( int status )
void exit_thread( int status )
@@ -459,6 +459,7 @@ void exit_thread( int status )
void WINAPI RtlExitUserThread( ULONG status )
{
static void *prev_teb;
+ sigset_t sigset;
TEB *teb;
if (status) /* send the exit code to the server (0 is already the default) */
@@ -383,7 +384,7 @@ void exit_thread( int status )
@@ -472,7 +473,7 @@ void WINAPI RtlExitUserThread( ULONG status )
SERVER_END_REQ;
}
@ -37,8 +38,8 @@ index 3696c8e..74e64c9 100644
+ if (interlocked_xchg_add( &nb_threads, 0 ) <= 1)
{
LdrShutdownProcess();
exit( status );
@@ -405,6 +406,11 @@ void exit_thread( int status )
pthread_sigmask( SIG_BLOCK, &server_block_set, NULL );
@@ -495,6 +496,11 @@ void WINAPI RtlExitUserThread( ULONG status )
}
}
@ -47,9 +48,9 @@ index 3696c8e..74e64c9 100644
+ pthread_sigmask( SIG_BLOCK, &sigset, NULL );
+ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
+
close( ntdll_get_thread_data()->wait_fd[0] );
close( ntdll_get_thread_data()->wait_fd[1] );
close( ntdll_get_thread_data()->reply_fd );
signal_exit_thread( status );
}
--
2.3.0
2.7.4

View File

@ -1,25 +0,0 @@
From 70bb327be039fc1d2b39df43af59e3d138724eff Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 4 Oct 2017 01:47:29 +0200
Subject: ntdll: Avoid crash when trying to access page prot of address beyond
address space limit.
---
dlls/ntdll/virtual.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index a496401e028..368e0ad0f9e 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -196,6 +196,7 @@ static BYTE get_page_vprot( const void *addr )
size_t idx = (size_t)addr >> page_shift;
#ifdef _WIN64
+ if ((idx >> pages_vprot_shift) >= pages_vprot_size) return 0;
if (!pages_vprot[idx >> pages_vprot_shift]) return 0;
return pages_vprot[idx >> pages_vprot_shift][idx & pages_vprot_mask];
#else
--
2.14.1

View File

@ -1,14 +1,15 @@
From 267315dd040ccfa527f8ba48038a268236ca1d29 Mon Sep 17 00:00:00 2001
From ecbbd1eba3491e634bb138044bb8e283be7bba28 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 2 Feb 2016 12:49:16 +0800
Subject: ole32/tests: Add a bunch of tests for HGLOBAL based IStream::Clone.
Subject: [PATCH 1/7] ole32/tests: Add a bunch of tests for HGLOBAL based
IStream::Clone.
---
dlls/ole32/tests/hglobalstream.c | 244 +++++++++++++++++++++++++++++++++++++++
1 file changed, 244 insertions(+)
dlls/ole32/tests/hglobalstream.c | 243 +++++++++++++++++++++++++++++++++++++++
1 file changed, 243 insertions(+)
diff --git a/dlls/ole32/tests/hglobalstream.c b/dlls/ole32/tests/hglobalstream.c
index e20d81b..0dc3c52 100644
index 6a0498a..d8b8081 100644
--- a/dlls/ole32/tests/hglobalstream.c
+++ b/dlls/ole32/tests/hglobalstream.c
@@ -2,6 +2,7 @@
@ -19,7 +20,7 @@ index e20d81b..0dc3c52 100644
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -508,11 +509,254 @@ static void test_freed_hglobal(void)
@@ -514,9 +515,251 @@ static void test_freed_hglobal(void)
IStream_Release(pStream);
}
@ -266,14 +267,11 @@ index e20d81b..0dc3c52 100644
+
START_TEST(hglobalstream)
{
HRESULT hr;
IStream *pStream;
test_streamonhglobal();
test_copyto();
test_freed_hglobal();
+ test_IStream_Clone();
+
hr = CreateStreamOnHGlobal(NULL, TRUE, &pStream);
ok_ole_success(hr, "CreateStreamOnHGlobal");
}
--
2.7.0
2.7.4

View File

@ -1,8 +1,8 @@
From 1bb32d84f5ac99211790aa596c995cb0b1a6c88f Mon Sep 17 00:00:00 2001
From 8e2413e84cb6fe83b5a095f36372288c265dff97 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Nov 2015 23:45:18 +0100
Subject: oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in
arguments.
Subject: [PATCH 2/4] oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS
in arguments.
---
dlls/oleaut32/tests/tmarshal.c | 2 +-
@ -10,23 +10,23 @@ Subject: oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index 96399cc..758b85f 100644
index 00cb464..6aa68c7 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -1514,7 +1514,7 @@ static void test_typelibmarshal(void)
@@ -1524,7 +1524,7 @@ static void test_typelibmarshal(void)
dispparams.rgvarg = vararg;
VariantInit(&varresult);
hr = IDispatch_Invoke(pDispatch, DISPID_TM_COCLASS, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
- todo_wine ok_ole_success(hr, IDispatch_Invoke);
+ ok_ole_success(hr, IDispatch_Invoke);
todo_wine_if(tmarshal_todo)
ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK,
"EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n",
excepinfo.wCode, excepinfo.scode);
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index deb898a..1cfdd7b 100644
index ebc5c39..69072d3 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -6638,6 +6638,21 @@ static HRESULT get_iface_guid(ITypeInfo *tinfo, HREFTYPE href, GUID *guid)
@@ -6623,6 +6623,21 @@ static HRESULT get_iface_guid(ITypeInfo *tinfo, HREFTYPE href, GUID *guid)
*guid = tattr->guid;
break;
@ -49,5 +49,5 @@ index deb898a..1cfdd7b 100644
ERR("Unexpected typekind %d\n", tattr->typekind);
hres = E_UNEXPECTED;
--
2.6.2
2.7.4

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "65989f2ace1b06617638e31cb7ba56deb38fe690"
echo "2936f3f9bb9dc01c595498a821d6adb6775b62cc"
}
# Show version information
@ -60,6 +60,7 @@ version()
{
echo "Wine Staging 3.1 (Unreleased)"
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
echo ""
echo "Patchset to be applied on upstream Wine:"
echo " commit $(upstream_commit)"
@ -111,12 +112,10 @@ patch_enable_all ()
enable_crypt32_CryptUnprotectMemory="$1"
enable_crypt32_ECDSA_Cert_Chains="$1"
enable_crypt32_MS_Root_Certs="$1"
enable_crypt32_SHA_OIDs="$1"
enable_d3d10_1_Forwards="$1"
enable_d3d11_Deferred_Context="$1"
enable_d3d11_Depth_Bias="$1"
enable_d3d11_ID3D11Texture1D="$1"
enable_d3d11_ResolveSubresource="$1"
enable_d3d11_Silence_FIXMEs="$1"
enable_d3d8_ValidateShader="$1"
enable_d3d9_DesktopWindow="$1"
@ -135,7 +134,6 @@ patch_enable_all ()
enable_d3dx9_36_Dummy_Skininfo="$1"
enable_d3dx9_36_Filter_Warnings="$1"
enable_d3dx9_36_FindNextValidTechnique="$1"
enable_d3dx9_36_GetShaderSemantics="$1"
enable_d3dx9_36_Optimize_Inplace="$1"
enable_d3dx9_36_Tests="$1"
enable_d3dx9_36_Texture_Align="$1"
@ -157,11 +155,9 @@ patch_enable_all ()
enable_dsound_Fast_Mixer="$1"
enable_dsound_Revert_Cleanup="$1"
enable_dwmapi_DwmSetIcon="$1"
enable_dxdiag_dontskip="$1"
enable_dxdiagn_Display_Information="$1"
enable_dxdiagn_Enumerate_DirectSound="$1"
enable_dxdiagn_GetChildContainer_Leaf_Nodes="$1"
enable_dxgi_DXGI_PRESENT_TEST="$1"
enable_dxgi_GammaRamp="$1"
enable_dxgi_MakeWindowAssociation="$1"
enable_dxva2_Video_Decoder="$1"
@ -194,7 +190,6 @@ patch_enable_all ()
enable_kernel32_Job_Tests="$1"
enable_kernel32_K32GetPerformanceInfo="$1"
enable_kernel32_LocaleNameToLCID="$1"
enable_kernel32_MODULE_get_binary_info="$1"
enable_kernel32_Misalign_Workaround="$1"
enable_kernel32_MoveFile="$1"
enable_kernel32_NeedCurrentDirectoryForExePath="$1"
@ -234,7 +229,6 @@ patch_enable_all ()
enable_ntdll_Activation_Context="$1"
enable_ntdll_ApiSetMap="$1"
enable_ntdll_ApiSetQueryApiSetPresence="$1"
enable_ntdll_Attach_Process_DLLs="$1"
enable_ntdll_Builtin_Prot="$1"
enable_ntdll_CLI_Images="$1"
enable_ntdll_CriticalSection="$1"
@ -248,7 +242,6 @@ patch_enable_all ()
enable_ntdll_FileDispositionInformation="$1"
enable_ntdll_FileFsFullSizeInformation="$1"
enable_ntdll_FileFsVolumeInformation="$1"
enable_ntdll_FileNameInformation="$1"
enable_ntdll_Fix_Alignment="$1"
enable_ntdll_HashLinks="$1"
enable_ntdll_Heap_Improvements="$1"
@ -324,7 +317,6 @@ patch_enable_all ()
enable_packager_DllMain="$1"
enable_quartz_MediaSeeking_Positions="$1"
enable_quartz_Silence_FIXMEs="$1"
enable_rasapi32_RasGetConnectionStatistics="$1"
enable_riched20_Class_Tests="$1"
enable_riched20_IText_Interface="$1"
enable_rpcrt4_Race_Condition="$1"
@ -396,14 +388,12 @@ patch_enable_all ()
enable_user32_GetAutoRotationState="$1"
enable_user32_GetSystemMetrics="$1"
enable_user32_Groupbox_Rectangle="$1"
enable_user32_Invalidate_Key_State="$1"
enable_user32_LR_LOADFROMFILE="$1"
enable_user32_ListBox_Size="$1"
enable_user32_MessageBox_WS_EX_TOPMOST="$1"
enable_user32_Mouse_Message_Hwnd="$1"
enable_user32_PNG_Support="$1"
enable_user32_Refresh_MDI_Menus="$1"
enable_user32_Revert_ListBox_Height="$1"
enable_user32_ScrollWindowEx="$1"
enable_user32_ShowWindow="$1"
enable_user32_Sorted_Listbox="$1"
@ -421,7 +411,6 @@ patch_enable_all ()
enable_wbemprox_Printer="$1"
enable_wbemprox_Win32_OperatingSystem="$1"
enable_wbemprox_Win32_VideoController="$1"
enable_wevtapi_EvtNext="$1"
enable_widl_SLTG_Typelib_Support="$1"
enable_windowscodecs_32bppPRGBA="$1"
enable_windowscodecs_GIF_Encoder="$1"
@ -457,7 +446,6 @@ patch_enable_all ()
enable_wined3d_Indexed_Vertex_Blending="$1"
enable_wined3d_Limit_Vram="$1"
enable_wined3d_QUERY_Stubs="$1"
enable_wined3d_Revert_Buffer_Upload="$1"
enable_wined3d_Revert_Surface_Blt="$1"
enable_wined3d_Silence_FIXMEs="$1"
enable_wined3d_UAV_Counters="$1"
@ -513,7 +501,6 @@ patch_enable_all ()
enable_wtsapi32_WTSQueryUserToken="$1"
enable_wuauserv_Dummy_Service="$1"
enable_wusa_MSU_Package_Installer="$1"
enable_xaudio2_get_al_format="$1"
enable_xaudio2_7_OnVoiceProcessingPassStart="$1"
}
@ -959,9 +946,6 @@ patch_enable ()
ntdll-ApiSetQueryApiSetPresence)
enable_ntdll_ApiSetQueryApiSetPresence="$2"
;;
ntdll-Attach_Process_DLLs)
enable_ntdll_Attach_Process_DLLs="$2"
;;
ntdll-Builtin_Prot)
enable_ntdll_Builtin_Prot="$2"
;;
@ -1226,9 +1210,6 @@ patch_enable ()
quartz-Silence_FIXMEs)
enable_quartz_Silence_FIXMEs="$2"
;;
rasapi32-RasGetConnectionStatistics)
enable_rasapi32_RasGetConnectionStatistics="$2"
;;
riched20-Class_Tests)
enable_riched20_Class_Tests="$2"
;;
@ -1442,9 +1423,6 @@ patch_enable ()
user32-Groupbox_Rectangle)
enable_user32_Groupbox_Rectangle="$2"
;;
user32-Invalidate_Key_State)
enable_user32_Invalidate_Key_State="$2"
;;
user32-LR_LOADFROMFILE)
enable_user32_LR_LOADFROMFILE="$2"
;;
@ -1463,9 +1441,6 @@ patch_enable ()
user32-Refresh_MDI_Menus)
enable_user32_Refresh_MDI_Menus="$2"
;;
user32-Revert_ListBox_Height)
enable_user32_Revert_ListBox_Height="$2"
;;
user32-ScrollWindowEx)
enable_user32_ScrollWindowEx="$2"
;;
@ -1517,9 +1492,6 @@ patch_enable ()
wbemprox-Win32_VideoController)
enable_wbemprox_Win32_VideoController="$2"
;;
wevtapi-EvtNext)
enable_wevtapi_EvtNext="$2"
;;
widl-SLTG_Typelib_Support)
enable_widl_SLTG_Typelib_Support="$2"
;;
@ -1625,9 +1597,6 @@ patch_enable ()
wined3d-QUERY_Stubs)
enable_wined3d_QUERY_Stubs="$2"
;;
wined3d-Revert_Buffer_Upload)
enable_wined3d_Revert_Buffer_Upload="$2"
;;
wined3d-Revert_Surface_Blt)
enable_wined3d_Revert_Surface_Blt="$2"
;;
@ -2197,7 +2166,6 @@ if test "$enable_wined3d_dxgi_swapchain_Present" -eq 1; then
if test "$enable_wined3d_Silence_FIXMEs" -gt 1; then
abort "Patchset wined3d-Silence_FIXMEs disabled, but wined3d-dxgi_swapchain_Present depends on that."
fi
enable_dxgi_DXGI_PRESENT_TEST=1
enable_wined3d_Silence_FIXMEs=1
fi
@ -2249,9 +2217,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
if test "$enable_wined3d_QUERY_Stubs" -gt 1; then
abort "Patchset wined3d-QUERY_Stubs disabled, but wined3d-CSMT_Helper depends on that."
fi
if test "$enable_wined3d_Revert_Buffer_Upload" -gt 1; then
abort "Patchset wined3d-Revert_Buffer_Upload disabled, but wined3d-CSMT_Helper depends on that."
fi
if test "$enable_wined3d_Silence_FIXMEs" -gt 1; then
abort "Patchset wined3d-Silence_FIXMEs disabled, but wined3d-CSMT_Helper depends on that."
fi
@ -2269,7 +2234,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
enable_wined3d_Dual_Source_Blending=1
enable_wined3d_GenerateMips=1
enable_wined3d_QUERY_Stubs=1
enable_wined3d_Revert_Buffer_Upload=1
enable_wined3d_Silence_FIXMEs=1
enable_wined3d_UAV_Counters=1
fi
@ -2615,16 +2579,12 @@ if test "$enable_ntdll_HashLinks" -eq 1; then
fi
if test "$enable_ntdll_DllRedirects" -eq 1; then
if test "$enable_ntdll_Attach_Process_DLLs" -gt 1; then
abort "Patchset ntdll-Attach_Process_DLLs disabled, but ntdll-DllRedirects depends on that."
fi
if test "$enable_ntdll_DllOverrides_WOW64" -gt 1; then
abort "Patchset ntdll-DllOverrides_WOW64 disabled, but ntdll-DllRedirects depends on that."
fi
if test "$enable_ntdll_Loader_Machine_Type" -gt 1; then
abort "Patchset ntdll-Loader_Machine_Type disabled, but ntdll-DllRedirects depends on that."
fi
enable_ntdll_Attach_Process_DLLs=1
enable_ntdll_DllOverrides_WOW64=1
enable_ntdll_Loader_Machine_Type=1
fi
@ -2663,13 +2623,9 @@ if test "$enable_ntdll_User_Shared_Data" -eq 1; then
fi
if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
if test "$enable_ntdll_Attach_Process_DLLs" -gt 1; then
abort "Patchset ntdll-Attach_Process_DLLs disabled, but ntdll-Hide_Wine_Exports depends on that."
fi
if test "$enable_ntdll_ThreadTime" -gt 1; then
abort "Patchset ntdll-ThreadTime disabled, but ntdll-Hide_Wine_Exports depends on that."
fi
enable_ntdll_Attach_Process_DLLs=1
enable_ntdll_ThreadTime=1
fi
@ -2727,10 +2683,6 @@ if test "$enable_loader_OSX_Preloader" -eq 1; then
enable_configure_Absolute_RPATH=1
fi
if test "$enable_kernel32_SetFileCompletionNotificationModes" -eq 1; then
enable_ntdll_FileNameInformation=1
fi
if test "$enable_kernel32_Processor_Group" -eq 1; then
if test "$enable_api_ms_win_Stub_DLLs" -gt 1; then
abort "Patchset api-ms-win-Stub_DLLs disabled, but kernel32-Processor_Group depends on that."
@ -2813,7 +2765,6 @@ if test "$enable_d3d11_Deferred_Context" -eq 1; then
if test "$enable_wined3d_1DTextures" -gt 1; then
abort "Patchset wined3d-1DTextures disabled, but d3d11-Deferred_Context depends on that."
fi
enable_d3d11_ResolveSubresource=1
enable_wined3d_1DTextures=1
fi
@ -2881,6 +2832,7 @@ if test "$enable_advapi32_LsaLookupSids" -eq 1; then
enable_server_Misc_ACL=1
fi
# If autoupdate is enabled then create a tempfile to keep track of all patches
if test "$enable_patchlist" -eq 1; then
if test "$enable_Staging" -eq 1; then
@ -2968,7 +2920,7 @@ if test "$enable_Pipelight" -eq 1; then
patch_apply Pipelight/0001-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch
patch_apply Pipelight/0002-user32-Decrease-minimum-SetTimer-interval-to-5-ms.patch
patch_apply Pipelight/0003-wined3d-allow-changing-strict-drawing-through-an-exp.patch
#patch_apply Pipelight/0004-winex11.drv-Indicate-direct-rendering-through-OpenGL.patch
patch_apply Pipelight/0004-winex11.drv-Indicate-direct-rendering-through-OpenGL.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "winex11: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command.", 1 },';
printf '%s\n' '+ { "Michael Müller", "user32: Decrease minimum SetTimer interval to 5 ms.", 2 },';
@ -3014,9 +2966,6 @@ fi
# Patchset advapi32-BuildSecurityDescriptor
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * advapi32-GetExplicitEntriesFromAclW
# |
# | Modified files:
# | * dlls/advapi32/security.c, dlls/advapi32/tests/security.c
# |
@ -3199,7 +3148,7 @@ fi
# Patchset ntdll-RunlevelInformationInActivationContext
# |
# | Modified files:
# | * dlls/kernel32/tests/actctx.c, dlls/ntdll/actctx.c, include/winnt.h
# | * dlls/kernel32/tests/actctx.c, dlls/ntdll/actctx.c
# |
if test "$enable_ntdll_RunlevelInformationInActivationContext" -eq 1; then
patch_apply ntdll-RunlevelInformationInActivationContext/0002-ntdll-Parse-execution-level-information-in-manifest-.patch
@ -3213,9 +3162,8 @@ fi
# Patchset advapi32-Token_Integrity_Level
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * Staging, advapi32-CreateRestrictedToken, advapi32-GetExplicitEntriesFromAclW, kernel32-COMSPEC, kernel32-UmsStubs,
# | ntdll-APC_Start_Process, ntdll-RunlevelInformationInActivationContext, server-CreateProcess_ACLs,
# | server-Misc_ACL
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, kernel32-UmsStubs, ntdll-APC_Start_Process, ntdll-
# | RunlevelInformationInActivationContext, server-CreateProcess_ACLs, server-Misc_ACL
# |
# | This patchset fixes the following Wine bugs:
# | * [#40613] Basic implementation for token integrity levels and UAC handling
@ -3285,8 +3233,7 @@ fi
# |
# | Modified files:
# | * dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec, dlls/api-ms-win-core-winrt-registration-l1-1-0/api-
# | ms-win-core-winrt-registration-l1-1-0.spec, dlls/combase/Makefile.in, dlls/combase/combase.spec, dlls/combase/roapi.c,
# | include/Makefile.in, include/activation.idl, include/objidl.idl, include/roapi.h
# | ms-win-core-winrt-registration-l1-1-0.spec, dlls/combase/combase.spec, dlls/combase/roapi.c, include/roapi.h
# |
if test "$enable_combase_RoApi" -eq 1; then
patch_apply combase-RoApi/0002-include-roapi.h-Add-further-typedefs.patch
@ -3331,9 +3278,8 @@ fi
# | dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/main.c,
# | dlls/feclient/Makefile.in, dlls/feclient/feclient.spec, dlls/feclient/main.c, dlls/iertutil/Makefile.in,
# | dlls/iertutil/iertutil.spec, dlls/iertutil/main.c, dlls/kernelbase/kernelbase.spec, dlls/kernelbase/main.c,
# | dlls/shcore/Makefile.in, dlls/shcore/main.c, dlls/shcore/shcore.spec, dlls/uiautomationcore/Makefile.in,
# | dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec, include/Makefile.in,
# | include/shellscalingapi.h, include/uiautomationcoreapi.h, tools/make_specfiles
# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec,
# | include/uiautomationcoreapi.h, tools/make_specfiles
# |
if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch
@ -3354,7 +3300,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
(
printf '%s\n' '+ { "Michael Müller", "kernelbase: Add dll and add stub for QuirkIsEnabled.", 1 },';
printf '%s\n' '+ { "Michael Müller", "iertutil: Add dll and add stub for ordinal 811.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "api-ms-win-shcore-obsolete-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for XamlBehaviorEnabled.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for UserContextExtInitialize.", 1 },';
@ -3366,9 +3311,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-window-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-rtcore-ntuser-syscolors-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Add SetProcessDpiAwareness stub.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Implement stub for GetDpiForMonitor.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Add stub for GetProcessDpiAwareness.", 1 },';
printf '%s\n' '+ { "Michael Müller", "feclient: Add stub dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "uiautomationcore: Add dll and stub some functions.", 1 },';
) >> "$patchlist"
@ -3678,9 +3620,8 @@ fi
# Patchset wined3d-1DTextures
# |
# | Modified files:
# | * dlls/d3d10core/tests/device.c, dlls/d3d11/device.c, dlls/d3d11/tests/d3d11.c, dlls/wined3d/context.c,
# | dlls/wined3d/device.c, dlls/wined3d/directx.c, dlls/wined3d/glsl_shader.c, dlls/wined3d/resource.c,
# | dlls/wined3d/texture.c, dlls/wined3d/utils.c, dlls/wined3d/view.c, dlls/wined3d/wined3d_private.h,
# | * dlls/d3d11/device.c, dlls/d3d11/tests/d3d11.c, dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/directx.c,
# | dlls/wined3d/glsl_shader.c, dlls/wined3d/resource.c, dlls/wined3d/texture.c, dlls/wined3d/utils.c, dlls/wined3d/view.c,
# | include/wine/wined3d.h
# |
if test "$enable_wined3d_1DTextures" -eq 1; then
@ -3830,10 +3771,10 @@ fi
# |
if test "$enable_d3d11_Depth_Bias" -eq 1; then
patch_apply d3d11-Depth_Bias/0002-d3d11-tests-Add-some-basic-depth-tests.patch
# patch_apply d3d11-Depth_Bias/0003-d3d11-Implement-depth-bias-and-slope.patch
# patch_apply d3d11-Depth_Bias/0004-d3d11-Add-support-for-SlopeScaledDepthBias-in-RSSetS.patch
# patch_apply d3d11-Depth_Bias/0005-d3d11-tests-Add-basic-test-for-depth-bias-clamping.patch
# patch_apply d3d11-Depth_Bias/0006-wined3d-Add-support-for-depth-bias-clamping.patch
patch_apply d3d11-Depth_Bias/0003-d3d11-Implement-depth-bias-and-slope.patch
patch_apply d3d11-Depth_Bias/0004-d3d11-Add-support-for-SlopeScaledDepthBias-in-RSSetS.patch
patch_apply d3d11-Depth_Bias/0005-d3d11-tests-Add-basic-test-for-depth-bias-clamping.patch
patch_apply d3d11-Depth_Bias/0006-wined3d-Add-support-for-depth-bias-clamping.patch
(
printf '%s\n' '+ { "Michael Müller", "d3d11/tests: Add some basic depth tests.", 1 },';
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement depth bias and slope.", 1 },';
@ -3936,12 +3877,12 @@ fi
# | Modified files:
# | * dlls/d3d10_1/tests/d3d10_1.c, dlls/d3d11/tests/d3d11.c, dlls/d3d9/tests/device.c, dlls/winex11.drv/opengl.c
# |
#if test "$enable_d3d9_DesktopWindow" -eq 1; then
# patch_apply d3d9-DesktopWindow/0001-winex11.drv-Allow-changing-the-opengl-pixel-format-o.patch
# (
# printf '%s\n' '+ { "Michael Müller", "winex11.drv: Allow changing the opengl pixel format on the desktop window.", 1 },';
# ) >> "$patchlist"
#fi
if test "$enable_d3d9_DesktopWindow" -eq 1; then
patch_apply d3d9-DesktopWindow/0001-winex11.drv-Allow-changing-the-opengl-pixel-format-o.patch
(
printf '%s\n' '+ { "Michael Müller", "winex11.drv: Allow changing the opengl pixel format on the desktop window.", 1 },';
) >> "$patchlist"
fi
# Patchset d3d9-Tests
# |
@ -4148,8 +4089,7 @@ fi
# | dlls/d3dx9_28/Makefile.in, dlls/d3dx9_29/Makefile.in, dlls/d3dx9_30/Makefile.in, dlls/d3dx9_31/Makefile.in,
# | dlls/d3dx9_32/Makefile.in, dlls/d3dx9_33/Makefile.in, dlls/d3dx9_34/Makefile.in, dlls/d3dx9_35/Makefile.in,
# | dlls/d3dx9_36/Makefile.in, dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c, dlls/d3dx9_37/Makefile.in,
# | dlls/d3dx9_38/Makefile.in, dlls/d3dx9_39/Makefile.in, dlls/d3dx9_40/Makefile.in, dlls/d3dx9_41/Makefile.in,
# | dlls/d3dx9_42/Makefile.in, dlls/d3dx9_43/Makefile.in
# | dlls/d3dx9_38/Makefile.in, dlls/d3dx9_39/Makefile.in, dlls/d3dx9_40/Makefile.in
# |
if test "$enable_d3dx9_36_DXTn" -eq 1; then
patch_apply d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch
@ -5911,25 +5851,10 @@ if test "$enable_ntdll_ApiSetQueryApiSetPresence" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-Attach_Process_DLLs
# |
# | This patchset fixes the following Wine bugs:
# | * [#40714] Ensure process_attach callbacks are not executed too early
# |
# | Modified files:
# | * dlls/ntdll/loader.c
# |
if test "$enable_ntdll_Attach_Process_DLLs" -eq 1; then
patch_apply ntdll-Attach_Process_DLLs/0001-ntdll-Ensure-process-dlls-are-not-attached-too-early.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Ensure process dlls are not attached too early.", 2 },';
) >> "$patchlist"
fi
# Patchset ntdll-Hide_Wine_Exports
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime
# | * ntdll-ThreadTime
# |
# | This patchset fixes the following Wine bugs:
# | * [#38656] Add support for hiding wine version information from applications
@ -5947,7 +5872,7 @@ fi
# Patchset ntdll-x86_64_ExceptionInformation
# |
# | Modified files:
# | * dlls/ntdll/signal_x86_64.c, dlls/ntdll/virtual.c
# | * dlls/ntdll/signal_x86_64.c
# |
if test "$enable_ntdll_x86_64_ExceptionInformation" -eq 1; then
patch_apply ntdll-x86_64_ExceptionInformation/0001-ntdll-Set-proper-ExceptionInformation-0-for-x86_64-e.patch
@ -5956,7 +5881,6 @@ if test "$enable_ntdll_x86_64_ExceptionInformation" -eq 1; then
patch_apply ntdll-x86_64_ExceptionInformation/0005-ntdll-Handle-interrupt-0x2c-on-x86_64.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Set proper ExceptionInformation[0] for x86_64 exceptions.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Avoid crash when trying to access page prot of address beyond address space limit.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ntdll: Translate icebp instruction to EXCEPTION_SINGLE_STEP on x64.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Correctly handle privileged instructions on x86_64.", 1 },';
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Handle interrupt 0x2c on x86_64.", 1 },';
@ -5966,7 +5890,7 @@ fi
# Patchset ntdll-User_Shared_Data
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation
# |
# | This patchset fixes the following Wine bugs:
# | * [#29168] Update user shared data at realtime
@ -5991,8 +5915,7 @@ fi
# Patchset ntdll-Builtin_Prot
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-
# | User_Shared_Data
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-User_Shared_Data
# |
# | Modified files:
# | * dlls/ntdll/virtual.c, dlls/psapi/tests/psapi_main.c
@ -6139,7 +6062,7 @@ fi
# Patchset ntdll-DllRedirects
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type
# |
# | Modified files:
# | * dlls/ntdll/loader.c, dlls/ntdll/loadorder.c, dlls/ntdll/ntdll_misc.h
@ -6354,7 +6277,7 @@ fi
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * mscoree-CorValidateImage, ntdll-APC_Start_Process, ntdll-CLI_Images, ntdll-LDR_MODULE, ntdll-HashLinks, ntdll-
# | Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-RtlQueryPackageIdentity
# | ThreadTime, ntdll-Hide_Wine_Exports, ntdll-RtlQueryPackageIdentity
# |
# | Modified files:
# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/tests/rtl.c, include/winternl.h
@ -6579,7 +6502,7 @@ fi
# Patchset ntdll-Purist_Mode
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects
# |
# | Modified files:
# | * dlls/ntdll/loadorder.c
@ -6672,8 +6595,7 @@ fi
# Patchset ntdll-WRITECOPY
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-
# | User_Shared_Data
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-User_Shared_Data
# |
# | This patchset fixes the following Wine bugs:
# | * [#29384] Voobly expects correct handling of WRITECOPY memory protection
@ -6700,8 +6622,7 @@ fi
# Patchset ntdll-Signal_Handler
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-
# | User_Shared_Data, ntdll-WRITECOPY
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-User_Shared_Data, ntdll-WRITECOPY
# |
# | Modified files:
# | * dlls/ntdll/signal_i386.c
@ -7309,18 +7230,6 @@ if test "$enable_quartz_Silence_FIXMEs" -eq 1; then
) >> "$patchlist"
fi
# Patchset rasapi32-RasGetConnectionStatistics
# |
# | Modified files:
# | * dlls/rasapi32/rasapi.c, dlls/rasapi32/rasapi32.spec, include/raserror.h
# |
if test "$enable_rasapi32_RasGetConnectionStatistics" -eq 1; then
patch_apply rasapi32-RasGetConnectionStatistics/0001-rasapi32-Add-stub-for-RasGetConnectionStatistics.patch
(
printf '%s\n' '+ { "Stanislav Motylkov", "rasapi32: Add stub for RasGetConnectionStatistics.", 1 },';
) >> "$patchlist"
fi
# Patchset riched20-Class_Tests
# |
# | Modified files:
@ -8504,21 +8413,6 @@ if test "$enable_user32_Groupbox_Rectangle" -eq 1; then
) >> "$patchlist"
fi
# Patchset user32-Invalidate_Key_State
# |
# | This patchset fixes the following Wine bugs:
# | * [#29871] Globally invalidate key state on changes in other threads
# |
# | Modified files:
# | * dlls/user32/input.c
# |
if test "$enable_user32_Invalidate_Key_State" -eq 1; then
patch_apply user32-Invalidate_Key_State/0001-user32-Globally-invalidate-key-state-on-changes-in-o.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "user32: Globally invalidate key state on changes in other threads.", 1 },';
) >> "$patchlist"
fi
# Patchset user32-LR_LOADFROMFILE
# |
# | This patchset fixes the following Wine bugs:
@ -8640,21 +8534,6 @@ if test "$enable_user32_Refresh_MDI_Menus" -eq 1; then
) >> "$patchlist"
fi
# Patchset user32-Revert_ListBox_Height
# |
# | This patchset fixes the following Wine bugs:
# | * [#43643] Revert patch to fix listbox popup height
# |
# | Modified files:
# | * dlls/user32/combo.c, dlls/user32/tests/combo.c
# |
if test "$enable_user32_Revert_ListBox_Height" -eq 1; then
patch_apply user32-Revert_ListBox_Height/0001-Revert-user32-combo-Set-listbox-popup-height-correct.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "Revert \"user32/combo: Set listbox popup height correctly and add tests.\".", 1 },';
) >> "$patchlist"
fi
# Patchset user32-ScrollWindowEx
# |
# | This patchset fixes the following Wine bugs:
@ -8760,7 +8639,7 @@ fi
# Patchset uxtheme-GTK_Theming
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects
# |
# | Modified files:
# | * aclocal.m4, configure.ac, dlls/uxtheme-gtk/Makefile.in, dlls/uxtheme-gtk/button.c, dlls/uxtheme-gtk/combobox.c, dlls
@ -8927,28 +8806,11 @@ if test "$enable_wbemprox_Win32_VideoController" -eq 1; then
patch_apply wbemprox-Win32_VideoController/0002-wbemprox-Add-Status-for-Win32_VideoController.patch
patch_apply wbemprox-Win32_VideoController/0003-wbemprox-Add-InstalledDisplayDrivers-for-Win32_Video.patch
patch_apply wbemprox-Win32_VideoController/0004-wbemprox-Add-DriverDate-for-Win32_VideoController.patch
patch_apply wbemprox-Win32_VideoController/0005-wbemprox-Add-Vendor-field-in-Win32_ComputerSystemPro.patch
(
printf '%s\n' '+ { "Michael Müller", "wbemprox: Add ConfigManagerErrorCode for Win32_VideoController.", 1 },';
printf '%s\n' '+ { "Michael Müller", "wbemprox: Add Status for Win32_VideoController.", 1 },';
printf '%s\n' '+ { "Michael Müller", "wbemprox: Add InstalledDisplayDrivers for Win32_VideoController.", 1 },';
printf '%s\n' '+ { "Michael Müller", "wbemprox: Add DriverDate for Win32_VideoController.", 1 },';
printf '%s\n' '+ { "Michael Müller", "wbemprox: Add Vendor field in Win32_ComputerSystemProduct.", 1 },';
) >> "$patchlist"
fi
# Patchset wevtapi-EvtNext
# |
# | This patchset fixes the following Wine bugs:
# | * [#42170] Add stub for wevtapi.EvtNext
# |
# | Modified files:
# | * dlls/wevtapi/main.c, dlls/wevtapi/wevtapi.spec
# |
if test "$enable_wevtapi_EvtNext" -eq 1; then
patch_apply wevtapi-EvtNext/0001-wevtapi-Add-stub-for-EvtNext.patch
(
printf '%s\n' '+ { "Michael Müller", "wevtapi: Add stub for EvtNext.", 1 },';
) >> "$patchlist"
fi
@ -9332,8 +9194,7 @@ fi
# Patchset winebuild-Fake_Dlls
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-Attach_Process_DLLs, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-
# | User_Shared_Data
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-User_Shared_Data
# |
# | This patchset fixes the following Wine bugs:
# | * [#42741] Various improvements for fake dlls
@ -9543,18 +9404,6 @@ if test "$enable_wined3d_QUERY_Stubs" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-Revert_Buffer_Upload
# |
# | Modified files:
# | * dlls/wined3d/buffer.c, dlls/wined3d/cs.c, dlls/wined3d/wined3d_private.h
# |
if test "$enable_wined3d_Revert_Buffer_Upload" -eq 1; then
patch_apply wined3d-Revert_Buffer_Upload/0001-Revert-wined3d-Implement-wined3d_buffer_upload_data-.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "Revert \"wined3d: Implement wined3d_buffer_upload_data() on top of wined3d_buffer_upload_ranges().\".", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-Silence_FIXMEs
# |
# | Modified files:
@ -9588,11 +9437,10 @@ fi
# Patchset wined3d-CSMT_Helper
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll-
# | Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting,
# | d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d-
# | Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d-Revert_Buffer_Upload, wined3d-Silence_FIXMEs,
# | wined3d-UAV_Counters
# | * wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll-DllOverrides_WOW64, ntdll-
# | Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting, d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-
# | DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d-Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs,
# | wined3d-Silence_FIXMEs, wined3d-UAV_Counters
# |
# | Modified files:
# | * configure.ac, dlls/wined3d-csmt/Makefile.in, dlls/wined3d-csmt/version.rc
@ -9768,11 +9616,10 @@ fi
# Patchset wined3d-CSMT_Main
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll-
# | Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting,
# | d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d-
# | Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs, wined3d-Revert_Buffer_Upload, wined3d-Silence_FIXMEs,
# | wined3d-UAV_Counters, wined3d-CSMT_Helper
# | * wined3d-1DTextures, d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll-DllOverrides_WOW64, ntdll-
# | Loader_Machine_Type, ntdll-DllRedirects, wined3d-Accounting, d3d11-Depth_Bias, wined3d-Copy_Resource_Typeless, wined3d-
# | DXTn, wined3d-Core_Context, wined3d-Viewports, wined3d-Dual_Source_Blending, wined3d-GenerateMips, wined3d-QUERY_Stubs,
# | wined3d-Silence_FIXMEs, wined3d-UAV_Counters, wined3d-CSMT_Helper
# |
# | This patchset fixes the following Wine bugs:
# | * [#11674] Support for CSMT (command stream) to increase graphic performance

View File

@ -1,52 +0,0 @@
From 8cb902b407afef95cac06fbc52c42d5e481a610a Mon Sep 17 00:00:00 2001
From: Stanislav Motylkov <x86corez@gmail.com>
Date: Wed, 4 Oct 2017 23:46:35 +0300
Subject: rasapi32: Add stub for RasGetConnectionStatistics
---
dlls/rasapi32/rasapi.c | 6 ++++++
dlls/rasapi32/rasapi32.spec | 1 +
include/raserror.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index b1721c61752..791b0dab133 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -547,3 +547,9 @@ DWORD WINAPI RasGetLinkStatistics(HRASCONN connection, DWORD entry, RAS_STATS *s
FIXME("(%p,%u,%p), stub!\n", connection, entry, statistics);
return 0;
}
+
+DWORD WINAPI RasGetConnectionStatistics(HRASCONN connection, RAS_STATS *statistics)
+{
+ FIXME("(%p,%p), stub!\n", connection, statistics);
+ return ERROR_UNKNOWN;
+}
diff --git a/dlls/rasapi32/rasapi32.spec b/dlls/rasapi32/rasapi32.spec
index 66b21a657cc..48d7a73dc87 100644
--- a/dlls/rasapi32/rasapi32.spec
+++ b/dlls/rasapi32/rasapi32.spec
@@ -29,6 +29,7 @@
@ stdcall RasGetAutodialEnableW(long ptr)
@ stdcall RasGetAutodialParamA(long ptr ptr)
@ stdcall RasGetAutodialParamW(long ptr ptr)
+@ stdcall RasGetConnectionStatistics(ptr ptr)
@ stub RasGetConnectResponse
@ stdcall RasGetConnectStatusA(ptr ptr)
@ stdcall RasGetConnectStatusW(ptr ptr)
diff --git a/include/raserror.h b/include/raserror.h
index 17359368780..549b42423cf 100644
--- a/include/raserror.h
+++ b/include/raserror.h
@@ -23,6 +23,7 @@
#define ERROR_BUFFER_TOO_SMALL (RASBASE+3)
#define ERROR_BUFFER_INVALID (RASBASE+10)
#define ERROR_INVALID_SIZE (RASBASE+32)
+#define ERROR_UNKNOWN (RASBASE+35)
#define ERROR_STATE_MACHINES_NOT_STARTED (RASBASE+95)
#define ERROR_RASMAN_CANNOT_INITIALIZE (RASBASE+111)
--
2.14.1

View File

@ -1 +0,0 @@
Fixes: Implement stub for rasapi32.RasGetConnectionStatistics

View File

@ -1,7 +1,8 @@
From b31cd243e2a02b730e31bde59093afc92b9dcf52 Mon Sep 17 00:00:00 2001
From aea2466a7e48d05a176fcd29f68035b15a7a23b7 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 17 Aug 2015 01:11:47 +0200
Subject: server: Store a reference to the parent object for pipe servers. (v2)
Subject: [PATCH] server: Store a reference to the parent object for pipe
servers. (v2)
---
dlls/ntdll/tests/om.c | 3 ---
@ -11,7 +12,7 @@ Subject: server: Store a reference to the parent object for pipe servers. (v2)
4 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index 43c5ee46d71..9a1ba670ab7 100644
index 43c5ee4..9a1ba67 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -1487,14 +1487,11 @@ static void test_query_object(void)
@ -30,18 +31,18 @@ index 43c5ee46d71..9a1ba670ab7 100644
"name too short %s\n", wine_dbgstr_w(str->Buffer) );
trace( "got %s len %u\n", wine_dbgstr_w(str->Buffer), len );
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 58f68227f2d..c52a083df9a 100644
index c6b37ce..825216e 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -152,6 +152,8 @@ static void pipe_end_reselect_async( struct fd *fd, struct async_queue *queue );
@@ -151,6 +151,8 @@ static void pipe_end_reselect_async( struct fd *fd, struct async_queue *queue );
/* server end functions */
static void pipe_server_dump( struct object *obj, int verbose );
static void pipe_server_destroy( struct object *obj);
+static int pipe_server_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_server_unlink_name( struct object *obj, struct object_name *name );
static int pipe_server_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_server_get_file_info( struct fd *fd, unsigned int info_class );
static const struct object_ops pipe_server_ops =
@@ -169,8 +171,8 @@ static const struct object_ops pipe_server_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@ -51,17 +52,17 @@ index 58f68227f2d..c52a083df9a 100644
+ pipe_server_link_name, /* link_name */
+ pipe_server_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -194,6 +196,8 @@ static const struct fd_ops pipe_server_fd_ops =
pipe_server_destroy /* destroy */
@@ -193,6 +195,8 @@ static const struct fd_ops pipe_server_fd_ops =
/* client end functions */
static void pipe_client_dump( struct object *obj, int verbose );
static int pipe_client_signaled( struct object *obj, struct wait_queue_entry *entry );
+static int pipe_client_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_client_unlink_name( struct object *obj, struct object_name *name );
static void pipe_client_destroy( struct object *obj );
static int pipe_client_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_client_get_file_info( struct fd *fd, unsigned int info_class );
@@ -212,8 +216,8 @@ static const struct object_ops pipe_client_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@ -71,9 +72,9 @@ index 58f68227f2d..c52a083df9a 100644
+ pipe_client_link_name, /* link_name */
+ pipe_client_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -416,6 +420,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
pipe_client_destroy /* destroy */
@@ -409,6 +413,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
if (pipe_end->fd) release_object( pipe_end->fd );
}
@ -91,7 +92,7 @@ index 58f68227f2d..c52a083df9a 100644
static void pipe_server_destroy( struct object *obj)
{
struct pipe_server *server = (struct pipe_server *)obj;
@@ -438,6 +453,17 @@ static void pipe_server_destroy( struct object *obj)
@@ -431,6 +446,17 @@ static void pipe_server_destroy( struct object *obj)
release_object( server->pipe );
}
@ -109,7 +110,7 @@ index 58f68227f2d..c52a083df9a 100644
static void pipe_client_destroy( struct object *obj)
{
struct pipe_client *client = (struct pipe_client *)obj;
@@ -910,9 +936,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
@@ -956,9 +982,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned int options,
unsigned int pipe_flags )
{
@ -121,7 +122,7 @@ index 58f68227f2d..c52a083df9a 100644
if (!server)
return NULL;
@@ -933,12 +960,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
@@ -979,12 +1006,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
return server;
}
@ -137,7 +138,7 @@ index 58f68227f2d..c52a083df9a 100644
if (!client)
return NULL;
@@ -1016,7 +1044,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
@@ -1062,7 +1090,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
return NULL;
}
@ -147,7 +148,7 @@ index 58f68227f2d..c52a083df9a 100644
set_no_fd_status( server->pipe_end.fd, STATUS_BAD_DEVICE_TYPE );
allow_fd_caching( server->pipe_end.fd );
diff --git a/server/object.c b/server/object.c
index 14cd38e6f7e..77772a8e38b 100644
index 4455718..81f8d1b 100644
--- a/server/object.c
+++ b/server/object.c
@@ -176,7 +176,7 @@ WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len )
@ -201,10 +202,10 @@ index 14cd38e6f7e..77772a8e38b 100644
/* dump the name of an object to stderr */
diff --git a/server/object.h b/server/object.h
index 72ad8528c5a..ddb4410525b 100644
index b5c50e1..258a5e7 100644
--- a/server/object.h
+++ b/server/object.h
@@ -135,6 +135,8 @@ extern WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len );
@@ -133,6 +133,8 @@ extern WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len );
extern void dump_object_name( struct object *obj );
extern struct object *lookup_named_object( struct object *root, const struct unicode_str *name,
unsigned int attr, struct unicode_str *name_left );
@ -214,5 +215,5 @@ index 72ad8528c5a..ddb4410525b 100644
const struct unicode_str *name, unsigned int attributes,
const struct security_descriptor *sd );
--
2.14.1
2.7.4

View File

@ -1,15 +1,15 @@
From f378913d8cb2e40abb4e24d4bfaf0cbe7ea8134a Mon Sep 17 00:00:00 2001
From 103583fcc07412ede80a00edc1f07a9d0ada28e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 2 Apr 2016 01:39:40 +0200
Subject: shell32: Implement insert/paste for item context menus.
Subject: [PATCH 3/7] shell32: Implement insert/paste for item context menus.
---
dlls/shell32/shell32.rc | 1 +
dlls/shell32/shlview_cmenu.c | 68 +++++++++++++++++++++++++++++++++++++++-----
2 files changed, 62 insertions(+), 7 deletions(-)
dlls/shell32/shlview_cmenu.c | 64 +++++++++++++++++++++++++++++++++++++++-----
2 files changed, 58 insertions(+), 7 deletions(-)
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
index bfba962..4f2015b 100644
index 6585416..0c75786 100644
--- a/dlls/shell32/shell32.rc
+++ b/dlls/shell32/shell32.rc
@@ -99,6 +99,7 @@ BEGIN
@ -21,7 +21,7 @@ index bfba962..4f2015b 100644
MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK
MENUITEM "&Delete", FCIDM_SHVIEW_DELETE
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
index 7ce6cd9..d972922 100644
index 677bb3f..0394da3 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -59,6 +59,8 @@ typedef struct
@ -113,29 +113,25 @@ index 7ce6cd9..d972922 100644
case FCIDM_SHVIEW_PROPERTIES:
TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n");
DoOpenProperties(This, lpcmi->hwnd);
@@ -510,6 +542,10 @@ static HRESULT WINAPI ItemMenu_GetCommandString(
strcpy(lpszName, "copy");
hr = S_OK;
break;
+ case FCIDM_SHVIEW_INSERT:
+ strcpy(lpszName, "paste");
+ hr = S_OK;
+ break;
case FCIDM_SHVIEW_CREATELINK:
strcpy(lpszName, "link");
hr = S_OK;
@@ -550,6 +586,10 @@ static HRESULT WINAPI ItemMenu_GetCommandString(
MultiByteToWideChar(CP_ACP, 0, "copy", -1, (LPWSTR)lpszName, uMaxNameLen);
hr = S_OK;
break;
+ case FCIDM_SHVIEW_INSERT:
+ MultiByteToWideChar(CP_ACP, 0, "paste", -1, (LPWSTR)lpszName, uMaxNameLen);
+ hr = S_OK;
+ break;
case FCIDM_SHVIEW_CREATELINK:
MultiByteToWideChar(CP_ACP, 0, "link", -1, (LPWSTR)lpszName, uMaxNameLen);
hr = S_OK;
@@ -757,8 +797,22 @@ static BOOL DoPaste(ContextMenu *This)
@@ -478,6 +510,7 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
static const WCHAR exploreW[] = {'e','x','p','l','o','r','e',0};
static const WCHAR cutW[] = {'c','u','t',0};
static const WCHAR copyW[] = {'c','o','p','y',0};
+ static const WCHAR pasteW[] = {'p','a','s','t','e',0};
static const WCHAR linkW[] = {'l','i','n','k',0};
static const WCHAR deleteW[] = {'d','e','l','e','t','e',0};
static const WCHAR propertiesW[] = {'p','r','o','p','e','r','t','i','e','s',0};
@@ -511,6 +544,9 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
case FCIDM_SHVIEW_COPY:
cmdW = copyW;
break;
+ case FCIDM_SHVIEW_INSERT:
+ cmdW = pasteW;
+ break;
case FCIDM_SHVIEW_CREATELINK:
cmdW = linkW;
break;
@@ -726,8 +762,22 @@ static BOOL DoPaste(ContextMenu *This)
if (psfFrom)
{
/* get source and destination shellfolder */
@ -161,5 +157,5 @@ index 7ce6cd9..d972922 100644
/* do the copy/move */
--
2.7.1
2.7.4

View File

@ -1,50 +0,0 @@
From 6ef2ab6c2318d4fb15220891ce16768e84354a88 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 16 Jun 2015 02:56:25 +0200
Subject: user32: Globally invalidate key state on changes in other threads.
---
dlls/user32/input.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 40e35a9..95f3c2f 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -371,6 +371,7 @@ SHORT WINAPI DECLSPEC_HOTPATCH GetAsyncKeyState( INT key )
{
struct user_key_state_info *key_state_info = get_user_thread_info()->key_state;
INT counter = global_key_state_counter;
+ BYTE prev_key_state;
SHORT ret;
if (key < 0 || key >= 256) return 0;
@@ -398,14 +399,23 @@ SHORT WINAPI DECLSPEC_HOTPATCH GetAsyncKeyState( INT key )
{
req->tid = 0;
req->key = key;
- if (key_state_info) wine_server_set_reply( req, key_state_info->state,
- sizeof(key_state_info->state) );
+ if (key_state_info)
+ {
+ prev_key_state = key_state_info->state[key];
+ wine_server_set_reply( req, key_state_info->state, sizeof(key_state_info->state) );
+ }
if (!wine_server_call( req ))
{
if (reply->state & 0x40) ret |= 0x0001;
if (reply->state & 0x80) ret |= 0x8000;
if (key_state_info)
{
+ /* force refreshing the key state cache - some multithreaded programs
+ * (like Adobe Photoshop CS5) expect that changes to the async key state
+ * are also immediately available in other threads. */
+ if (prev_key_state != key_state_info->state[key])
+ counter = interlocked_xchg_add( &global_key_state_counter, 1 ) + 1;
+
key_state_info->time = GetTickCount();
key_state_info->counter = counter;
}
--
2.4.3

View File

@ -1 +0,0 @@
Fixes: [29871] Globally invalidate key state on changes in other threads

View File

@ -1,74 +0,0 @@
From 58357b49f12f724bb9e2444f7cb193e3d2983ce2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 4 Sep 2017 01:35:03 +0200
Subject: Revert "user32/combo: Set listbox popup height correctly and add
tests."
This reverts commit f7f7b89e2e9117811c91269643868c6d063db5e9.
---
dlls/user32/combo.c | 8 ++++++++
dlls/user32/tests/combo.c | 20 ++++++++++----------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 79103160cfa..501bfe80b7e 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -1033,6 +1033,14 @@ static void CBDropDown( LPHEADCOMBO lphc )
if (nHeight < nDroppedHeight - COMBO_YBORDERSIZE())
nDroppedHeight = nHeight + COMBO_YBORDERSIZE();
+
+ if (nDroppedHeight < nHeight)
+ {
+ if (nItems < 5)
+ nDroppedHeight = (nItems+1)*nIHeight;
+ else if (nDroppedHeight < 6*nIHeight)
+ nDroppedHeight = 6*nIHeight;
+ }
}
r.left = rect.left;
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c
index 03fc412e418..1a67611905e 100644
--- a/dlls/user32/tests/combo.c
+++ b/dlls/user32/tests/combo.c
@@ -718,25 +718,25 @@ static void test_listbox_size(DWORD style)
int height_combo;
BOOL todo;
} info_height[] = {
- {2, 24},
+ {2, 24, TRUE},
{2, 41, TRUE},
- {2, 42},
- {2, 50},
+ {2, 42, TRUE},
+ {2, 50, TRUE},
{2, 60},
{2, 80},
{2, 89},
{2, 90},
{2, 100},
- {10, 24},
+ {10, 24, TRUE},
{10, 41, TRUE},
- {10, 42},
- {10, 50},
- {10, 60},
- {10, 80},
+ {10, 42, TRUE},
+ {10, 50, TRUE},
+ {10, 60, TRUE},
+ {10, 80, TRUE},
{10, 89, TRUE},
- {10, 90},
- {10, 100},
+ {10, 90, TRUE},
+ {10, 100, TRUE},
};
pGetComboBoxInfo = (void *)GetProcAddress(GetModuleHandleA("user32.dll"), "GetComboBoxInfo");
--
2.14.1

View File

@ -1 +0,0 @@
Fixes: [43643] Revert patch to fix listbox popup height

View File

@ -1,7 +1,7 @@
From 33a1f4fe6cd08f88acd01d413d0a2d490bd304d1 Mon Sep 17 00:00:00 2001
From aec88fa96675ae6c4b3475167b21a0e3afbc5f88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 13 Aug 2017 02:09:51 +0200
Subject: user32: Add stubs for GetWindowDisplayAffinity and
Subject: [PATCH] user32: Add stubs for GetWindowDisplayAffinity and
SetWindowDisplayAffinity.
---
@ -14,7 +14,7 @@ Subject: user32: Add stubs for GetWindowDisplayAffinity and
6 files changed, 132 insertions(+), 4 deletions(-)
diff --git a/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec b/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
index 4b563ffddb7..ea155c098d9 100644
index 4b563ff..ea155c0 100644
--- a/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
+++ b/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
@@ -24,7 +24,7 @@
@ -36,7 +36,7 @@ index 4b563ffddb7..ea155c098d9 100644
@ stdcall SetWindowTextW(long wstr) user32.SetWindowTextW
@ stdcall SetWindowsHookExW(long long long long) user32.SetWindowsHookExW
diff --git a/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec b/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
index 4b563ffddb7..ea155c098d9 100644
index 4b563ff..ea155c0 100644
--- a/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
+++ b/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
@@ -24,7 +24,7 @@
@ -58,7 +58,7 @@ index 4b563ffddb7..ea155c098d9 100644
@ stdcall SetWindowTextW(long wstr) user32.SetWindowTextW
@ stdcall SetWindowsHookExW(long long long long) user32.SetWindowsHookExW
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index 0fc262986bb..9b8d16adc5f 100644
index 96a2467..6cd1bd8 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -67,6 +67,8 @@ static BOOL (WINAPI *pFlashWindowEx)( PFLASHWINFO pfwi );
@ -70,8 +70,8 @@ index 0fc262986bb..9b8d16adc5f 100644
static BOOL test_lbuttondown_flag;
static DWORD num_gettext_msgs;
@@ -9950,6 +9952,88 @@ static void test_desktop( void )
}
@@ -10433,6 +10435,88 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
DestroyWindow(owner);
}
+static void test_display_affinity( HWND win )
@ -159,7 +159,7 @@ index 0fc262986bb..9b8d16adc5f 100644
START_TEST(win)
{
char **argv;
@@ -9974,6 +10058,8 @@ START_TEST(win)
@@ -10457,6 +10541,8 @@ START_TEST(win)
pGetLayout = (void *)GetProcAddress( gdi32, "GetLayout" );
pSetLayout = (void *)GetProcAddress( gdi32, "SetLayout" );
pMirrorRgn = (void *)GetProcAddress( gdi32, "MirrorRgn" );
@ -168,16 +168,16 @@ index 0fc262986bb..9b8d16adc5f 100644
if (argc==4 && !strcmp(argv[2], "create_children"))
{
@@ -10099,6 +10185,7 @@ START_TEST(win)
@@ -10581,6 +10667,7 @@ START_TEST(win)
test_deferwindowpos();
test_LockWindowUpdate(hwndMain);
test_desktop();
+ test_display_affinity(hwndMain);
test_hide_window();
test_minimize_window(hwndMain);
/* add the tests above this line */
if (hhook) UnhookWindowsHookEx(hhook);
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index 9407c34843b..b2588128145 100644
index e45cafa..f601d7d 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -388,6 +388,7 @@
@ -197,10 +197,10 @@ index 9407c34843b..b2588128145 100644
@ stdcall SetWindowLongA(long long long)
@ stdcall -arch=win64 SetWindowLongPtrA(long long long)
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index eced3969d36..3042a560ce9 100644
index b13032b..794f333 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -4034,3 +4034,37 @@ BOOL WINAPI GetGestureInfo(HGESTUREINFO handle, PGESTUREINFO ptr)
@@ -4029,3 +4029,37 @@ BOOL WINAPI GetGestureInfo(HGESTUREINFO handle, PGESTUREINFO ptr)
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
@ -239,10 +239,10 @@ index eced3969d36..3042a560ce9 100644
+ return FALSE;
+}
diff --git a/include/winuser.h b/include/winuser.h
index c496087bbfb..d8a5bec4533 100644
index 05bf590..08a0298 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -2535,6 +2535,9 @@ typedef struct tagMINIMIZEDMETRICS {
@@ -2533,6 +2533,9 @@ typedef struct tagMINIMIZEDMETRICS {
int iArrange;
} MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
@ -252,7 +252,7 @@ index c496087bbfb..d8a5bec4533 100644
/* Window scrolling */
#define SW_SCROLLCHILDREN 0x0001
@@ -3772,6 +3775,7 @@ WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION
@@ -3771,6 +3774,7 @@ WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION
WINUSERAPI HWND WINAPI GetWindow(HWND,UINT);
WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
WINUSERAPI HDC WINAPI GetWindowDC(HWND);
@ -260,7 +260,7 @@ index c496087bbfb..d8a5bec4533 100644
WINUSERAPI BOOL WINAPI GetWindowInfo(HWND, PWINDOWINFO);
WINUSERAPI LONG WINAPI GetWindowLongA(HWND,INT);
WINUSERAPI LONG WINAPI GetWindowLongW(HWND,INT);
@@ -4074,6 +4078,7 @@ WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD)
@@ -4073,6 +4077,7 @@ WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD)
#define SetUserObjectInformation WINELIB_NAME_AW(SetUserObjectInformation)
WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
@ -269,5 +269,5 @@ index c496087bbfb..d8a5bec4533 100644
WINUSERAPI LONG WINAPI SetWindowLongW(HWND,INT,LONG);
#define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
--
2.13.1
2.7.4

View File

@ -1,60 +0,0 @@
From eae806b2918bb7e417c0deeca518102434eb7041 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 19 Mar 2017 21:42:24 +0100
Subject: wbemprox: Add Vendor field in Win32_ComputerSystemProduct.
---
dlls/wbemprox/builtin.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index ffcffaa621..70907bf1d4 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -391,6 +391,8 @@ static const WCHAR prop_varianttypeW[] =
{'V','a','r','i','a','n','t','T','y','p','e',0};
static const WCHAR prop_versionW[] =
{'V','e','r','s','i','o','n',0};
+static const WCHAR prop_vendorW[] =
+ {'V','e','n','d','o','r',0};
static const WCHAR prop_videoarchitectureW[] =
{'V','i','d','e','o','A','r','c','h','i','t','e','c','t','u','r','e',0};
static const WCHAR prop_videomemorytypeW[] =
@@ -452,7 +454,8 @@ static const struct column col_compsys[] =
static const struct column col_compsysproduct[] =
{
{ prop_identifyingnumberW, CIM_STRING|COL_FLAG_KEY },
- { prop_uuidW, CIM_STRING|COL_FLAG_DYNAMIC }
+ { prop_uuidW, CIM_STRING|COL_FLAG_DYNAMIC },
+ { prop_vendorW, CIM_STRING },
};
static const struct column col_datafile[] =
{
@@ -760,6 +763,8 @@ static const WCHAR compsysproduct_identifyingnumberW[] =
static const WCHAR compsysproduct_uuidW[] =
{'d','e','a','d','d','e','a','d','-','d','e','a','d','-','d','e','a','d','-','d','e','a','d','-',
'd','e','a','d','d','e','a','d','d','e','a','d',0};
+static const WCHAR compsysproduct_vendorW[] =
+ {'W','i','n','e',0};
static const WCHAR diskdrive_interfacetypeW[] =
{'I','D','E',0};
static const WCHAR diskdrive_manufacturerW[] =
@@ -854,6 +859,7 @@ struct record_computersystemproduct
{
const WCHAR *identifyingnumber;
const WCHAR *uuid;
+ const WCHAR *vendor;
};
struct record_datafile
{
@@ -1448,6 +1454,7 @@ static enum fill_status fill_compsysproduct( struct table *table, const struct e
rec = (struct record_computersystemproduct *)table->data;
rec->identifyingnumber = compsysproduct_identifyingnumberW;
rec->uuid = get_compsysproduct_uuid();
+ rec->vendor = compsysproduct_vendorW;
if (!match_row( table, row, cond, &status )) free_row_values( table, row );
else row++;
--
2.11.0

View File

@ -1,53 +0,0 @@
From 31dab1225f9a417df6237c0f33a57128645af4d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 2 Feb 2017 20:06:04 +0100
Subject: wevtapi: Add stub for EvtNext.
---
dlls/wevtapi/main.c | 16 ++++++++++++++++
dlls/wevtapi/wevtapi.spec | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/dlls/wevtapi/main.c b/dlls/wevtapi/main.c
index 0b88165abae..f0a8f729f24 100644
--- a/dlls/wevtapi/main.c
+++ b/dlls/wevtapi/main.c
@@ -80,6 +80,22 @@ EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath,
return NULL;
}
+BOOL WINAPI EvtNext(EVT_HANDLE result, DWORD size, EVT_HANDLE *array, DWORD timeout,
+ DWORD flags, DWORD *ret_count)
+{
+ FIXME("(%p %u %p %u %u %p) stub\n", result, size, array, timeout, flags, ret_count);
+
+ if (timeout)
+ {
+ Sleep(timeout);
+ SetLastError(ERROR_TIMEOUT);
+ return FALSE;
+ }
+
+ SetLastError(ERROR_NO_MORE_ITEMS);
+ return FALSE;
+}
+
BOOL WINAPI EvtClose(EVT_HANDLE handle)
{
FIXME("(%p) stub\n", handle);
diff --git a/dlls/wevtapi/wevtapi.spec b/dlls/wevtapi/wevtapi.spec
index 328b0dbcd98..cf6002fa48d 100644
--- a/dlls/wevtapi/wevtapi.spec
+++ b/dlls/wevtapi/wevtapi.spec
@@ -25,7 +25,7 @@
@ stub EvtIntRetractConfig
@ stub EvtIntSysprepCleanup
@ stub EvtIntWriteXmlEventToLocalLogfile
-@ stub EvtNext
+@ stdcall EvtNext(ptr long ptr long long ptr)
@ stub EvtNextChannelPath
@ stub EvtNextEventMetadata
@ stub EvtNextPublisherId
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: [42170] Add stub for wevtapi.EvtNext

View File

@ -1,17 +1,18 @@
From 3d5236979b081ae707d7f047fbf9e24a3cd0e4cf Mon Sep 17 00:00:00 2001
From f86165f3d7289221abff169866659c8196c7f8dd Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 26 Jan 2016 15:41:06 +0800
Subject: oleaut32: Add support for decoding SLTG function help strings.
Subject: [PATCH 24/26] oleaut32: Add support for decoding SLTG function help
strings.
---
dlls/oleaut32/typelib.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index 4fb5a95..b9d8cbb 100644
index f652e0b..d08ee5c 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -4240,7 +4240,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
@@ -4206,7 +4206,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
}
static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
@ -21,16 +22,16 @@ index 4fb5a95..b9d8cbb 100644
{
SLTG_Function *pFunc;
unsigned short i;
@@ -4277,6 +4278,8 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
@@ -4243,6 +4244,8 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
pFuncDesc->funcdesc.cParams = pFunc->nacc >> 3;
pFuncDesc->funcdesc.cParamsOpt = (pFunc->retnextopt & 0x7e) >> 1;
pFuncDesc->funcdesc.oVft = pFunc->vtblpos & ~1;
pFuncDesc->funcdesc.oVft = (pFunc->vtblpos & ~1) * sizeof(void *) / pTI->pTypeLib->ptr_size;
+ if (pFunc->helpstring != 0xffff)
+ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib);
if(pFunc->magic & SLTG_FUNCTION_FLAGS_PRESENT)
pFuncDesc->funcdesc.wFuncFlags = pFunc->funcflags;
@@ -4364,7 +4367,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
@@ -4330,7 +4333,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
@ -39,7 +40,7 @@ index 4fb5a95..b9d8cbb 100644
{
char *pFirstItem;
sltg_ref_lookup_t *ref_lookup = NULL;
@@ -4381,7 +4384,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
@@ -4347,7 +4350,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
}
if (pTITail->funcs_off != 0xffff)
@ -48,7 +49,7 @@ index 4fb5a95..b9d8cbb 100644
heap_free(ref_lookup);
@@ -4426,7 +4429,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
@@ -4392,7 +4395,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
@ -57,7 +58,7 @@ index 4fb5a95..b9d8cbb 100644
{
sltg_ref_lookup_t *ref_lookup = NULL;
if (pTIHeader->href_table != 0xffffffff)
@@ -4437,7 +4440,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
@@ -4403,7 +4406,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
if (pTITail->funcs_off != 0xffff)
@ -66,7 +67,7 @@ index 4fb5a95..b9d8cbb 100644
if (pTITail->impls_off != 0xffff)
SLTG_DoImpls(pBlk + pTITail->impls_off, pTI, FALSE, ref_lookup);
@@ -4461,7 +4464,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
@@ -4427,7 +4430,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
@ -75,7 +76,7 @@ index 4fb5a95..b9d8cbb 100644
{
sltg_ref_lookup_t *ref_lookup = NULL;
if (pTIHeader->href_table != 0xffffffff)
@@ -4472,7 +4475,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
@@ -4438,7 +4441,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
if (pTITail->funcs_off != 0xffff)
@ -84,7 +85,7 @@ index 4fb5a95..b9d8cbb 100644
heap_free(ref_lookup);
if (TRACE_ON(typelib))
dump_TypeInfo(pTI);
@@ -4734,7 +4737,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
@@ -4700,7 +4703,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
case TKIND_INTERFACE:
SLTG_ProcessInterface((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
@ -93,7 +94,7 @@ index 4fb5a95..b9d8cbb 100644
break;
case TKIND_COCLASS:
@@ -4749,12 +4752,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
@@ -4715,12 +4718,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
case TKIND_DISPATCH:
SLTG_ProcessDispatch((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
@ -109,5 +110,5 @@ index 4fb5a95..b9d8cbb 100644
default:
--
2.6.4
2.7.4

View File

@ -1,26 +1,26 @@
From 56d7b4030df9de1de6fb35ec4f31dad2661f46f9 Mon Sep 17 00:00:00 2001
From 8fcfe575232841cbd14f3bc8929595c5d2986960 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 20 Sep 2016 17:17:42 +0800
Subject: windowscodecs: Use V_UI1() instead of V_UNION() to assign a VT_UI1
variant member.
Subject: [PATCH 2/8] windowscodecs: Use V_UI1() instead of V_UNION() to assign
a VT_UI1 variant member.
---
dlls/windowscodecs/tiffformat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/tiffformat.c b/dlls/windowscodecs/tiffformat.c
index d94be78..1f757d8 100644
index 6fe3f19..2238a0e 100644
--- a/dlls/windowscodecs/tiffformat.c
+++ b/dlls/windowscodecs/tiffformat.c
@@ -1971,7 +1971,7 @@ static HRESULT WINAPI TiffEncoder_CreateNewFrame(IWICBitmapEncoder *iface,
@@ -1973,7 +1973,7 @@ static HRESULT WINAPI TiffEncoder_CreateNewFrame(IWICBitmapEncoder *iface,
VARIANT v;
VariantInit(&v);
V_VT(&v) = VT_UI1;
- V_UNION(&v, bVal) = WICTiffCompressionDontCare;
+ V_UI1(&v) = WICTiffCompressionDontCare;
hr = IPropertyBag2_Write(*ppIEncoderOptions, 1, opts, &v);
hr = IPropertyBag2_Write(*ppIEncoderOptions, 1, (PROPBAG2 *)opts, &v);
VariantClear(&v);
if (FAILED(hr))
--
2.9.0
2.7.4

View File

@ -1,7 +1,8 @@
From e91d235aa2fe4b1145a66f93ab18e840645301a9 Mon Sep 17 00:00:00 2001
From b078695fc13099df9edf2eaba974f6535808f4a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 6 Jun 2015 06:53:34 +0200
Subject: wined3d: Use real values for memory accounting on NVIDIA cards.
Subject: [PATCH] wined3d: Use real values for memory accounting on NVIDIA
cards.
FIXME: Reimplement wined3d_device_get_available_texture_mem
without using the context on the main thread.
@ -13,10 +14,10 @@ FIXME: Reimplement wined3d_device_get_available_texture_mem
4 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index 89ea7721bf1..2e1648171bb 100644
index 0ffc1ae..0c3937e 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -9081,10 +9081,13 @@ static void test_vidmem_accounting(void)
@@ -9470,10 +9470,13 @@ static void test_vidmem_accounting(void)
}
vidmem_end = IDirect3DDevice9_GetAvailableTextureMem(device);
@ -35,10 +36,10 @@ index 89ea7721bf1..2e1648171bb 100644
for (i = 0; i < ARRAY_SIZE(textures); i++)
{
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index e07d07c41e3..61ebafff0c9 100644
index 17103cc..bce8936 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -1281,8 +1281,33 @@ void CDECL wined3d_device_set_multithreaded(struct wined3d_device *device)
@@ -1284,8 +1284,33 @@ void CDECL wined3d_device_set_multithreaded(struct wined3d_device *device)
UINT CDECL wined3d_device_get_available_texture_mem(const struct wined3d_device *device)
{
@ -73,18 +74,18 @@ index e07d07c41e3..61ebafff0c9 100644
wine_dbgstr_longlong(device->adapter->vram_bytes),
wine_dbgstr_longlong(device->adapter->vram_bytes_used),
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 411545395a2..f0a2c56e322 100644
index f7f6452..ec5d8d8 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -261,6 +261,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
@@ -270,6 +270,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
{"GL_NV_vertex_program2", NV_VERTEX_PROGRAM2 },
{"GL_NV_vertex_program2_option", NV_VERTEX_PROGRAM2_OPTION },
{"GL_NV_vertex_program3", NV_VERTEX_PROGRAM3 },
+ {"GL_NVX_gpu_memory_info", NVX_GPU_MEMORY_INFO },
};
/* SGI */
{"GL_SGIS_generate_mipmap", SGIS_GENERATE_MIPMAP },
@@ -1571,6 +1572,15 @@ static const struct gpu_description *query_gpu_description(const struct wined3d_
static const struct wined3d_extension_map wgl_extension_map[] =
@@ -1578,6 +1579,15 @@ static const struct gpu_description *query_gpu_description(const struct wined3d_
TRACE("Card reports vendor PCI ID 0x%04x, device PCI ID 0x%04x, 0x%s bytes of video memory.\n",
vendor, device, wine_dbgstr_longlong(*vram_bytes));
}
@ -101,17 +102,17 @@ index 411545395a2..f0a2c56e322 100644
if (wined3d_settings.pci_vendor_id != PCI_VENDOR_NONE)
{
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 52fb5fd92c8..f60f8021c26 100644
index cc6f888..daed891 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -191,6 +191,7 @@ enum wined3d_gl_extension
@@ -199,6 +199,7 @@ enum wined3d_gl_extension
NV_VERTEX_PROGRAM2,
NV_VERTEX_PROGRAM2_OPTION,
NV_VERTEX_PROGRAM3,
+ NVX_GPU_MEMORY_INFO,
/* SGI */
SGIS_GENERATE_MIPMAP,
/* WGL extensions */
WGL_ARB_PIXEL_FORMAT,
WGL_EXT_SWAP_CONTROL,
--
2.12.2
2.7.4

View File

@ -3,7 +3,6 @@ Depends: wined3d-DXTn
Depends: wined3d-QUERY_Stubs
Depends: wined3d-1DTextures
Depends: wined3d-Silence_FIXMEs
Depends: wined3d-Revert_Buffer_Upload
Depends: wined3d-Copy_Resource_Typeless
Depends: wined3d-UAV_Counters
Depends: wined3d-Dual_Source_Blending

View File

@ -1,134 +0,0 @@
From 213c4f62372760c1a3bdcd6f1c03bc9f1926c5be Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 8 Feb 2017 19:35:36 +0100
Subject: Revert "wined3d: Implement wined3d_buffer_upload_data() on top of
wined3d_buffer_upload_ranges()."
This reverts commit e2dbbec1af8ae2ea8813148d56e14c8c211ee334.
---
dlls/wined3d/buffer.c | 30 +++++++++++++++++++-----------
dlls/wined3d/cs.c | 13 +++----------
dlls/wined3d/wined3d_private.h | 2 +-
3 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index e953e9ad215..d81387291f1 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -532,7 +532,7 @@ ULONG CDECL wined3d_buffer_incref(struct wined3d_buffer *buffer)
/* Context activation is done by the caller. */
static void wined3d_buffer_upload_ranges(struct wined3d_buffer *buffer, struct wined3d_context *context,
- const void *data, unsigned int data_offset, unsigned int range_count, const struct wined3d_map_range *ranges)
+ const void *data, unsigned int range_count, const struct wined3d_map_range *ranges)
{
const struct wined3d_gl_info *gl_info = context->gl_info;
const struct wined3d_map_range *range;
@@ -543,7 +543,7 @@ static void wined3d_buffer_upload_ranges(struct wined3d_buffer *buffer, struct w
{
range = &ranges[range_count];
GL_EXTCALL(glBufferSubData(buffer->buffer_type_hint,
- range->offset, range->size, (BYTE *)data + range->offset - data_offset));
+ range->offset, range->size, (BYTE *)data + range->offset));
}
checkGLcall("glBufferSubData");
}
@@ -599,7 +599,7 @@ static void buffer_conversion_upload(struct wined3d_buffer *buffer, struct wined
}
}
- wined3d_buffer_upload_ranges(buffer, context, data, 0, buffer->modified_areas, buffer->maps);
+ wined3d_buffer_upload_ranges(buffer, context, data, buffer->modified_areas, buffer->maps);
HeapFree(GetProcessHeap(), 0, data);
}
@@ -683,7 +683,7 @@ BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer,
case WINED3D_LOCATION_BUFFER:
if (!buffer->conversion_map)
wined3d_buffer_upload_ranges(buffer, context, buffer->resource.heap_memory,
- 0, buffer->modified_areas, buffer->maps);
+ buffer->modified_areas, buffer->maps);
else
buffer_conversion_upload(buffer, context);
break;
@@ -1215,23 +1215,31 @@ void wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_off
wined3d_buffer_invalidate_range(dst_buffer, ~dst_location, dst_offset, size);
}
-void wined3d_buffer_upload_data(struct wined3d_buffer *buffer, struct wined3d_context *context,
+HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
const struct wined3d_box *box, const void *data)
{
- struct wined3d_map_range range;
+ UINT offset, size;
+ HRESULT hr;
+ BYTE *ptr;
if (box)
{
- range.offset = box->left;
- range.size = box->right - box->left;
+ offset = box->left;
+ size = box->right - box->left;
}
else
{
- range.offset = 0;
- range.size = buffer->resource.size;
+ offset = 0;
+ size = buffer->resource.size;
}
- wined3d_buffer_upload_ranges(buffer, context, data, range.offset, 1, &range);
+ if (FAILED(hr = wined3d_buffer_map(buffer, offset, size, &ptr, 0)))
+ return hr;
+
+ memcpy(ptr, data, size);
+
+ wined3d_buffer_unmap(buffer);
+ return WINED3D_OK;
}
static ULONG buffer_resource_incref(struct wined3d_resource *resource)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index a76598ff4ca..f521475d3af 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -2107,18 +2107,11 @@ static void wined3d_cs_exec_update_sub_resource(struct wined3d_cs *cs, const voi
if (op->resource->type == WINED3D_RTYPE_BUFFER)
{
struct wined3d_buffer *buffer = buffer_from_resource(op->resource);
+ HRESULT hr;
- context = context_acquire(op->resource->device, NULL, 0);
- if (!wined3d_buffer_load_location(buffer, context, WINED3D_LOCATION_BUFFER))
- {
- ERR("Failed to load buffer location.\n");
- context_release(context);
- goto done;
- }
+ if (FAILED(hr = wined3d_buffer_upload_data(buffer, box, op->data.data)))
+ WARN("Failed to update buffer data, hr %#x.\n", hr);
- wined3d_buffer_upload_data(buffer, context, box, op->data.data);
- wined3d_buffer_invalidate_location(buffer, ~WINED3D_LOCATION_BUFFER);
- context_release(context);
goto done;
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f8aeb629c92..371b8b367ac 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3570,7 +3570,7 @@ BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer,
BYTE *wined3d_buffer_load_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *context) DECLSPEC_HIDDEN;
void wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_offset,
struct wined3d_buffer *src_buffer, unsigned int src_offset, unsigned int size) DECLSPEC_HIDDEN;
-void wined3d_buffer_upload_data(struct wined3d_buffer *buffer, struct wined3d_context *context,
+HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
const struct wined3d_box *box, const void *data) DECLSPEC_HIDDEN;
struct wined3d_rendertarget_view
--
2.13.1

View File

@ -1 +0,0 @@
Fixes: Revert changes to wined3d_buffer_upload_data which cause broken rendering in some apps

View File

@ -1,3 +1,2 @@
Fixes: Implement vsync handling for d3d10/d3d11
Depends: dxgi-DXGI_PRESENT_TEST
Depends: wined3d-Silence_FIXMEs

View File

@ -1,7 +1,7 @@
From ae27ea7329561c939058579f45154e7905042478 Mon Sep 17 00:00:00 2001
From 4321aa370da9a3df82831cf0bcc697ce9f6af868 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 24 Jan 2017 12:37:46 +0100
Subject: winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Subject: [PATCH] winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Based on a patch by Dmitry Timoshkov.
---
@ -9,10 +9,10 @@ Based on a patch by Dmitry Timoshkov.
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index eaf6dcfa3ed..5dec74acae7 100644
index 6d79f06..81cb2b3 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -410,14 +410,11 @@ static void sync_window_region( struct x11drv_win_data *data, HRGN win_region )
@@ -430,14 +430,11 @@ static void sync_window_region( struct x11drv_win_data *data, HRGN win_region )
/***********************************************************************
@ -30,7 +30,7 @@ index eaf6dcfa3ed..5dec74acae7 100644
if (opacity == 0xffffffff)
XDeleteProperty( display, win, x11drv_atom(_NET_WM_WINDOW_OPACITY) );
@@ -1527,7 +1524,7 @@ static void create_whole_window( struct x11drv_win_data *data )
@@ -1559,7 +1556,7 @@ static void create_whole_window( struct x11drv_win_data *data )
/* set the window opacity */
if (!GetLayeredWindowAttributes( data->hwnd, &key, &alpha, &layered_flags )) layered_flags = 0;
@ -39,17 +39,17 @@ index eaf6dcfa3ed..5dec74acae7 100644
XFlush( data->display ); /* make sure the window exists before we start painting to it */
@@ -1647,7 +1644,7 @@ void CDECL X11DRV_SetWindowStyle( HWND hwnd, INT offset, STYLESTRUCT *style )
@@ -1691,7 +1688,7 @@ void CDECL X11DRV_SetWindowStyle( HWND hwnd, INT offset, STYLESTRUCT *style )
{
data->layered = FALSE;
set_window_visual( data, &default_visual );
set_window_visual( data, &default_visual, FALSE );
- sync_window_opacity( data->display, data->whole_window, 0, 0, 0 );
+ set_window_opacity( data->display, data->whole_window, 0xff );
if (data->surface) set_surface_color_key( data->surface, CLR_INVALID );
}
done:
@@ -2538,7 +2535,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
set_window_visual( data, &default_visual );
@@ -2570,7 +2567,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
set_window_visual( data, &default_visual, FALSE );
if (data->whole_window)
- sync_window_opacity( data->display, data->whole_window, key, alpha, flags );
@ -57,7 +57,7 @@ index eaf6dcfa3ed..5dec74acae7 100644
if (data->surface)
set_surface_color_key( data->surface, (flags & LWA_COLORKEY) ? key : CLR_INVALID );
@@ -2562,7 +2559,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
@@ -2594,7 +2591,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
Window win = X11DRV_get_whole_window( hwnd );
if (win)
{
@ -66,7 +66,7 @@ index eaf6dcfa3ed..5dec74acae7 100644
if (flags & LWA_COLORKEY)
FIXME( "LWA_COLORKEY not supported on foreign process window %p\n", hwnd );
}
@@ -2578,7 +2575,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2610,7 +2607,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
{
struct window_surface *surface;
struct x11drv_win_data *data;
@ -74,7 +74,7 @@ index eaf6dcfa3ed..5dec74acae7 100644
COLORREF color_key = (info->dwFlags & ULW_COLORKEY) ? info->crKey : CLR_INVALID;
char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )];
BITMAPINFO *bmi = (BITMAPINFO *)buffer;
@@ -2606,6 +2602,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2638,6 +2634,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
}
else set_surface_color_key( surface, color_key );
@ -85,7 +85,7 @@ index eaf6dcfa3ed..5dec74acae7 100644
if (surface) window_surface_add_ref( surface );
release_win_data( data );
@@ -2629,16 +2629,15 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
@@ -2661,16 +2661,15 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO
{
IntersectRect( &rect, &rect, info->prcDirty );
memcpy( src_bits, dst_bits, bmi->bmiHeader.biSizeImage );
@ -107,5 +107,5 @@ index eaf6dcfa3ed..5dec74acae7 100644
{
memcpy( dst_bits, src_bits, bmi->bmiHeader.biSizeImage );
--
2.13.1
2.7.4

View File

@ -1 +1 @@
Wine Staging 2.21
Wine Staging 3.1 (Unreleased)

View File

@ -59,7 +59,8 @@ upstream_commit()
version()
{{
echo "{staging_version}"
echo "Copyright (C) 2014-2017 the Wine Staging project authors."
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
echo ""
echo "Patchset to be applied on upstream Wine:"
echo " commit $(upstream_commit)"