diff --git a/README.md b/README.md index 90522564..98f07323 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,12 @@ 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 support for GetPropValue to PulseAudio backend * Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143)) * Fix possible segfault in pulse_rd_loop of PulseAudio backend +* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706)) * Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667)) * Support for StrCatChainW * Support for combase HSTRING objects diff --git a/debian/changelog b/debian/changelog index b87ec903..ab78a7eb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ wine-compholio (1.7.33) UNRELEASED; urgency=low * Added patch for combase HSTRING objects. * Added patch to implement stubs for MFStartup and MFShutdown. * Added patch for additional tests of CoWaitForMultipleHandles with WM_QUIT. + * Added patch to fix return value of ScrollWindowEx for invisible windows. * Removed patch to fix copy and paste errors in ws2_32 tests (accepted upstream). * Removed patch to fix ordering of IP addresses by metric if two addresses have the same metric (accepted upstream). * Removed patch to reset data->pWintrustData->u.pFile->hFile after closing handle (accepted upstream). diff --git a/patches/Makefile b/patches/Makefile index 2d020df3..f516a334 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -110,6 +110,7 @@ PATCHLIST := \ user32-GetSystemMetrics.ok \ user32-GetTipText.ok \ user32-Mouse_Message_Hwnd.ok \ + user32-ScrollWindowEx.ok \ user32-WndProc.ok \ wine.inf-ProductId.ok \ wineboot-HKEY_DYN_DATA.ok \ @@ -1692,6 +1693,21 @@ user32-Mouse_Message_Hwnd.ok: echo '+ { "Dmitry Timoshkov", "user32: Try harder to find a target for mouse messages.", 1 },'; \ ) > user32-Mouse_Message_Hwnd.ok +# Patchset user32-ScrollWindowEx +# | +# | This patchset fixes the following Wine bugs: +# | * [#37706] Fix return value of ScrollWindowEx for invisible windows +# | +# | Modified files: +# | * dlls/user32/painting.c +# | +.INTERMEDIATE: user32-ScrollWindowEx.ok +user32-ScrollWindowEx.ok: + $(call APPLY_FILE,user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch) + @( \ + echo '+ { "Dmitry Timoshkov", "user32: Fix return value of ScrollWindowEx for invisible windows.", 1 },'; \ + ) > user32-ScrollWindowEx.ok + # Patchset user32-WndProc # | # | This patchset fixes the following Wine bugs: diff --git a/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch b/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch new file mode 100644 index 00000000..bd9eef15 --- /dev/null +++ b/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch @@ -0,0 +1,29 @@ +From 1b619dbaf833182f1b522271e980a58b057767d6 Mon Sep 17 00:00:00 2001 +From: Dmitry Timoshkov +Date: Fri, 12 Dec 2014 05:06:31 +0100 +Subject: user32: Fix return value of ScrollWindowEx for invisible windows. + +--- + dlls/user32/painting.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/user32/painting.c b/dlls/user32/painting.c +index 5c1dc69..2cc7703 100644 +--- a/dlls/user32/painting.c ++++ b/dlls/user32/painting.c +@@ -1430,10 +1430,10 @@ static INT scroll_window( HWND hwnd, INT dx, INT dy, const RECT *rect, const REC + rdw_flags = (flags & SW_ERASE) && (flags & SW_INVALIDATE) ? + RDW_INVALIDATE | RDW_ERASE : RDW_INVALIDATE ; + +- if (!WIN_IsWindowDrawable( hwnd, TRUE )) return ERROR; + hwnd = WIN_GetFullHandle( hwnd ); + +- GetClientRect(hwnd, &rc); ++ if (!WIN_IsWindowDrawable( hwnd, TRUE )) SetRectEmpty(&rc); ++ else GetClientRect(hwnd, &rc); + + if (clipRect) IntersectRect(&cliprc,&rc,clipRect); + else cliprc = rc; +-- +2.1.3 + diff --git a/patches/user32-ScrollWindowEx/definition b/patches/user32-ScrollWindowEx/definition new file mode 100644 index 00000000..f5c4551e --- /dev/null +++ b/patches/user32-ScrollWindowEx/definition @@ -0,0 +1 @@ +Fixes: [37706] Fix return value of ScrollWindowEx for invisible windows