Hi,
Thanks Rajeev and Andrej for the suggestions. I have incorporated them in following webrev. http://cr.openjdk.java.net/~aghaisas/6567433/webrev.02/ Regards, Ajit From: Rajeev Chamyal Sent: Thursday, July 07, 2016 3:30 PM To: Alexander Scherbatiy; Ajit Ghaisas; swing-dev@openjdk.java.net Subject: RE: [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError Hello Ajit, The fix looks fine to me. Regarding test: JTable and JTree tests exceed 80 char limit. Regards, Rajeev Chamyal From: Alexandr Scherbatiy Sent: 07 July 2016 15:17 To: Ajit Ghaisas; Rajeev Chamyal; HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@openjdk.java.net Subject: Re: [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError The fix looks good to me. Thanks, Alexandr. On 7/7/2016 12:44 PM, Ajit Ghaisas wrote: Hi, Thanks Alex for pointing out there might be more components showing similar behavior. Two more components are identified which may cause this recursion in UpdateUI() method - JTree and JTable. Now, total 5 components ( JComboBox, JList, JTree, JTable and JTableHeader) are fixed. Please review the updated webrev : HYPERLINK "http://cr.openjdk.java.net/%7Eaghaisas/6567433/webrev.01/"http://cr.openjdk.java.net/~aghaisas/6567433/webrev.01/ Regards, Ajit From: Alexandr Scherbatiy Sent: Tuesday, July 05, 2016 5:55 PM To: Ajit Ghaisas; Rajeev Chamyal; HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@openjdk.java.net Subject: Re: [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError On 7/5/2016 2:51 PM, Ajit Ghaisas wrote: Hi, Bug : https://bugs.openjdk.java.net/browse/JDK-6567433 Calling updateUI() on JList, JComboBox and JTableHeader can create StackOverflowErrors. For example - JList.updateUI() invokes updateUI() on its Cellrenderer via SwingUtilities.updateComponentTreeUI(). If the cellrenderer is a parent of this JList the method recurses endless causing StackOverflowError. Fix : Added a recursion guard to JComboBox, JList and JTableHeader classes. With this fix, UpdateUI() method in these classes does not result in recursion. Webrev : HYPERLINK "http://cr.openjdk.java.net/%7Eaghaisas/6567433/webrev.00/"http://cr.openjdk.java.net/~aghaisas/6567433/webrev.00/ Could the same issue affect another Swing components which allow to set a cell renderer, like JTree? Thanks, Alexandr. Request you to review. Regards, Ajit