From 70b8d10d2fe9748faa716086c55939c05218d137 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 3 Feb 2015 07:13:28 +0100 Subject: [PATCH] Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native. --- README.md | 3 ++- debian/changelog | 1 + patches/patchinstall.sh | 19 +++++++++++++ ...rt-ole32-msacm32-to-workaround-bug-w.patch | 27 +++++++++++++++++++ patches/winmm-Delay_Import_Depends/definition | 1 + 5 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 patches/winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch create mode 100644 patches/winmm-Delay_Import_Depends/definition diff --git a/README.md b/README.md index 695a3f4f..6aa4fbce 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [7]:** +**Bugfixes and features included in the next upcoming release [8]:** * Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192)) * Call DriverUnload function when unloading a device driver. @@ -47,6 +47,7 @@ Included bug fixes and improvements * Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640)) * Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306)) * Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531)) +* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983)) **Bugs fixed in Wine Staging 1.7.35 [146]:** diff --git a/debian/changelog b/debian/changelog index 8b91888f..70dd5821 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ wine-staging (1.7.36) UNRELEASED; urgency=low * Added patch to fix mouse jittering in Planetside 2. * Added patch to implement additional stubs for vcomp dlls. * Added patchset to implement Vista+ threadpool functions for work / timers. + * Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native. -- Sebastian Lackner Sun, 25 Jan 2015 05:58:36 +0100 wine-staging (1.7.35) unstable; urgency=low diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 2a57441c..2a3ace98 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -196,6 +196,7 @@ patch_enable_all () enable_winex11_XEMBED="$1" enable_winex11_wglShareLists="$1" enable_wininet_encoding="$1" + enable_winmm_Delay_Import_Depends="$1" enable_wpcap_Dynamic_Linking="$1" enable_ws2_32_Connect_Time="$1" enable_ws2_32_TransmitFile="$1" @@ -610,6 +611,9 @@ patch_enable () wininet-encoding) enable_wininet_encoding="$2" ;; + winmm-Delay_Import_Depends) + enable_winmm_Delay_Import_Depends="$2" + ;; wpcap-Dynamic_Linking) enable_wpcap_Dynamic_Linking="$2" ;; @@ -3711,6 +3715,21 @@ if test "$enable_wininet_encoding" -eq 1; then ) >> "$patchlist" fi +# Patchset winmm-Delay_Import_Depends +# | +# | This patchset fixes the following Wine bugs: +# | * [#37983] Jedi Knight: Dark Forces II crashes with winmm set to native +# | +# | Modified files: +# | * dlls/winmm/Makefile.in +# | +if test "$enable_winmm_Delay_Import_Depends" -eq 1; then + patch_apply winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch + ( + echo '+ { "Michael Müller", "winmm: Delay import ole32 msacm32 to workaround bug when loading multiple winmm versions.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wpcap-Dynamic_Linking # | # | Modified files: diff --git a/patches/winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch b/patches/winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch new file mode 100644 index 00000000..10e05452 --- /dev/null +++ b/patches/winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch @@ -0,0 +1,27 @@ +From fecee7ab784c5befc19fa83ac9430960d1572811 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sat, 31 Jan 2015 06:00:38 +0100 +Subject: winmm: Delay import ole32 msacm32 to workaround bug when loading + multiple winmm versions. + +--- + dlls/winmm/Makefile.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dlls/winmm/Makefile.in b/dlls/winmm/Makefile.in +index 3036526..0cf4b3c 100644 +--- a/dlls/winmm/Makefile.in ++++ b/dlls/winmm/Makefile.in +@@ -1,7 +1,8 @@ + EXTRADEFS = -D_WINMM_ + MODULE = winmm.dll + IMPORTLIB = winmm +-IMPORTS = uuid user32 advapi32 ole32 msacm32 ++IMPORTS = uuid user32 advapi32 ++DELAYIMPORTS = ole32 msacm32 + + C_SRCS = \ + driver.c \ +-- +2.2.2 + diff --git a/patches/winmm-Delay_Import_Depends/definition b/patches/winmm-Delay_Import_Depends/definition new file mode 100644 index 00000000..d5073cc2 --- /dev/null +++ b/patches/winmm-Delay_Import_Depends/definition @@ -0,0 +1 @@ +Fixes: [37983] Jedi Knight: Dark Forces II crashes with winmm set to native