8290162: Reset recursion counter missed in fix of JDK-8224267

Reviewed-by: prr
This commit is contained in:
Prasanta Sadhukhan 2022-07-13 05:06:04 +00:00
parent 31f7fc043b
commit 6e18883d8f
2 changed files with 5 additions and 1 deletions
src/java.desktop/share/classes/javax/swing/plaf/basic
test/jdk/javax/swing/JOptionPane

@ -374,6 +374,7 @@ public class BasicOptionPaneUI extends OptionPaneUI {
"OptionPane.messageAnchor", GridBagConstraints.CENTER);
cons.insets = new Insets(0,0,3,0);
recursionCount = 0;
addMessageComponents(body, cons, getMessage(),
getMaxCharactersPerLineCount(), false);
top.add(realBody, BorderLayout.CENTER);
@ -478,8 +479,11 @@ public class BasicOptionPaneUI extends OptionPaneUI {
}
// Prevent recursion of more than
// 200 successive newlines in a message
// and indicate message is truncated via ellipsis
if (recursionCount++ > 200) {
recursionCount = 0;
addMessageComponents(container, cons, new String("..."),
maxll,false);
return;
}
addMessageComponents(container, cons, s.substring(nl + nll), maxll,

@ -22,7 +22,7 @@
*/
/* @test
@bug 8224267
@bug 8224267 8290162
@key headful
@summary Verifies if StackOverflowError is not thrown for multiple newlines
@run main TestOptionPaneStackOverflow