Looks fine.
>
> Yes, it fails for SynthTextAreaUI/SynthTextFieldUI so change applied to those
> files too. Since the test is in nimbus folder, I went for throwing an
> exception if Nimbus cannot be set.
>
> http://cr.openjdk.java.net/~psadhukhan/8043315/webrev.03/
>
> Regards
> Prasanta
> On 6/19/2017 8:32 PM, Sergey Bylokhov wrote:
>>> I have modified webrev to remove static keyword and made the test automated
>> Should the same change be applied to SynthTextAreaUI/SynthTextFieldUI?
>> In the test you should throw an exception if Nimbus cannot be set, or you
>> can iterate over all installed l&f.
>>
>>> http://cr.openjdk.java.net/~psadhukhan/8043315/webrev.01/
>>> Updated fix tests if app has fired a property change by calling setKeymap()
>>> then it will not uninstall custom keymap and let the custom keymap be
>>> honoured. If app again calls setKeymap(null) then the static variable will
>>> be "true" and it will reset back to default keymap.
>>>
>>> Regards
>>> Prasanta
>>> On 6/2/2017 12:07 AM, Sergey Bylokhov wrote:
>>>> Hi, Prasanta.
>>>> Can you please clarify the fix a little bit.
>>>> You have a static variable, which is set to "false" when the listener for
>>>> "keymap" is triggered, and it seems that you never set it back to "true"?
>>>> Is it intentional behavior?
>>>> Note that if there are a few objects of "SynthEditorPaneUI" then they will
>>>> share this static field. Also it seems that the test can be automated,
>>>> because currently it is requires from the user to press only one
>>>> button("space").
>>>>
>>>> ----- prasanta.sadhuk...@oracle.com wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> Please review a bug fix for Nimbus L&F where if app sets custom keymap
>>>>>
>>>>> and then sets Nimbus.Overrides property,
>>>>> then the custom keymap is not honoured.
>>>>> For example, if testapp sets a new action for "space" key press and
>>>>> sets
>>>>> sets Nimbus.Overrides property,
>>>>> it will not be honoured and default action ie. inserting a "space"
>>>>> character will be done.
>>>>>
>>>>> Issue was NimbusLookAndFeel#shouldUpdateStyleOnEvent() returns true
>>>>> for
>>>>> Nimbus.Override property which causes SynthEditorPaneUI#updateStyle()
>>>>> to
>>>>> be called which
>>>>> uninstall set keyboard actions and sets up default keyboard action.
>>>>>
>>>>> Proposed fix is to check if a keymap is already set (a propertyChange
>>>>>
>>>>> event will be fired for when app calls setKeyMap()) then do not reset
>>>>> to
>>>>> default keymap.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8043315
>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8043315/webrev.00/
>>>>>
>>>>> Regards
>>>>> Prasanta
>