Added patch to implement support for "Purist Mode" (override for all dlls).

This commit is contained in:
Sebastian Lackner 2015-11-10 17:22:06 +01:00
parent 6a3ea0e976
commit eb20574d3e
5 changed files with 66 additions and 1 deletions

View File

@ -34,8 +34,9 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [1]:**
**Bug fixes and features included in the next upcoming release [2]:**
* Implement support for "Purist Mode" (override for all dlls)
* Revert patch to prepare GL resources before calling context_apply_fbo_state ([Wine Bug #39536](https://bugs.winehq.org/show_bug.cgi?id=39536))

1
debian/changelog vendored
View File

@ -1,6 +1,7 @@
wine-staging (1.7.55) UNRELEASED; urgency=low
* Added patch to revert "Prepare GL resources before calling
context_apply_fbo_state".
* Added patch to implement support for "Purist Mode" (override for all dlls).
* Remove disabled shell32-Quoted_ShellExecute patchset (bug already fixed and
all tests pass).
* Remove disabled reg-Cleanup patchset (only cleanup and not actively

View File

@ -0,0 +1,35 @@
From a83bb75f363f799616d7b39cb4829c15638b0fff Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 9 Nov 2015 10:20:21 +0100
Subject: ntdll: Add dll override default rule for purist mode.
---
dlls/ntdll/loadorder.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/ntdll/loadorder.c b/dlls/ntdll/loadorder.c
index eaeba37..5068812 100644
--- a/dlls/ntdll/loadorder.c
+++ b/dlls/ntdll/loadorder.c
@@ -557,6 +557,7 @@ enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path )
enum loadorder ret = LO_INVALID;
HANDLE std_key, app_key = 0;
WCHAR *module, *basename;
+ WCHAR default_rule[] = {'*',0};
if (!init_done) init_load_order();
std_key = get_override_standard_key();
@@ -588,6 +589,10 @@ enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path )
goto done;
}
+ /* default rule '*' (used for purist mode) */
+ if ((ret = get_load_order_value( std_key, app_key, default_rule )) != LO_INVALID)
+ goto done;
+
/* and last the hard-coded default */
ret = LO_DEFAULT;
TRACE( "got hardcoded %s for %s\n", debugstr_loadorder(ret), debugstr_w(path) );
--
2.6.2

View File

@ -0,0 +1,2 @@
Fixes: Implement support for "Purist Mode" (override for all dlls)
Depends: ntdll-DllRedirects

View File

@ -200,6 +200,7 @@ patch_enable_all ()
enable_ntdll_NtSetLdtEntries="$1"
enable_ntdll_Pipe_SpecialCharacters="$1"
enable_ntdll_ProcessQuotaLimits="$1"
enable_ntdll_Purist_Mode="$1"
enable_ntdll_RtlIpStringToAddress="$1"
enable_ntdll_Stack_Fault="$1"
enable_ntdll_Status_Mapping="$1"
@ -698,6 +699,9 @@ patch_enable ()
ntdll-ProcessQuotaLimits)
enable_ntdll_ProcessQuotaLimits="$2"
;;
ntdll-Purist_Mode)
enable_ntdll_Purist_Mode="$2"
;;
ntdll-RtlIpStringToAddress)
enable_ntdll_RtlIpStringToAddress="$2"
;;
@ -1872,6 +1876,13 @@ if test "$enable_ntdll_SystemRoot_Symlink" -eq 1; then
enable_ntdll_Syscall_Wrappers=1
fi
if test "$enable_ntdll_Purist_Mode" -eq 1; then
if test "$enable_ntdll_DllRedirects" -gt 1; then
abort "Patchset ntdll-DllRedirects disabled, but ntdll-Purist_Mode depends on that."
fi
enable_ntdll_DllRedirects=1
fi
if test "$enable_ntdll_NtQuerySection" -eq 1; then
if test "$enable_ntdll_Syscall_Wrappers" -gt 1; then
abort "Patchset ntdll-Syscall_Wrappers disabled, but ntdll-NtQuerySection depends on that."
@ -4203,6 +4214,21 @@ if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-Purist_Mode
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects
# |
# | Modified files:
# | * dlls/ntdll/loadorder.c
# |
if test "$enable_ntdll_Purist_Mode" -eq 1; then
patch_apply ntdll-Purist_Mode/0001-ntdll-Add-dll-override-default-rule-for-purist-mode.patch
(
echo '+ { "Christian Costa", "ntdll: Add dll override default rule for purist mode.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-RtlIpStringToAddress
# |
# | Modified files: