Skip to content

Commit 5131c85

Browse files
committed
fix prevstacked nullchecking
1 parent 4950aa7 commit 5131c85

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/main/java/bwem/unit/NeutralImpl.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,20 +202,21 @@ private void removeFromTiles() {
202202
}
203203
} else {
204204
Neutral prevStacked = tile.getNeutral();
205-
while (!this.equals(prevStacked.getNextStacked()) && !this.equals(prevStacked.getNextStacked())) {
205+
while (prevStacked != null && !this.equals(prevStacked.getNextStacked())) {
206206
prevStacked = prevStacked.getNextStacked();
207207
}
208-
if (!((NeutralImpl) prevStacked).isSameUnitTypeAs(this)) {
209-
// bwem_assert(pPrevStacked->Type() == Type());
210-
throw new IllegalStateException();
211-
} else if (!(prevStacked.getTopLeft().equals(getTopLeft()))) {
212-
// bwem_assert(pPrevStacked->topLeft() == topLeft());
213-
throw new IllegalStateException();
214-
} else if (!(dx == 0 && dy == 0)) {
208+
if (!(dx == 0 && dy == 0)) {
215209
// bwem_assert((dx == 0) && (dy == 0));
216210
throw new IllegalStateException();
217211
}
218212
if (prevStacked != null) {
213+
if (!((NeutralImpl) prevStacked).isSameUnitTypeAs(this)) {
214+
// bwem_assert(pPrevStacked->Type() == Type());
215+
throw new IllegalStateException();
216+
} else if (!(prevStacked.getTopLeft().equals(getTopLeft()))) {
217+
// bwem_assert(pPrevStacked->topLeft() == topLeft());
218+
throw new IllegalStateException();
219+
}
219220
((NeutralImpl) prevStacked).nextStacked = nextStacked;
220221
}
221222
this.nextStacked = null;

0 commit comments

Comments
 (0)