On Sat Feb 14 16:45:59 2026 +0000, Nikolay Sivov wrote:
This looks very much like a workaround for WM_CAPTURECHANGED that you mentioned. The real question is whether WM_CAPTURECHANGED should happen at all in this case of repeated WM_LBUTTONDOWN. And more generally, should WM_CAPTURECHANGED happen on repeated SetCapture() with same window handle. I wrote a simple test program with edit control, which prints in console every time WM_CAPTURECHANGED is processed and process WM_LBUTTONDOWN twice. I did this by subclassing default edit control and calling original edit procedure twice on WM_LBUTTONDOWN.
Running this test on windows I see this sequence: WM_LBUTTONDOWN -\> WM_CAPTURECHANGED -\> WM_LBUTTONUP -\> WM_CAPTURECHANGED So, I assume, WM_CAPTURECHANGED should happen there. Should i make a bug to attach this test program? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10104#note_129736