https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c947eb4d176603e0ff2921...
commit c947eb4d176603e0ff29217c079d8f5e1c2119e1 Author: Joachim Henze Joachim.Henze@reactos.org AuthorDate: Sat Oct 3 15:38:02 2020 +0200 Commit: Joachim Henze Joachim.Henze@reactos.org CommitDate: Sat Oct 3 15:38:02 2020 +0200
[COMCTL32] Button.c Fix CORE-17260
Press'n'Hold of a button, then leaving the button rect should redraw the button in unpressed state
Thanks to JIRA user 'I_kill_Bugs' for perfecting my initial experiments to fix that.
It regressed by 0.4.9-dev-719-g b3fb8555bf9abcc04eeac31c7153d33e2f027fc0
No need to sync anything with Wine, their code is correct on Wine head. The bug was in ros specific diff. --- dll/win32/comctl32/button.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dll/win32/comctl32/button.c b/dll/win32/comctl32/button.c index db207499e67..095515c2775 100644 --- a/dll/win32/comctl32/button.c +++ b/dll/win32/comctl32/button.c @@ -854,7 +854,6 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L mouse_event.dwHoverTime = 1; TrackMouseEvent(&mouse_event); } - break; #else
if (!TrackMouseEvent(&mouse_event) || !(mouse_event.dwFlags & (TME_HOVER | TME_LEAVE))) @@ -864,6 +863,7 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L mouse_event.dwHoverTime = 1; TrackMouseEvent(&mouse_event); } +#endif
if ((wParam & MK_LBUTTON) && GetCapture() == hWnd) { @@ -871,7 +871,6 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L SendMessageW( hWnd, BM_SETSTATE, PtInRect(&rect, pt), 0 ); } break; -#endif }
#ifndef __REACTOS__