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

Reply via email to