I am withdrawing this RFR as it seems even without code change, the tests are passing once converted to main based and also it was causing a regression in one of the issue I was investigating.

--Prasanta
On 6/19/2017 8:04 PM, Sergey Bylokhov wrote:

private void updateStyle(JPanel c) {
        SynthContext context = getContext(c, ENABLED);
        style = SynthLookAndFeel.updateStyle(context, this);
    }
it calls getContext() which in turn calls SynthContext.getContext() with style variable.
private SynthContext getContext(JComponent c, int state) {
        return SynthContext.getContext(c, style, state);
    }
Now, "style" variable seems to be null at this point in SYnthPanelUI.java and it only gets updated after getContext() call when it calls then next line SynthLookAndFeel.updateStyle(context, this);

And the question why it is null here in these test cases, but correct value in others tests.


I could not remove the html file as I am getting some serialization issue if I moved from applet to main based so I retained applet based test, as of now. Also, due to it being applet, I am not sure how to run them over installed l&f inside the test.

I see that in the latest version you remove html files, and now you can iterate over all installed l&f.


Modified webrev with test issues rectfied
http://cr.openjdk.java.net/~psadhukhan/8181421/webrev.01/

Regards
Prasanta
On 6/2/2017 1:35 AM, Sergey Bylokhov wrote:
Hi, Prasanta.
I have few small notes.
 - Did you check why the null value was passed to this method?
- It seems that the tests are passed by default. It would be good to run them over the installed l&f. In this case they will fail before the fix.
 - Is it possible to remove the html files from the tests?
- The tests also have some common issues, the Swing components are accessed on non-edt thread. some unnecessary commented code, etc.

-----prasanta.sadhukhan@oracle.comwrote:
>
Hi All,
Please review a subitem fix ofJDK-7190554 <https://bugs.openjdk.java.net/browse/JDK-7190554>where some closed regression test is failing with Nimbus L&F.
Issue was we were getting NPE
> which is because a null style was used in SynthPanelUI to generate the SynthContext
>
> java.lang.NullPointerException: You must supply a non-null component, region and style > at java.desktop/javax.swing.plaf.synth.SynthContext.getContext(SynthContext.java:58) > at java.desktop/javax.swing.plaf.synth.SynthContext.getContext(SynthContext.java:49) > at java.desktop/javax.swing.plaf.synth.SynthPanelUI.getContext(SynthPanelUI.java:128) > at java.desktop/javax.swing.plaf.synth.SynthPanelUI.updateStyle(SynthPanelUI.java:115) > at java.desktop/javax.swing.plaf.synth.SynthPanelUI.installDefaults(SynthPanelUI.java:100)
>
> Proposed fix is to generate a style before generating SynthContext because as per spec,
>https://docs.oracle.com/javase/8/docs/api/index.html?javax/swing/plaf/synth/SynthContext.html
> it should throw NPE||- if component, region or style is null.
>
> Bug:https://bugs.openjdk.java.net/browse/JDK-8181421
> webrev:http://cr.openjdk.java.net/~psadhukhan/8181421/webrev.00/
>
> Regards
> Prasanta
>




Reply via email to