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@winehq.org mailto:julliard@winehq.org> wrote:
Christopher Thielen <cthielen@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@winehq.org <javascript:;>