<Swing Dev> <Swing dev>[13] Review request for JDK-8216971: [macosx swing] For JCheckBoxMenuItem actionPerformed() is called twice, when apple.laf.useScreenMenuBar=true and modifier is InputEvent.META_DOWN_MASK

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Mon Mar 18 10:55:42 UTC 2019


Still

74         } finally {

in testcase not fixed. Please fix it before pushing...No need to send 
webrev.

Regards
Prasanta
On 18-Mar-19 4:12 PM, Manajit Halder wrote:
> Thanks Prasanta for the review. I have corrected the indentation 
> problem. Please review the updated webrev.
> http://cr.openjdk.java.net/~mhalder/8216971/webrev.02/ 
> <http://cr.openjdk.java.net/%7Emhalder/8216971/webrev.02/>
>
> Regards,
> Manajit
>
>> On 18-Mar-2019, at 11:21 AM, Prasanta Sadhukhan 
>> <prasanta.sadhukhan at oracle.com 
>> <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>
>> I guess l94-111 indentation in CMenuItem.m and l69 Robot robot = new 
>> Robot(); in testcase
>>
>> is still not fixed.
>>
>> Regards
>> Prasanta
>> On 15-Mar-19 4:51 PM, Manajit Halder wrote:
>>> Thanks Prasanta,
>>>
>>> I have corrected the indentation issue in both files. Please review 
>>> the modified webrev.
>>> http://cr.openjdk.java.net/~mhalder/8216971/webrev.01/ 
>>> <http://cr.openjdk.java.net/%7Emhalder/8216971/webrev.01/>
>>>
>>> Regards,
>>> Manajit
>>>
>>>
>>>> On 15-Mar-2019, at 11:32 AM, Prasanta Sadhukhan 
>>>> <prasanta.sadhukhan at oracle.com 
>>>> <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>>>
>>>> fix looks fine to me but there are indentation issue both in fix 
>>>> and in testcase. Please rectify it.
>>>>
>>>> Regards
>>>> Prasanta
>>>> On 12-Mar-19 6:46 PM, Krishna Addepalli wrote:
>>>>> Hi Manajit,
>>>>>
>>>>> Thanks for the clarification. The fix looks ok to me.
>>>>>
>>>>> Thanks,
>>>>> Krishna
>>>>>
>>>>>> On 12-Mar-2019, at 3:36 PM, Manajit Halder 
>>>>>> <manajit.halder at oracle.com <mailto:manajit.halder at oracle.com>> wrote:
>>>>>>
>>>>>> Lines 74 to 82 explains why we need to ignore this call. This 
>>>>>> method should be ignored if it is called as a result of user 
>>>>>> pressing  a shortcut and the window containing the menu is not 
>>>>>> minimized.
>>>>>>
>>>>>> Regards,
>>>>>> Manajit
>>>>>>
>>>>>>
>>>>>>> On 12-Mar-2019, at 3:16 PM, Krishna Addepalli 
>>>>>>> <krishna.addepalli at oracle.com 
>>>>>>> <mailto:krishna.addepalli at oracle.com>> wrote:
>>>>>>>
>>>>>>> Hi Manajit,
>>>>>>>
>>>>>>> Thanks for the clarification. I think you should add some more 
>>>>>>> comments around the statement at line86, to explain in more 
>>>>>>> detail, about why to ignore this call.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Krishna
>>>>>>>
>>>>>>>> On 11-Mar-2019, at 2:25 PM, Manajit Halder 
>>>>>>>> <manajit.halder at oracle.com <mailto:manajit.halder at oracle.com>> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Krishna,
>>>>>>>>
>>>>>>>> Thanks for the review comment.
>>>>>>>>
>>>>>>>> The key mapping is done by method setKeyEquivalent on fMenuItem 
>>>>>>>> (object of the NSMenuItem) in the same file.
>>>>>>>>
>>>>>>>> As discussed with you, the second key event is the problem 
>>>>>>>> here, and is caused only when System property 
>>>>>>>> “apple.laf.useScreenMenuBar” is set to true. The extra event is 
>>>>>>>> generated in the handleAction method and my proposed fix is 
>>>>>>>> solving this issue. The difference with other look and feel 
>>>>>>>> setting or when “apple.laf.useScreenMenuBar” is set to “false” 
>>>>>>>> is that handleAction method is not called. I have verified and 
>>>>>>>> found that the META_MASK and CTRL_MASK are only set when 
>>>>>>>> “apple.laf.useScreenMenuBar” is set to true and not in case of 
>>>>>>>> it is false. Also verified with “metal” look and feel and found 
>>>>>>>> the MASKS are not set and handleAction method is not called and 
>>>>>>>> hence the extra key event is not generated.
>>>>>>>>
>>>>>>>> Please let me know if you have any other query.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Manajit
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 05-Mar-2019, at 4:52 PM, Krishna Addepalli 
>>>>>>>>> <krishna.addepalli at oracle.com 
>>>>>>>>> <mailto:krishna.addepalli at oracle.com>> wrote:
>>>>>>>>>
>>>>>>>>> Hi Manajit,
>>>>>>>>>
>>>>>>>>> Per our discussion, The cause of the problem is : 1), Key 
>>>>>>>>> Event being sent from the OS to the application - which the 
>>>>>>>>> Java layer processes it correctly
>>>>>>>>> 2) The Mac OS calling the handleAction function directly on 
>>>>>>>>> the NSMenutItem - although as per your description, there is 
>>>>>>>>> no code which maps the hot key to this widget in the native layer.
>>>>>>>>> Ideally, since the OS is recognising the key combination, that 
>>>>>>>>> key event should not be delivered again to the application. 
>>>>>>>>> Or, it should be that the key event is not recognised and 
>>>>>>>>> hence delivered to the application.
>>>>>>>>>
>>>>>>>>> Can you check why in this case, we are getting the key event 
>>>>>>>>> as well as the handleAction from the OS?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Krishna
>>>>>>>>>
>>>>>>>>>> On 23-Feb-2019, at 9:14 PM, Manajit Halder 
>>>>>>>>>> <manajit.halder at oracle.com 
>>>>>>>>>> <mailto:manajit.halder at oracle.com>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>>
>>>>>>>>>> Please review the fix for JDK13.
>>>>>>>>>>
>>>>>>>>>> Bug:
>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8216971
>>>>>>>>>>
>>>>>>>>>> Webrev:
>>>>>>>>>> http://cr.openjdk.java.net/~mhalder/8216971/webrev.00/ 
>>>>>>>>>> <http://cr.openjdk.java.net/%7Emhalder/8216971/webrev.00/>
>>>>>>>>>>
>>>>>>>>>> Fix:
>>>>>>>>>> actionPerformed() was called twice due to wrong handling of 
>>>>>>>>>> key down event in method handleAction, which is corrected 
>>>>>>>>>> with this fix.
>>>>>>>>>> This change was added during fix of issue JDK-8152492. Apart 
>>>>>>>>>> from the changes required to fix the problem, code related to 
>>>>>>>>>> finding out
>>>>>>>>>> eventKey is removed as eventKey is no more used now.
>>>>>>>>>>
>>>>>>>>>> Note:
>>>>>>>>>> This issue is regression of bug 8152492, which was introduced 
>>>>>>>>>> in JDK release 9b120.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Manajit
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20190318/40d75007/attachment-0001.html>


More information about the swing-dev mailing list