From 4333cf65a2bcdd73ccec65db3da13270b8f5120e Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 24 Sep 2023 20:47:53 -0500 Subject: [PATCH] Fix a null pointer in FullDataArrayAccessor --- .../fullData/accessor/FullDataArrayAccessor.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java index 1829d59f4..db8eec620 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java @@ -114,14 +114,18 @@ public class FullDataArrayAccessor implements IFullDataAccessor { for (int z = 0; z < this.width; z++) { - long[] sourceData = this.dataArrays[this.offset + x * this.dataWidth + z]; - long[] newData = new long[sourceData.length]; - for (int dataPointIndex = 0; dataPointIndex < newData.length; dataPointIndex++) + long[] currentData = this.dataArrays[this.offset + x * this.dataWidth + z]; + // may be null if no data exists for this column yet + if (currentData != null) { - newData[dataPointIndex] = FullDataPointUtil.remap(remappedIds, sourceData[dataPointIndex]); + long[] newData = new long[currentData.length]; // TODO what to do if null? + for (int dataPointIndex = 0; dataPointIndex < newData.length; dataPointIndex++) + { + newData[dataPointIndex] = FullDataPointUtil.remap(remappedIds, currentData[dataPointIndex]); + } + + target.dataArrays[target.offset + x * target.dataWidth + z] = newData; } - - target.dataArrays[target.offset + x * target.dataWidth + z] = newData; } } }