From 252c30df2108f0b544ed44aac4f58b958122a0b0 Mon Sep 17 00:00:00 2001 From: Treeku Date: Mon, 16 Jun 2014 21:40:50 +0100 Subject: [PATCH] Added client null check to movement No idea why client would be null when moving. Unless their connection reset and they are disconnected but still trying to send movement packets. If the latter is not the case it suggests a serious issue of the client object being null while they are still connected. --- src/services/SimulationService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 0f8ac7ba..7a31f2e9 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -526,7 +526,9 @@ public class SimulationService implements INetworkDispatch { remove(object, oldPos.x, oldPos.z); if(object.getContainer() != null) object.getContainer()._remove(object); - if (object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) + if (object.getClient() == null) + System.err.println("Client is null! This is a very strange error."); + if (object.getClient() != null && object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) object.sendSystemMessage("BuildingId - Dec: " + parent.getContainer().getObjectID() + " Hex: " + Long.toHexString(parent.getContainer().getObjectID()) + " CellNumber: " + ((CellObject) parent).getCellNumber(), DisplayType.Broadcast); parent._add(object); }