triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.33k stars 393 forks source link

2.0.20183: DiceRoll#getUnitPowerAndRollsForNormalBattles:809 - NullPointerException #6874

Closed tripleabuilderbot closed 4 years ago

tripleabuilderbot commented 4 years ago

TripleA Version

2.0.20183

Java Version

11.0.6

Operating System

Windows 10

Exception

java.lang.NullPointerException

Stack Trace

java.lang.NullPointerException
    at java.base/java.util.function.Predicate.lambda$negate$1(Predicate.java:80)
    at games.strategy.triplea.delegate.DiceRoll.getUnitPowerAndRollsForNormalBattles(DiceRoll.java:809)
    at games.strategy.triplea.delegate.DiceRoll.getUnitPowerAndRollsForNormalBattles(DiceRoll.java:700)
    at games.strategy.triplea.odds.calculator.BattleCalculatorPanel.setWidgetActivation(BattleCalculatorPanel.java:1418)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
    at games.strategy.triplea.odds.calculator.PlayerUnitsPanel.notifyListeners(PlayerUnitsPanel.java:239)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
    at games.strategy.triplea.odds.calculator.UnitPanel.notifyListeners(UnitPanel.java:124)
    at games.strategy.triplea.odds.calculator.UnitPanel.lambda$new$0(UnitPanel.java:35)
    at games.strategy.ui.ScrollableTextField.notifyListeners(ScrollableTextField.java:188)
    at games.strategy.ui.ScrollableTextField.lambda$new$0(ScrollableTextField.java:119)
    at org.triplea.swing.IntTextField.notifyListeners(IntTextField.java:169)
    at org.triplea.swing.IntTextField$IntegerDocument.insertString(IntTextField.java:140)
    at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)
    at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
    at org.triplea.swing.IntTextField.setValue(IntTextField.java:63)
    at games.strategy.ui.ScrollableTextField$1.actionPerformed(ScrollableTextField.java:57)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:108)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
    at java.desktop/java.awt.Component.processEvent(Component.java:6397)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
RoiEXLab commented 4 years ago

Duplicate of #6769