mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Add RunDLL_CallEntry16 patch.
This commit is contained in:
parent
647f53b37e
commit
cd729384de
@ -42,6 +42,7 @@ Wine-Compholio contains fixes for the following Wine bugs:
|
||||
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL"))
|
||||
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858 "Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99%"))
|
||||
* Support for ws2_32.inet_pton ([Wine Bug #36713](http://bugs.winehq.org/show_bug.cgi?id=36713 "Watch_Dogs requires ws2_32.inet_pton"))
|
||||
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](http://bugs.winehq.org/show_bug.cgi?id=23033 "Tages Protection v5.x: games report \"DLL not found shell.dll16.dll\" (Runaway 2: The Dream Of The Turtle, ...)"))
|
||||
* Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273 "Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers)"))
|
||||
|
||||
Besides that the following additional changes are included:
|
||||
|
@ -29,6 +29,7 @@ PATCHLIST := Miscellaneous.ok \
|
||||
server-Stored_ACLs.ok \
|
||||
shell32-Default_Folder_ACLs.ok \
|
||||
shell32-Icons.ok \
|
||||
shell32-RunDLL_CallEntry16.ok \
|
||||
shell32-SHCreateSessionKey.ok \
|
||||
shlwapi-UrlCombine.ok \
|
||||
strmbase-Lock_Race_Conditions.ok \
|
||||
@ -522,6 +523,24 @@ shell32-Icons.ok:
|
||||
echo '+ { "shell32-Icons", "Michael Müller", "Add support for extra large and jumbo icon lists in shell32." },'; \
|
||||
) > shell32-Icons.ok
|
||||
|
||||
# Patchset shell32-RunDLL_CallEntry16
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Manually relay RunDLL_CallEntry16 to make Tages Protection v5 happy. [by Michael Müller]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#23033] Tages Protection v5.x: games report "DLL not found shell.dll16.dll" (Runaway 2: The Dream Of The Turtle, ...)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/shell32/control.c, dlls/shell32/shell32.spec
|
||||
# |
|
||||
.INTERMEDIATE: shell32-RunDLL_CallEntry16.ok
|
||||
shell32-RunDLL_CallEntry16.ok:
|
||||
$(PATCH) < shell32-RunDLL_CallEntry16/0001-shell32-Use-manual-redirection-for-RunDLL_CallEntry1.patch
|
||||
@( \
|
||||
echo '+ { "shell32-RunDLL_CallEntry16", "Michael Müller", "Manually relay RunDLL_CallEntry16 to make Tages Protection v5 happy." },'; \
|
||||
) > shell32-RunDLL_CallEntry16.ok
|
||||
|
||||
# Patchset shell32-SHCreateSessionKey
|
||||
# |
|
||||
# | Included patches:
|
||||
|
@ -0,0 +1,56 @@
|
||||
From f83364d68291cd94bc0e20fee08fd08ff1e8f35d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 4 Aug 2014 23:04:34 +0200
|
||||
Subject: shell32: Use manual redirection for RunDLL_CallEntry16
|
||||
|
||||
---
|
||||
dlls/shell32/control.c | 22 ++++++++++++++++++++++
|
||||
dlls/shell32/shell32.spec | 2 +-
|
||||
2 files changed, 23 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c
|
||||
index b393154..2ddf8b0 100644
|
||||
--- a/dlls/shell32/control.c
|
||||
+++ b/dlls/shell32/control.c
|
||||
@@ -883,3 +883,25 @@ DWORD WINAPI CallCPLEntry16(HMODULE hMod, FARPROC pFunc, DWORD dw3, DWORD dw4, D
|
||||
FIXME("(%p, %p, %08x, %08x, %08x, %08x): stub.\n", hMod, pFunc, dw3, dw4, dw5, dw6);
|
||||
return 0x0deadbee;
|
||||
}
|
||||
+
|
||||
+/*************************************************************************
|
||||
+ * RunDLL_CallEntry16 [SHELL32.122]
|
||||
+ * Manually relay this function to make Tages Protection v5 happy
|
||||
+ */
|
||||
+void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst,
|
||||
+ LPCSTR cmdline, INT cmdshow )
|
||||
+{
|
||||
+ static HMODULE shell16 = NULL;
|
||||
+ static void (WINAPI *pRunDLL_CallEntry16)( DWORD proc, HWND hwnd, HINSTANCE inst,
|
||||
+ LPCSTR cmdline, INT cmdshow ) = NULL;
|
||||
+
|
||||
+ if (!pRunDLL_CallEntry16)
|
||||
+ {
|
||||
+ if (!shell16 && !(shell16 = LoadLibraryA( "shell.dll16" )))
|
||||
+ return;
|
||||
+ if (!(pRunDLL_CallEntry16 = (void *)GetProcAddress( shell16, "RunDLL_CallEntry16" )))
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ pRunDLL_CallEntry16( proc, hwnd, inst, cmdline, cmdshow );
|
||||
+}
|
||||
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
|
||||
index d73dcbb..e559587 100644
|
||||
--- a/dlls/shell32/shell32.spec
|
||||
+++ b/dlls/shell32/shell32.spec
|
||||
@@ -114,7 +114,7 @@
|
||||
119 stdcall -ordinal IsLFNDrive(ptr) IsLFNDriveAW
|
||||
120 stdcall -noname FileMenu_AbortInitMenu()
|
||||
121 stdcall -noname SHFlushClipboard()
|
||||
- 122 stdcall -private @(long long ptr str long) shell.dll16.RunDLL_CallEntry16
|
||||
+ 122 stdcall -noname RunDLL_CallEntry16(long long long str long)
|
||||
123 stdcall -noname SHFreeUnusedLibraries()
|
||||
124 stdcall -noname FileMenu_AppendFilesForPidl(long ptr long)
|
||||
125 stdcall -noname FileMenu_AddFilesForPidl(long long long ptr long long ptr)
|
||||
--
|
||||
1.8.3.2
|
||||
|
4
patches/shell32-RunDLL_CallEntry16/definition
Normal file
4
patches/shell32-RunDLL_CallEntry16/definition
Normal file
@ -0,0 +1,4 @@
|
||||
Author: Michael Müller
|
||||
Subject: Manually relay RunDLL_CallEntry16 to make Tages Protection v5 happy.
|
||||
Revision: 1
|
||||
Fixes: [23033] Use manual relay for RunDLL_CallEntry16 in shell32
|
Loading…
Reference in New Issue
Block a user