From e787d7d31766b60b515ee8f1da0e00b8c4b88172 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 9 Dec 2023 16:18:17 -0600 Subject: [PATCH] Attempt to fix a rare concurrent lighting engine issue with ChunkWrapper.getBlockLightPosList() --- .../distanthorizons/common/wrappers/chunk/ChunkWrapper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java index 7f6a203b1..0bbb83552 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java @@ -374,8 +374,12 @@ public class ChunkWrapper implements IChunkWrapper } } + /** + * FIXME synchronized is necessary for a rare issue where this method is called from two separate threads at the same time + * before the list has finished populating. + */ @Override - public ArrayList getBlockLightPosList() + public synchronized ArrayList getBlockLightPosList() { // only populate the list once if (this.blockLightPosList == null)