Attached is my analysis of Wine's usage of WM_CAPTURECHANGED as requested by Alexandre. Reading the code has revealed the same logic change I originally proposed -- allowing a WM_CAPTURECHANGED message to be sent to a window losing focus if it was also the window gaining focus -- is needed in the Mac driver as well. The Mac driver logic looks copied out of dlls/user32/input.c. I would appreciate if someone could double-check my analysis in a few areas based on expertise: dlls/comctl32/toolbar.c dlls/comctl32/trackbar.c dlls/user32/button.c programs/regedit/childwnd.c If no one has any concerns after a few days, I'll resubmit my patch with the additional change mimicked for the Mac driver. On 11/25/2015 01:51 PM, Chris Thielen wrote:
Thanks Alexandre, that seemswise.
I'll get a review ready after 1.8.
On Monday, November 23, 2015, Alexandre Julliard <julliard(a)winehq.org <mailto:julliard(a)winehq.org>> wrote:
Christopher Thielen <cthielen(a)gmail.com <javascript:;>> writes:
> Fixes https://bugs.winehq.org/show_bug.cgi?id=13683 > > A window may be notified with WM_CAPTURECHANGED about itself > gaining mouse capture if it calls SetCapture() twice.
You'd need to review all places where we handle that message, I don't think we've taken that behavior into account.
Because of this risk, I'm afraid it will have to wait until after code freeze.
-- Alexandre Julliard julliard(a)winehq.org <javascript:;>