mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Remove several patches (accepted/fixed upstream).
This commit is contained in:
parent
f66b06739e
commit
a691cec6e7
@ -96,7 +96,7 @@ Included bug fixes and improvements
|
||||
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
* Support for FindFirstFileExW level FindExInfoBasic ([Wine Bug #37354](https://bugs.winehq.org/show_bug.cgi?id=37354))
|
||||
* ~~Support for FindFirstFileExW level FindExInfoBasic~~ ([Wine Bug #37354](https://bugs.winehq.org/show_bug.cgi?id=37354))
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](https://bugs.winehq.org/show_bug.cgi?id=36073))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
@ -112,7 +112,7 @@ Included bug fixes and improvements
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for TLB dependencies lookup in resources ([Wine Bug #34184](https://bugs.winehq.org/show_bug.cgi?id=34184))
|
||||
* ~~Support for TLB dependencies lookup in resources~~ ([Wine Bug #34184](https://bugs.winehq.org/show_bug.cgi?id=34184))
|
||||
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for UTF7 encoding/decoding ([Wine Bug #27388](https://bugs.winehq.org/show_bug.cgi?id=27388))
|
||||
@ -125,10 +125,10 @@ Included bug fixes and improvements
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
|
||||
* Support for stored file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
|
||||
* Support for wine64 on FreeBSD/PC-BSD ([Wine Bug #34330](https://bugs.winehq.org/show_bug.cgi?id=34330))
|
||||
* Support for ws2_32.inet_pton ([Wine Bug #36713](https://bugs.winehq.org/show_bug.cgi?id=36713))
|
||||
* ~~Support for ws2_32.inet_pton~~ ([Wine Bug #36713](https://bugs.winehq.org/show_bug.cgi?id=36713))
|
||||
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
|
||||
* Unity3D Editor requires ProductId registry value ([Wine Bug #36964](https://bugs.winehq.org/show_bug.cgi?id=36964))
|
||||
* Update ProductVersion property when applying MSI transforms ([Wine Bug #37493](https://bugs.winehq.org/show_bug.cgi?id=37493))
|
||||
* ~~Update ProductVersion property when applying MSI transforms~~ ([Wine Bug #37493](https://bugs.winehq.org/show_bug.cgi?id=37493))
|
||||
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
|
||||
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033))
|
||||
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
|
||||
|
5
debian/changelog
vendored
5
debian/changelog
vendored
@ -2,7 +2,10 @@ wine-compholio (1.7.31) UNRELEASED; urgency=low
|
||||
* Added possibility to temporarily disable patches to patch system.
|
||||
* Added patch to allow selecting specific audio device for PulseAudio backend.
|
||||
* Removed patch for iphlpapi stub functions (accepted upstream).
|
||||
* Removed first part of patches for FindFirstFileExW (accepted upstream).
|
||||
* Removed patches for FindFirstFileExW (accepted upstream).
|
||||
* Removed patches for TLB dependencies lookup in resources (accepted upstream).
|
||||
* Removed patches for ws2_32.inet_pton implementation (fixed upstream).
|
||||
* Removed patch to update properties when applying MSI transforms (fixed upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 03 Nov 2014 20:10:04 +0100
|
||||
|
||||
wine-compholio (1.7.30) unstable; urgency=low
|
||||
|
@ -38,7 +38,6 @@ PATCHLIST := \
|
||||
imagehlp-BindImageEx.ok \
|
||||
imm32-Cross_Thread_Access.ok \
|
||||
iphlpapi-TCP_Table.ok \
|
||||
kernel32-FindFirstFile.ok \
|
||||
kernel32-GetFinalPathNameByHandle.ok \
|
||||
kernel32-GetNumaProcessorNode.ok \
|
||||
kernel32-GetSystemTimes.ok \
|
||||
@ -47,7 +46,6 @@ PATCHLIST := \
|
||||
kernel32-UTF7_Support.ok \
|
||||
libs-Unicode_Collation.ok \
|
||||
libwine-BSD_mmap_fixed.ok \
|
||||
msi-Transform_ProductVersion.ok \
|
||||
msvcp90-basic_string_wchar_dtor.ok \
|
||||
ntdll-DOS_Attributes.ok \
|
||||
ntdll-Dynamic_DST.ok \
|
||||
@ -64,7 +62,6 @@ PATCHLIST := \
|
||||
ntdll-WRITECOPY.ok \
|
||||
ntoskrnl-Irp_Status.ok \
|
||||
ntoskrnl-Write_CR4.ok \
|
||||
oleaut32-TLB_Resource.ok \
|
||||
quartz-MediaSeeking_Positions.ok \
|
||||
riched20-IText_Interface.ok \
|
||||
server-ACL_Compat.ok \
|
||||
@ -104,7 +101,6 @@ PATCHLIST := \
|
||||
wpcap-Dynamic_Linking.ok \
|
||||
ws2_32-Connect_Time.ok \
|
||||
ws2_32-TransmitFile.ok \
|
||||
ws2_32-inet_pton.ok \
|
||||
wtsapi32-EnumerateProcesses.ok
|
||||
|
||||
.PHONY: install
|
||||
@ -530,24 +526,6 @@ iphlpapi-TCP_Table.ok:
|
||||
echo '+ { "iphlpapi-TCP_Table", "Erich E. Hoover", "Implement AllocateAndGetTcpExTableFromStack." },'; \
|
||||
) > iphlpapi-TCP_Table.ok
|
||||
|
||||
# Patchset kernel32-FindFirstFile
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Implement FindFirstFileExW level FindExInfoBasic. [by Sebastian Lackner]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37354] Support for FindFirstFileExW level FindExInfoBasic
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/file.c, dlls/kernel32/tests/file.c
|
||||
# |
|
||||
.INTERMEDIATE: kernel32-FindFirstFile.ok
|
||||
kernel32-FindFirstFile.ok:
|
||||
$(call APPLY_FILE,kernel32-FindFirstFile/0001-kernel32-Implement-FindFirstFileExW-level-FindExInfo.patch)
|
||||
@( \
|
||||
echo '+ { "kernel32-FindFirstFile", "Sebastian Lackner", "Implement FindFirstFileExW level FindExInfoBasic." },'; \
|
||||
) > kernel32-FindFirstFile.ok
|
||||
|
||||
# Patchset kernel32-GetFinalPathNameByHandle
|
||||
# |
|
||||
# | Included patches:
|
||||
@ -713,24 +691,6 @@ mshtml-sessionStorage.ok:
|
||||
echo '+ { "mshtml-sessionStorage", "Zhenbo Li", "Implement sessionStorage (partially)." },'; \
|
||||
) > mshtml-sessionStorage.ok
|
||||
|
||||
# Patchset msi-Transform_ProductVersion
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Update ProductVersion property when applying MSI transforms. [by Sebastian Lackner]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37493] Update ProductVersion property when applying MSI transforms
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/msi/patch.c
|
||||
# |
|
||||
.INTERMEDIATE: msi-Transform_ProductVersion.ok
|
||||
msi-Transform_ProductVersion.ok:
|
||||
$(call APPLY_FILE,msi-Transform_ProductVersion/0001-msi-Update-ProductVersion-property-when-applying-tra.patch)
|
||||
@( \
|
||||
echo '+ { "msi-Transform_ProductVersion", "Sebastian Lackner", "Update ProductVersion property when applying MSI transforms." },'; \
|
||||
) > msi-Transform_ProductVersion.ok
|
||||
|
||||
# Patchset msvcp90-basic_string_wchar_dtor
|
||||
# |
|
||||
# | Included patches:
|
||||
@ -1040,24 +1000,6 @@ ntoskrnl-Write_CR4.ok:
|
||||
echo '+ { "ntoskrnl-Write_CR4", "Stefan Leichter", "Emulate write to CR4 register." },'; \
|
||||
) > ntoskrnl-Write_CR4.ok
|
||||
|
||||
# Patchset oleaut32-TLB_Resource
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Implement TLB dependencies lookup in resources. [by Guillaume Charifi]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#34184] Support for TLB dependencies lookup in resources
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/oleaut32/tests/typelib.c, dlls/oleaut32/typelib.c
|
||||
# |
|
||||
.INTERMEDIATE: oleaut32-TLB_Resource.ok
|
||||
oleaut32-TLB_Resource.ok:
|
||||
$(call APPLY_FILE,oleaut32-TLB_Resource/0001-oleaut32-Implement-TLB-dependencies-lookup-in-resour.patch)
|
||||
@( \
|
||||
echo '+ { "oleaut32-TLB_Resource", "Guillaume Charifi", "Implement TLB dependencies lookup in resources." },'; \
|
||||
) > oleaut32-TLB_Resource.ok
|
||||
|
||||
# Patchset quartz-MediaSeeking_Positions
|
||||
# |
|
||||
# | Included patches:
|
||||
@ -1823,24 +1765,6 @@ ws2_32-TransmitFile.ok:
|
||||
echo '+ { "ws2_32-TransmitFile", "Erich E. Hoover", "Implement TransmitFile." },'; \
|
||||
) > ws2_32-TransmitFile.ok
|
||||
|
||||
# Patchset ws2_32-inet_pton
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Implement ws2_32.inet_pton. [by Bruno Jesus]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#36713] Support for ws2_32.inet_pton
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ws2_32/socket.c, dlls/ws2_32/ws2_32.spec, include/ws2tcpip.h
|
||||
# |
|
||||
.INTERMEDIATE: ws2_32-inet_pton.ok
|
||||
ws2_32-inet_pton.ok:
|
||||
$(call APPLY_FILE,ws2_32-inet_pton/0001-ws2_32-Implement-inet_pton.patch)
|
||||
@( \
|
||||
echo '+ { "ws2_32-inet_pton", "Bruno Jesus", "Implement ws2_32.inet_pton." },'; \
|
||||
) > ws2_32-inet_pton.ok
|
||||
|
||||
# Patchset wtsapi32-EnumerateProcesses
|
||||
# |
|
||||
# | Included patches:
|
||||
|
@ -1,177 +0,0 @@
|
||||
From 393e48362c7c856bcb4a9e1c3c58dca1250913b3 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 3 Oct 2014 21:00:22 +0200
|
||||
Subject: kernel32: Implement FindFirstFileExW level FindExInfoBasic.
|
||||
|
||||
---
|
||||
dlls/kernel32/file.c | 14 +++++++++++---
|
||||
dlls/kernel32/tests/file.c | 46 +++++++++++++++++++++++++++++++++++-----------
|
||||
2 files changed, 46 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
|
||||
index 4a6fc13..006db1c 100644
|
||||
--- a/dlls/kernel32/file.c
|
||||
+++ b/dlls/kernel32/file.c
|
||||
@@ -57,6 +57,7 @@ typedef struct
|
||||
HANDLE handle; /* handle to directory */
|
||||
CRITICAL_SECTION cs; /* crit section protecting this structure */
|
||||
FINDEX_SEARCH_OPS search_op; /* Flags passed to FindFirst. */
|
||||
+ FINDEX_INFO_LEVELS level; /* Level passed to FindFirst */
|
||||
UNICODE_STRING mask; /* file mask */
|
||||
UNICODE_STRING path; /* NT path used to open the directory */
|
||||
BOOL is_root; /* is directory the root of the drive? */
|
||||
@@ -1875,7 +1876,7 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_LEVELS level,
|
||||
SetLastError( ERROR_INVALID_PARAMETER );
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
- if (level != FindExInfoStandard)
|
||||
+ if (level != FindExInfoStandard && level != FindExInfoBasic)
|
||||
{
|
||||
FIXME("info level %d not implemented\n", level );
|
||||
SetLastError( ERROR_INVALID_PARAMETER );
|
||||
@@ -1979,6 +1980,7 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_LEVELS level,
|
||||
info->data_size = 0;
|
||||
info->data = NULL;
|
||||
info->search_op = search_op;
|
||||
+ info->level = level;
|
||||
|
||||
if (device)
|
||||
{
|
||||
@@ -2141,8 +2143,14 @@ BOOL WINAPI FindNextFileW( HANDLE handle, WIN32_FIND_DATAW *data )
|
||||
|
||||
memcpy( data->cFileName, dir_info->FileName, dir_info->FileNameLength );
|
||||
data->cFileName[dir_info->FileNameLength/sizeof(WCHAR)] = 0;
|
||||
- memcpy( data->cAlternateFileName, dir_info->ShortName, dir_info->ShortNameLength );
|
||||
- data->cAlternateFileName[dir_info->ShortNameLength/sizeof(WCHAR)] = 0;
|
||||
+
|
||||
+ if (info->level != FindExInfoBasic)
|
||||
+ {
|
||||
+ memcpy( data->cAlternateFileName, dir_info->ShortName, dir_info->ShortNameLength );
|
||||
+ data->cAlternateFileName[dir_info->ShortNameLength/sizeof(WCHAR)] = 0;
|
||||
+ }
|
||||
+ else
|
||||
+ data->cAlternateFileName[0] = 0;
|
||||
|
||||
TRACE("returning %s (%s)\n",
|
||||
debugstr_w(data->cFileName), debugstr_w(data->cAlternateFileName) );
|
||||
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
|
||||
index 0973efe..dd9cf06 100644
|
||||
--- a/dlls/kernel32/tests/file.c
|
||||
+++ b/dlls/kernel32/tests/file.c
|
||||
@@ -2562,7 +2562,7 @@ static void test_FindNextFileA(void)
|
||||
ok ( err == ERROR_NO_MORE_FILES, "GetLastError should return ERROR_NO_MORE_FILES\n");
|
||||
}
|
||||
|
||||
-static void test_FindFirstFileExA(FINDEX_SEARCH_OPS search_ops, DWORD flags)
|
||||
+static void test_FindFirstFileExA(FINDEX_INFO_LEVELS level, FINDEX_SEARCH_OPS search_ops, DWORD flags)
|
||||
{
|
||||
WIN32_FIND_DATAA search_results;
|
||||
HANDLE handle;
|
||||
@@ -2574,12 +2574,15 @@ static void test_FindFirstFileExA(FINDEX_SEARCH_OPS search_ops, DWORD flags)
|
||||
return;
|
||||
}
|
||||
|
||||
+ trace("Running FindFirstFileExA tests with level=%d, search_ops=%d, flags=%d\n",
|
||||
+ level, search_ops, flags);
|
||||
+
|
||||
CreateDirectoryA("test-dir", NULL);
|
||||
_lclose(_lcreat("test-dir\\file1", 0));
|
||||
_lclose(_lcreat("test-dir\\file2", 0));
|
||||
CreateDirectoryA("test-dir\\dir1", NULL);
|
||||
SetLastError(0xdeadbeef);
|
||||
- handle = pFindFirstFileExA("test-dir\\*", FindExInfoStandard, &search_results, search_ops, NULL, flags);
|
||||
+ handle = pFindFirstFileExA("test-dir\\*", level, &search_results, search_ops, NULL, flags);
|
||||
if (handle == INVALID_HANDLE_VALUE && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
{
|
||||
win_skip("FindFirstFileExA is not implemented\n");
|
||||
@@ -2590,16 +2593,26 @@ static void test_FindFirstFileExA(FINDEX_SEARCH_OPS search_ops, DWORD flags)
|
||||
win_skip("FindFirstFileExA flag FIND_FIRST_EX_LARGE_FETCH not supported, skipping test\n");
|
||||
goto cleanup;
|
||||
}
|
||||
- ok(handle != INVALID_HANDLE_VALUE, "FindFirstFile failed (err=%u)\n", GetLastError());
|
||||
- ok(strcmp(search_results.cFileName, ".") == 0, "First entry should be '.', is %s\n", search_results.cFileName);
|
||||
+ if ((level == FindExInfoBasic) && handle == INVALID_HANDLE_VALUE && GetLastError() == ERROR_INVALID_PARAMETER)
|
||||
+ {
|
||||
+ win_skip("FindFirstFileExA level FindExInfoBasic not supported, skipping test\n");
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
|
||||
#define CHECK_NAME(fn) (strcmp((fn), "file1") == 0 || strcmp((fn), "file2") == 0 || strcmp((fn), "dir1") == 0)
|
||||
+#define CHECK_LEVEL(fn) (level != FindExInfoBasic || !(fn)[0])
|
||||
+
|
||||
+ ok(handle != INVALID_HANDLE_VALUE, "FindFirstFile failed (err=%u)\n", GetLastError());
|
||||
+ ok(strcmp(search_results.cFileName, ".") == 0, "First entry should be '.', is %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
|
||||
ok(FindNextFileA(handle, &search_results), "Fetching second file failed\n");
|
||||
ok(strcmp(search_results.cFileName, "..") == 0, "Second entry should be '..' is %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
|
||||
ok(FindNextFileA(handle, &search_results), "Fetching third file failed\n");
|
||||
ok(CHECK_NAME(search_results.cFileName), "Invalid third entry - %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = FindNextFileA(handle, &search_results);
|
||||
@@ -2608,26 +2621,31 @@ static void test_FindFirstFileExA(FINDEX_SEARCH_OPS search_ops, DWORD flags)
|
||||
skip("File system supports directory filtering\n");
|
||||
/* Results from the previous call are not cleared */
|
||||
ok(strcmp(search_results.cFileName, "dir1") == 0, "Third entry should be 'dir1' is %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
+
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(ret, "Fetching fourth file failed\n");
|
||||
ok(CHECK_NAME(search_results.cFileName), "Invalid fourth entry - %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
|
||||
ok(FindNextFileA(handle, &search_results), "Fetching fifth file failed\n");
|
||||
ok(CHECK_NAME(search_results.cFileName), "Invalid fifth entry - %s\n", search_results.cFileName);
|
||||
+ ok(CHECK_LEVEL(search_results.cAlternateFileName), "FindFirstFile unexpectedly returned an alternate filename\n");
|
||||
|
||||
ok(FindNextFileA(handle, &search_results) == FALSE, "Fetching sixth file should fail\n");
|
||||
}
|
||||
|
||||
#undef CHECK_NAME
|
||||
+#undef CHECK_LEVEL
|
||||
|
||||
FindClose( handle );
|
||||
|
||||
/* Most Windows systems seem to ignore the FIND_FIRST_EX_CASE_SENSITIVE flag. Unofficial documentation
|
||||
* suggests that there are registry keys and that it might depend on the used filesystem. */
|
||||
SetLastError(0xdeadbeef);
|
||||
- handle = pFindFirstFileExA("TEST-DIR\\*", FindExInfoStandard, &search_results, search_ops, NULL, flags);
|
||||
+ handle = pFindFirstFileExA("TEST-DIR\\*", level, &search_results, search_ops, NULL, flags);
|
||||
if (flags & FIND_FIRST_EX_CASE_SENSITIVE)
|
||||
{
|
||||
ok(handle != INVALID_HANDLE_VALUE || GetLastError() == ERROR_PATH_NOT_FOUND,
|
||||
@@ -4192,13 +4210,19 @@ START_TEST(file)
|
||||
test_MoveFileW();
|
||||
test_FindFirstFileA();
|
||||
test_FindNextFileA();
|
||||
- test_FindFirstFileExA(0, 0);
|
||||
- test_FindFirstFileExA(0, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
- test_FindFirstFileExA(0, FIND_FIRST_EX_LARGE_FETCH);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, 0, 0);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, 0, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, 0, FIND_FIRST_EX_LARGE_FETCH);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, 0, 0);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, 0, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, 0, FIND_FIRST_EX_LARGE_FETCH);
|
||||
/* FindExLimitToDirectories is ignored if the file system doesn't support directory filtering */
|
||||
- test_FindFirstFileExA(FindExSearchLimitToDirectories, 0);
|
||||
- test_FindFirstFileExA(FindExSearchLimitToDirectories, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
- test_FindFirstFileExA(FindExSearchLimitToDirectories, FIND_FIRST_EX_LARGE_FETCH);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, FindExSearchLimitToDirectories, 0);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, FindExSearchLimitToDirectories, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
+ test_FindFirstFileExA(FindExInfoStandard, FindExSearchLimitToDirectories, FIND_FIRST_EX_LARGE_FETCH);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, FindExSearchLimitToDirectories, 0);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, FindExSearchLimitToDirectories, FIND_FIRST_EX_CASE_SENSITIVE);
|
||||
+ test_FindFirstFileExA(FindExInfoBasic, FindExSearchLimitToDirectories, FIND_FIRST_EX_LARGE_FETCH);
|
||||
test_LockFile();
|
||||
test_file_sharing();
|
||||
test_offset_in_overlapped_structure();
|
||||
--
|
||||
2.1.1
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Implement FindFirstFileExW level FindExInfoBasic.
|
||||
Revision: 1
|
||||
Fixes: [37354] Support for FindFirstFileExW level FindExInfoBasic
|
@ -1,69 +0,0 @@
|
||||
From 89ce3a340e3086a4b223d8dbe8356eedcf7ec1f1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 18 Sep 2014 00:38:15 +0200
|
||||
Subject: msi: Update ProductVersion property when applying transforms.
|
||||
|
||||
---
|
||||
dlls/msi/patch.c | 21 ++++++++++++++++++---
|
||||
1 file changed, 18 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/msi/patch.c b/dlls/msi/patch.c
|
||||
index a738de1..1cf5373 100644
|
||||
--- a/dlls/msi/patch.c
|
||||
+++ b/dlls/msi/patch.c
|
||||
@@ -118,7 +118,7 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform )
|
||||
+static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform, WCHAR **version_to )
|
||||
{
|
||||
static const UINT supported_flags =
|
||||
MSITRANSFORM_VALIDATE_PRODUCT | MSITRANSFORM_VALIDATE_LANGUAGE |
|
||||
@@ -255,9 +255,16 @@ static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform
|
||||
msi_free( upgrade_code_installed );
|
||||
}
|
||||
|
||||
+ if ((valid_flags & wanted_flags) != wanted_flags)
|
||||
+ {
|
||||
+ free_transform_desc( desc );
|
||||
+ msiobj_release( &si->hdr );
|
||||
+ return ERROR_FUNCTION_FAILED;
|
||||
+ }
|
||||
+
|
||||
+ *version_to = strdupW( desc->version_to );
|
||||
free_transform_desc( desc );
|
||||
msiobj_release( &si->hdr );
|
||||
- if ((valid_flags & wanted_flags) != wanted_flags) return ERROR_FUNCTION_FAILED;
|
||||
TRACE("applicable transform\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
@@ -266,6 +273,7 @@ static UINT apply_substorage_transform( MSIPACKAGE *package, MSIDATABASE *patch_
|
||||
{
|
||||
UINT ret = ERROR_FUNCTION_FAILED;
|
||||
IStorage *stg = NULL;
|
||||
+ WCHAR *version_to;
|
||||
HRESULT r;
|
||||
|
||||
TRACE("%p %s\n", package, debugstr_w(name));
|
||||
@@ -278,9 +286,16 @@ static UINT apply_substorage_transform( MSIPACKAGE *package, MSIDATABASE *patch_
|
||||
r = IStorage_OpenStorage( patch_db->storage, name, NULL, STGM_SHARE_EXCLUSIVE, NULL, 0, &stg );
|
||||
if (SUCCEEDED(r))
|
||||
{
|
||||
- ret = check_transform_applicable( package, stg );
|
||||
+ ret = check_transform_applicable( package, stg, &version_to );
|
||||
if (ret == ERROR_SUCCESS)
|
||||
+ {
|
||||
msi_table_apply_transform( package->db, stg );
|
||||
+ if (version_to)
|
||||
+ {
|
||||
+ msi_set_property( package->db, szProductVersion, version_to, -1 );
|
||||
+ msi_free( version_to );
|
||||
+ }
|
||||
+ }
|
||||
else
|
||||
TRACE("substorage transform %s wasn't applicable\n", debugstr_w(name));
|
||||
IStorage_Release( stg );
|
||||
--
|
||||
2.1.2
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Update ProductVersion property when applying MSI transforms.
|
||||
Revision: 1
|
||||
Fixes: [37493] Update ProductVersion property when applying MSI transforms
|
@ -1,127 +0,0 @@
|
||||
From ad5b73eba53261f5821493068386c41a8d072751 Mon Sep 17 00:00:00 2001
|
||||
From: Guillaume Charifi <guillaume.charifi@sfr.fr>
|
||||
Date: Sat, 1 Nov 2014 08:47:44 +0100
|
||||
Subject: oleaut32: Implement TLB dependencies lookup in resources.
|
||||
|
||||
Changes by Sebastian Lackner <sebastian@fds-team.de>:
|
||||
* Avoid duplicating code for loading typelibs.
|
||||
* Avoid casts from const to non-const variables.
|
||||
* Simplify logic to generate filename.
|
||||
* Use appropriate function for UUID comparison.
|
||||
---
|
||||
dlls/oleaut32/tests/typelib.c | 2 +-
|
||||
dlls/oleaut32/typelib.c | 73 +++++++++++++++++++++++++++++++++++++------
|
||||
2 files changed, 65 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
|
||||
index 728185a..45a56ea 100644
|
||||
--- a/dlls/oleaut32/tests/typelib.c
|
||||
+++ b/dlls/oleaut32/tests/typelib.c
|
||||
@@ -5594,7 +5594,7 @@ static void test_dep(void) {
|
||||
ok(hr == S_OK, "got: %x\n", hr);
|
||||
|
||||
hr = ITypeInfo_GetRefTypeInfo(ptInfo, refType, &ptInfoExt);
|
||||
- todo_wine ok(hr == S_OK || broken(hr == TYPE_E_CANTLOADLIBRARY) /* win 2000 */, "got: %x\n", hr);
|
||||
+ ok(hr == S_OK || broken(hr == TYPE_E_CANTLOADLIBRARY) /* win 2000 */, "got: %x\n", hr);
|
||||
|
||||
ITypeInfo_Release(ptInfo);
|
||||
if(ptInfoExt)
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index 00f5043..6497313 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -7572,6 +7572,48 @@ static HRESULT ITypeInfoImpl_GetDispatchRefTypeInfo( ITypeInfo *iface,
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
+struct search_res_tlb_params
|
||||
+{
|
||||
+ const GUID *guid;
|
||||
+ ITypeLib *pTLib;
|
||||
+};
|
||||
+
|
||||
+static BOOL CALLBACK search_res_tlb(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LONG_PTR lParam)
|
||||
+{
|
||||
+ struct search_res_tlb_params *params = (LPVOID)lParam;
|
||||
+ static const WCHAR formatW[] = {'\\','%','d',0};
|
||||
+ WCHAR szPath[MAX_PATH+1];
|
||||
+ ITypeLib2 *pTLib = NULL;
|
||||
+ HRESULT ret;
|
||||
+ DWORD len;
|
||||
+
|
||||
+ if (IS_INTRESOURCE(lpszName) == FALSE)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ if (!(len = GetModuleFileNameW(hModule, szPath, MAX_PATH)))
|
||||
+ return TRUE;
|
||||
+
|
||||
+ if (snprintfW(szPath + len, sizeof(szPath)/sizeof(WCHAR) - len,
|
||||
+ formatW, PtrToInt(lpszName)) < 0)
|
||||
+ {
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
+ ret = LoadTypeLibEx(szPath, REGKIND_NONE, (ITypeLib **)&pTLib);
|
||||
+ if (SUCCEEDED(ret))
|
||||
+ {
|
||||
+ ITypeLibImpl *impl = impl_from_ITypeLib2(pTLib);
|
||||
+ if (IsEqualGUID(params->guid, impl->guid))
|
||||
+ {
|
||||
+ params->pTLib = (ITypeLib *)pTLib;
|
||||
+ return FALSE; /* stop enumeration */
|
||||
+ }
|
||||
+ ITypeLib_Release((ITypeLib *)pTLib);
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
/* ITypeInfo::GetRefTypeInfo
|
||||
*
|
||||
* If a type description references other type descriptions, it retrieves
|
||||
@@ -7665,20 +7707,33 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
|
||||
ITypeLib_AddRef(pTLib);
|
||||
result = S_OK;
|
||||
} else {
|
||||
+ static const WCHAR TYPELIBW[] = {'T','Y','P','E','L','I','B',0};
|
||||
+ struct search_res_tlb_params params;
|
||||
BSTR libnam;
|
||||
|
||||
TRACE("typeinfo in imported typelib that isn't already loaded\n");
|
||||
|
||||
- result = query_typelib_path(TLB_get_guid_null(ref_type->pImpTLInfo->guid),
|
||||
- ref_type->pImpTLInfo->wVersionMajor,
|
||||
- ref_type->pImpTLInfo->wVersionMinor,
|
||||
- This->pTypeLib->syskind,
|
||||
- ref_type->pImpTLInfo->lcid, &libnam, TRUE);
|
||||
- if(FAILED(result))
|
||||
- libnam = SysAllocString(ref_type->pImpTLInfo->name);
|
||||
+ /* Search in resource table */
|
||||
+ params.guid = TLB_get_guid_null(ref_type->pImpTLInfo->guid);
|
||||
+ params.pTLib = NULL;
|
||||
+ EnumResourceNamesW(NULL, TYPELIBW, search_res_tlb, (LONG_PTR)¶ms);
|
||||
+ pTLib = params.pTLib;
|
||||
+ result = S_OK;
|
||||
|
||||
- result = LoadTypeLib(libnam, &pTLib);
|
||||
- SysFreeString(libnam);
|
||||
+ if (!pTLib)
|
||||
+ {
|
||||
+ /* Search on disk */
|
||||
+ result = query_typelib_path(TLB_get_guid_null(ref_type->pImpTLInfo->guid),
|
||||
+ ref_type->pImpTLInfo->wVersionMajor,
|
||||
+ ref_type->pImpTLInfo->wVersionMinor,
|
||||
+ This->pTypeLib->syskind,
|
||||
+ ref_type->pImpTLInfo->lcid, &libnam, TRUE);
|
||||
+ if (FAILED(result))
|
||||
+ libnam = SysAllocString(ref_type->pImpTLInfo->name);
|
||||
+
|
||||
+ result = LoadTypeLib(libnam, &pTLib);
|
||||
+ SysFreeString(libnam);
|
||||
+ }
|
||||
|
||||
if(SUCCEEDED(result)) {
|
||||
ref_type->pImpTLInfo->pImpTypeLib = impl_from_ITypeLib(pTLib);
|
||||
--
|
||||
2.1.2
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Guillaume Charifi
|
||||
Subject: Implement TLB dependencies lookup in resources.
|
||||
Revision: 1
|
||||
Fixes: [34184] Support for TLB dependencies lookup in resources
|
@ -1,57 +0,0 @@
|
||||
From c787fe4fa34e952cdc77501c70db6d210f471814 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Jesus <00cpxxx@gmail.com>
|
||||
Date: Sun, 27 Jul 2014 09:38:18 -0600
|
||||
Subject: ws2_32: Implement inet_pton.
|
||||
|
||||
---
|
||||
dlls/ws2_32/socket.c | 10 ++++++++++
|
||||
dlls/ws2_32/ws2_32.spec | 1 +
|
||||
include/ws2tcpip.h | 2 +-
|
||||
3 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index 5900c8f..75adae5 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -6904,6 +6904,16 @@ PCSTR WINAPI WS_inet_ntop( INT family, PVOID addr, PSTR buffer, SIZE_T len )
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * inet_pton (WS2_32.@)
|
||||
+ */
|
||||
+INT WINAPI WS_inet_pton( INT family, PCSTR addr, PVOID buffer)
|
||||
+{
|
||||
+ INT ret = inet_pton(family, addr, buffer);
|
||||
+ if (ret == -1) SetLastError(wsaErrno());
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* WSAStringToAddressA (WS2_32.80)
|
||||
*/
|
||||
INT WINAPI WSAStringToAddressA(LPSTR AddressString,
|
||||
diff --git a/dlls/ws2_32/ws2_32.spec b/dlls/ws2_32/ws2_32.spec
|
||||
index 0811b74..f7c6c2d 100644
|
||||
--- a/dlls/ws2_32/ws2_32.spec
|
||||
+++ b/dlls/ws2_32/ws2_32.spec
|
||||
@@ -121,3 +121,4 @@
|
||||
@ stdcall getaddrinfo(str str ptr ptr) WS_getaddrinfo
|
||||
@ stdcall getnameinfo(ptr long ptr long ptr long long) WS_getnameinfo
|
||||
@ stdcall inet_ntop(long ptr ptr long) WS_inet_ntop
|
||||
+@ stdcall inet_pton(long ptr ptr) WS_inet_pton
|
||||
diff --git a/include/ws2tcpip.h b/include/ws2tcpip.h
|
||||
index b3a6a1f..6002433 100644
|
||||
--- a/include/ws2tcpip.h
|
||||
+++ b/include/ws2tcpip.h
|
||||
@@ -177,7 +177,7 @@ PCSTR WINAPI WS(inet_ntop)(INT,PVOID,PSTR,SIZE_T);
|
||||
#define InetNtopA WS(inet_ntop)
|
||||
PCWSTR WINAPI InetNtopW(INT,PVOID,PWSTR,SIZE_T);
|
||||
#define InetNtop WINELIB_NAME_AW(InetNtop)
|
||||
-int WINAPI WS(inet_pton)(INT,PCSTR,PVOID);
|
||||
+INT WINAPI WS(inet_pton)(INT,PCSTR,PVOID);
|
||||
#define InetPtonA WS(inet_pton)
|
||||
int WINAPI InetPtonW(INT,PCWSTR,PVOID);
|
||||
#define InetPton WINELIB_NAME_AW(InetPton)
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Bruno Jesus
|
||||
Subject: Implement ws2_32.inet_pton.
|
||||
Revision: 1
|
||||
Fixes: [36713] Support for ws2_32.inet_pton
|
Loading…
Reference in New Issue
Block a user