diff --git a/README.md b/README.md index a25e59de..d86da754 100644 --- a/README.md +++ b/README.md @@ -39,13 +39,14 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [18]:** +**Bug fixes and features included in the next upcoming release [19]:** * Add implementation for kernel32.GetNumaProcessorNode ([Wine Bug #38660](https://bugs.winehq.org/show_bug.cgi?id=38660)) * Add semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466)) * Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #38697](https://bugs.winehq.org/show_bug.cgi?id=38697)) * Allow to set pixel format for desktop window * Fix endless loop in regedit when importing files with very long lines +* Fix handling of periodic advice timers causing high CPU usage * Fix link notification conditions for riched20 ([Wine Bug #35949](https://bugs.winehq.org/show_bug.cgi?id=35949)) * Implement default homepage button in inetcpl.cpl * Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662)) diff --git a/debian/changelog b/debian/changelog index 7ce7deff..ba3c8cf3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -38,6 +38,8 @@ wine-staging (1.7.45) UNRELEASED; urgency=low * Added patch for semi-stub of FileFsVolumeInformation information class. * Added patch to use NVX_GPU_MEMORY_INFO extension for more exact video memory accounting on NVIDIA graphic cards. + * Added patch to fix handling of periodic advice timers causing high CPU + usage. * Removed patch to handle '\r' as whitespace in wbemprox queries (accepted upstream). * Removed patch to make sure OpenClipboard with current owner doesn't fail diff --git a/patches/inetcpl-Default_Home/definition b/patches/inetcpl-Default_Home/definition new file mode 100644 index 00000000..a7f36ffa --- /dev/null +++ b/patches/inetcpl-Default_Home/definition @@ -0,0 +1 @@ +Fixes: Implement default homepage button in inetcpl.cpl diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c7b02c67..e0273538 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -196,6 +196,7 @@ patch_enable_all () enable_nvcuvid_CUDA_Video_Support="$1" enable_nvencodeapi_Video_Encoder="$1" enable_opengl32_Revert_Disable_Ext="$1" + enable_quartz_Advice_Timers="$1" enable_quartz_MediaSeeking_Positions="$1" enable_regedit_Reg_Parser="$1" enable_riched20_IText_Interface="$1" @@ -672,6 +673,9 @@ patch_enable () opengl32-Revert_Disable_Ext) enable_opengl32_Revert_Disable_Ext="$2" ;; + quartz-Advice_Timers) + enable_quartz_Advice_Timers="$2" + ;; quartz-MediaSeeking_Positions) enable_quartz_MediaSeeking_Positions="$2" ;; @@ -2078,23 +2082,6 @@ if test "$enable_Staging" -eq 1; then ) >> "$patchlist" fi -# Patchset server-Misc_ACL -# | -# | This patchset fixes the following Wine bugs: -# | * [#15980] GetSecurityInfo returns NULL DACL for process object -# | -# | Modified files: -# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c -# | -if test "$enable_server_Misc_ACL" -eq 1; then - patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch - patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch - ( - echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },'; - echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },'; - ) >> "$patchlist" -fi - # Patchset server-CreateProcess_ACLs # | # | This patchset fixes the following Wine bugs: @@ -2114,6 +2101,23 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then ) >> "$patchlist" fi +# Patchset server-Misc_ACL +# | +# | This patchset fixes the following Wine bugs: +# | * [#15980] GetSecurityInfo returns NULL DACL for process object +# | +# | Modified files: +# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c +# | +if test "$enable_server_Misc_ACL" -eq 1; then + patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch + patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch + ( + echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },'; + echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },'; + ) >> "$patchlist" +fi + # Patchset advapi32-LsaLookupSids # | # | Modified files: @@ -4198,6 +4202,18 @@ if test "$enable_opengl32_Revert_Disable_Ext" -eq 1; then ) >> "$patchlist" fi +# Patchset quartz-Advice_Timers +# | +# | Modified files: +# | * dlls/quartz/systemclock.c +# | +if test "$enable_quartz_Advice_Timers" -eq 1; then + patch_apply quartz-Advice_Timers/0001-quartz-Fix-handling-of-periodic-advice-timers.patch + ( + echo '+ { "Sebastian Lackner", "quartz: Fix handling of periodic advice timers.", 1 },'; + ) >> "$patchlist" +fi + # Patchset quartz-MediaSeeking_Positions # | # | This patchset fixes the following Wine bugs: @@ -5179,21 +5195,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-Multisampling -# | -# | This patchset fixes the following Wine bugs: -# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. -# | -# | Modified files: -# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h -# | -if test "$enable_wined3d_Multisampling" -eq 1; then - patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch - ( - echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-Revert_PixelFormat # | # | This patchset fixes the following Wine bugs: @@ -5264,6 +5265,21 @@ if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then ) >> "$patchlist" fi +# Patchset wined3d-Multisampling +# | +# | This patchset fixes the following Wine bugs: +# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. +# | +# | Modified files: +# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h +# | +if test "$enable_wined3d_Multisampling" -eq 1; then + patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch + ( + echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-CSMT_Main # | # | This patchset fixes the following Wine bugs: diff --git a/patches/quartz-Advice_Timers/0001-quartz-Fix-handling-of-periodic-advice-timers.patch b/patches/quartz-Advice_Timers/0001-quartz-Fix-handling-of-periodic-advice-timers.patch new file mode 100644 index 00000000..b5019557 --- /dev/null +++ b/patches/quartz-Advice_Timers/0001-quartz-Fix-handling-of-periodic-advice-timers.patch @@ -0,0 +1,24 @@ +From e2d401d2f7ac762968cbc25bf2fccb3fb749770a Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sun, 7 Jun 2015 20:15:20 +0200 +Subject: quartz: Fix handling of periodic advice timers. + +--- + dlls/quartz/systemclock.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c +index 043299b..cdb06f7 100644 +--- a/dlls/quartz/systemclock.c ++++ b/dlls/quartz/systemclock.c +@@ -127,6 +127,7 @@ static DWORD WINAPI SystemClockAdviseThread(LPVOID lpParam) { + it = nextit; + } + if (NULL != it) timeOut = (DWORD) ((it->rtBaseTime + it->rtIntervalTime) - curTime) / (REFERENCE_TIME)10000; ++ else timeOut = INFINITE; + + /** Now Periodics Advice: semi sorted list (sort cannot be used) */ + for (it = This->pPeriodicAdvise; NULL != it; it = it->next) { +-- +2.4.2 + diff --git a/patches/quartz-Advice_Timers/definition b/patches/quartz-Advice_Timers/definition new file mode 100644 index 00000000..367b2fd8 --- /dev/null +++ b/patches/quartz-Advice_Timers/definition @@ -0,0 +1 @@ +Fixes: Fix handling of periodic advice timers causing high CPU usage