mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Merge branch 'master' of git://github.com/obsequiousnewt/wine-staging into obsequiousnewt-master
This commit is contained in:
commit
ddb4914549
@ -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
|
||||
|
@ -1,2 +1 @@
|
||||
Fixes: Initial implementation of advapi32.BuildSecurityDescriptorW
|
||||
Depends: advapi32-GetExplicitEntriesFromAclW
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,2 @@
|
||||
Fixes: [42191] Add semi-stub for D3D11 deferred context implementation
|
||||
Depends: wined3d-1DTextures
|
||||
Depends: d3d11-ResolveSubresource
|
||||
|
@ -1,2 +1 @@
|
||||
Fixes: Initial implementation for d3dx9_36.D3DXDisassembleShader
|
||||
Depends: d3dx9_36-GetShaderSemantics
|
||||
|
@ -1,2 +1 @@
|
||||
Fixes: [38960] Add support for kernel32.SetFileCompletionNotificationModes
|
||||
Depends: ntdll-FileNameInformation
|
||||
|
@ -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
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [40714] Ensure process_attach callbacks are not executed too early
|
@ -1,4 +1,3 @@
|
||||
Fixes: Support for loader dll redirections
|
||||
Depends: ntdll-Loader_Machine_Type
|
||||
Depends: ntdll-DllOverrides_WOW64
|
||||
Depends: ntdll-Attach_Process_DLLs
|
||||
|
@ -1,3 +1,2 @@
|
||||
Fixes: [38656] Add support for hiding wine version information from applications
|
||||
Depends: ntdll-Attach_Process_DLLs
|
||||
Depends: ntdll-ThreadTime
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Implement stub for rasapi32.RasGetConnectionStatistics
|
@ -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
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user