[0.4.11][COMCTL32] Updown Suppress the NM_RELEASEDCAPTURE notification CORE-14365
authorJoachim Henze <Joachim.Henze@reactos.org>
Fri, 18 Dec 2020 00:43:42 +0000 (01:43 +0100)
committerJoachim Henze <Joachim.Henze@reactos.org>
Fri, 18 Dec 2020 00:43:42 +0000 (01:43 +0100)
This fixes a strange toggle-back-effect in 'Zeckensacks Glide Wrapper 0.84c'
by importing Wine commit
https://source.winehq.org/git/wine.git/commit/9dbe886e3ffd1c38a89f9cf256b7d172e408ec58
Thanks to patches author Akihiro Sagawa <sagawa.aki@gmail.com>

Fix picked from 0.4.13-dev-1169-g 841732e45c5abfc2572b88b392c09decdc119bf7

This was no regression, but I could not resist porting it back, because it's just
too tempting to fix a bug by deleting code. Win-win!

dll/win32/comctl32/updown.c

index 8dec7a4..6b328ff 100644 (file)
@@ -781,14 +781,8 @@ static BOOL UPDOWN_CancelMode (UPDOWN_INFO *infoPtr)
     KillTimer (infoPtr->Self, TIMER_ACCEL);
     KillTimer (infoPtr->Self, TIMER_AUTOPRESS);
 
-    if (GetCapture() == infoPtr->Self) {
-       NMHDR hdr;
-       hdr.hwndFrom = infoPtr->Self;
-       hdr.idFrom   = GetWindowLongPtrW (infoPtr->Self, GWLP_ID);
-       hdr.code = NM_RELEASEDCAPTURE;
-       SendMessageW(infoPtr->Notify, WM_NOTIFY, hdr.idFrom, (LPARAM)&hdr);
-       ReleaseCapture();
-    }
+    if (GetCapture() == infoPtr->Self)
+        ReleaseCapture();
 
     infoPtr->Flags &= ~FLAG_PRESSED;
     InvalidateRect (infoPtr->Self, NULL, FALSE);