diff --git a/README.md b/README.md index f90d03fa..89996139 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,11 @@ Wine. All those differences are also documented on the Included bugfixes and improvements ================================== +**Bugfixes and features included in the next upcoming release [1]:** + +* Support for FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW ([Wine Bug #35121](http://bugs.winehq.org/show_bug.cgi?id=35121 "Multiple applications/games fail to start with WinVer set to 'Windows 7' (FindFirstFileExW needs FIND_FIRST_EX_LARGE_FETCH support)(FotoQuelle Fotosoftware v4.13, QT5)")) + + **Bugs fixed in Wine-Compholio 1.7.26 [58]:** * ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "Multiple applications storing AxHostWindow instance pointer in GWLP_USERDATA crash on startup (Wine uses GWLP_USERDATA to store IOCS)(JLC's Internet TV, Anime Studio Pro 10.x)")) diff --git a/debian/changelog b/debian/changelog index f34d0da8..75ca57c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ wine-compholio (1.7.27) UNRELEASED; urgency=low * Fixed some issues in the patches for GetSystemTimes. + * Added patch to support FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW. * Removed patch to use assembly wrapper for TLS callbacks (accepted upstream). * Removed patch to fix uninitialized cch struct member in GetMenuItemInfo. -- Erich E. Hoover Mon, 08 Sep 2014 21:14:36 +0200 diff --git a/patches/Makefile b/patches/Makefile index f423a8f8..fe3a66de 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -30,6 +30,7 @@ PATCHLIST := \ dsound-Fast_Mixer.ok \ fonts-Missing_Fonts.ok \ iphlpapi-TCP_Table.ok \ + kernel32-FindFirstFile-LargeFetch.ok \ kernel32-GetFinalPathNameByHandle.ok \ kernel32-GetSystemTimes.ok \ kernel32-GetVolumePathName.ok \ @@ -342,6 +343,24 @@ iphlpapi-TCP_Table.ok: echo '+ { "iphlpapi-TCP_Table", "Erich E. Hoover", "Implement AllocateAndGetTcpExTableFromStack." },'; \ ) > iphlpapi-TCP_Table.ok +# Patchset kernel32-FindFirstFile-LargeFetch +# | +# | Included patches: +# | * Ignore FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW. [by Sebastian Lackner] +# | +# | This patchset fixes the following Wine bugs: +# | * [#35121] Support for FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW +# | +# | Modified files: +# | * dlls/kernel32/file.c, include/winbase.h +# | +.INTERMEDIATE: kernel32-FindFirstFile-LargeFetch.ok +kernel32-FindFirstFile-LargeFetch.ok: + $(call APPLY_FILE,kernel32-FindFirstFile-LargeFetch/0001-kernel32-Ignore-FIND_FIRST_EX_LARGE_FETCH-flag-in-Fi.patch) + @( \ + echo '+ { "kernel32-FindFirstFile-LargeFetch", "Sebastian Lackner", "Ignore FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW." },'; \ + ) > kernel32-FindFirstFile-LargeFetch.ok + # Patchset kernel32-GetFinalPathNameByHandle # | # | Included patches: diff --git a/patches/kernel32-FindFirstFile-LargeFetch/0001-kernel32-Ignore-FIND_FIRST_EX_LARGE_FETCH-flag-in-Fi.patch b/patches/kernel32-FindFirstFile-LargeFetch/0001-kernel32-Ignore-FIND_FIRST_EX_LARGE_FETCH-flag-in-Fi.patch new file mode 100644 index 00000000..09511685 --- /dev/null +++ b/patches/kernel32-FindFirstFile-LargeFetch/0001-kernel32-Ignore-FIND_FIRST_EX_LARGE_FETCH-flag-in-Fi.patch @@ -0,0 +1,41 @@ +From a4e0737b05a26a85215c06c5c9fe615353540e50 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sat, 13 Sep 2014 01:35:08 +0200 +Subject: kernel32: Ignore FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW. + +--- + dlls/kernel32/file.c | 3 +++ + include/winbase.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c +index 412659b..b277fb9 100644 +--- a/dlls/kernel32/file.c ++++ b/dlls/kernel32/file.c +@@ -1859,6 +1859,9 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_LEVELS level, + + TRACE("%s %d %p %d %p %x\n", debugstr_w(filename), level, data, search_op, filter, flags); + ++ /* ignore FIND_FIRST_EX_LARGE_FETCH, only a hint for performance optimization */ ++ flags &= ~FIND_FIRST_EX_LARGE_FETCH; ++ + if ((search_op != FindExSearchNameMatch && search_op != FindExSearchLimitToDirectories) + || flags != 0) + { +diff --git a/include/winbase.h b/include/winbase.h +index dd5e816..edd6ad6 100644 +--- a/include/winbase.h ++++ b/include/winbase.h +@@ -289,6 +289,9 @@ typedef enum _FINDEX_INFO_LEVELS + FindExInfoMaxInfoLevel + } FINDEX_INFO_LEVELS; + ++#define FIND_FIRST_EX_CASE_SENSITIVE 1 ++#define FIND_FIRST_EX_LARGE_FETCH 2 ++ + typedef enum _FINDEX_SEARCH_OPS + { + FindExSearchNameMatch, +-- +2.1.0 + diff --git a/patches/kernel32-FindFirstFile-LargeFetch/definition b/patches/kernel32-FindFirstFile-LargeFetch/definition new file mode 100644 index 00000000..13869aea --- /dev/null +++ b/patches/kernel32-FindFirstFile-LargeFetch/definition @@ -0,0 +1,4 @@ +Author: Sebastian Lackner +Subject: Ignore FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW. +Revision: 1 +Fixes: [35121] Support for FIND_FIRST_EX_LARGE_FETCH in FindFirstFileExW.