http://bugs.winehq.org/show_bug.cgi?id=27403 --- Comment #22 from denis bonnenfant <denis.bonnenfant@diderot.org> --- Created attachment 81196 --> http://bugs.winehq.org/attachment.cgi?id=81196 [PATCH] win32u: Don't send WM_CAPTURECHANGED when the capture window doesn't change. When SetCapture() is called on a window that already owns the mouse capture, Windows does not send WM_CAPTURECHANGED to that window. Wine was incorrectly sending WM_CAPTURECHANGED(lParam=hwnd) to the window itself, which can confuse subclass procedures that call ReleaseCapture() in response to WM_CAPTURECHANGED. This caused a bug with SolidWorks: when the PropertyManager close button (a subclassed BUTTON control that holds mouse capture for hover tracking) received WM_LBUTTONDOWN, the comctl32 button procedure called SetCapture() while already being the capture owner. Wine sent the spurious WM_CAPTURECHANGED(lParam=self), the SolidWorks subclass procedure responded with ReleaseCapture(), and the resulting WM_CAPTURECHANGED(lParam=0) cleared BUTTON_BTNPRESSED before WM_LBUTTONUP was processed, preventing BN_CLICKED from being sent and making the close button appear to do nothing. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27403 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.