Fix selection bug in motor selection panel. The app threw NPE when

trying to reuse the dialog.
This commit is contained in:
kruland2607 2014-03-25 12:12:30 -05:00
parent 11328bc1fc
commit 581ec324d9

View File

@ -310,6 +310,10 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
}
public void setMotorMountAndConfig( MotorMount mount, String currentConfig ) {
selectedMotor = null;
selectedMotorSet = null;
selectedDelay = 0;
ThrustCurveMotor motorToSelect = null;
if (currentConfig != null && mount != null) {
MotorConfiguration motorConf = mount.getMotorConfiguration().get(currentConfig);
@ -317,21 +321,14 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
selectedDelay = motorConf.getEjectionDelay();
}
selectedMotorSet = null;
// If current motor is not found in db, add a new ThrustCurveMotorSet containing it
if (motorToSelect != null) {
for (ThrustCurveMotorSet motorSet : database) {
if (motorSet.getMotors().contains(motorToSelect)) {
selectedMotorSet = motorSet;
break;
}
}
if (selectedMotorSet == null) {
ThrustCurveMotorSet motorSetToSelect = null;
motorSetToSelect = findMotorSet(motorToSelect);
if (motorSetToSelect == null) {
database = new ArrayList<ThrustCurveMotorSet>(database);
ThrustCurveMotorSet extra = new ThrustCurveMotorSet();
extra.addMotor(motorToSelect);
selectedMotorSet = extra;
database.add(extra);
Collections.sort(database);
}