[PATCH] user32: Keep tracking if we just created the menu.

Zebediah Figura z.figura12 at gmail.com
Wed May 31 16:13:42 CDT 2017


On 05/31/2017 03:30 PM, Huw Davies wrote:
> On Wed, May 31, 2017 at 02:34:06PM -0500, Zebediah Figura wrote:
>> Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
>> ---
>>   dlls/user32/menu.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
>> index a65f01eaa5..c52b723f76 100644
>> --- a/dlls/user32/menu.c
>> +++ b/dlls/user32/menu.c
>> @@ -2597,7 +2597,10 @@ static BOOL MENU_ButtonDown( MTRACKER* pmt, HMENU hPtMenu, UINT wFlags )
>>   
>>               /* If the popup menu is not already "popped" */
>>               if (!(ptmenu->items[pos].fState & MF_MOUSESELECT))
>> +            {
>>                   pmt->hCurrentMenu = MENU_ShowSubPopup( pmt->hOwnerWnd, hPtMenu, FALSE, wFlags );
>> +                return TRUE;
>> +            }
>>           }
>>   
>>           /* A click on an item or anywhere on a popup keeps tracking going */
> 
> So under what conditions does the if statement directly below this
> hunk not get triggered?
> 
> Huw.
> 

When we clicked outside the menu (hPtMenu == NULL), or when we clicked 
on the menu bar outside of a menu (hPtMenu != NULL, but ht == border && 
not a popup). I might be missing something, so if anything in particular 
looks problematic, please let me know.



More information about the wine-devel mailing list