From f145444fd4d67989bb3e30d030e4ea4940fb0c31 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Mon, 9 Mar 2026 20:07:31 -0500 Subject: [PATCH] fix race condition in SharedApi setup --- .../seibel/distanthorizons/core/api/internal/SharedApi.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/SharedApi.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/SharedApi.java index 4fb7b1718..fca7fb27c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/SharedApi.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/SharedApi.java @@ -57,7 +57,6 @@ public class SharedApi /** will be null on the server-side */ @Nullable private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); - private static final AbstractDebugWireframeRenderer DEBUG_WIREFRAME_RENDERER = SingletonInjector.INSTANCE.get(AbstractDebugWireframeRenderer.class); public static final WorldChunkUpdateManager WORLD_CHUNK_UPDATE_MANAGER = WorldChunkUpdateManager.INSTANCE; // local fariable for quick access @@ -107,7 +106,9 @@ public class SharedApi { ThreadPoolUtil.shutdownThreadPools(); - DEBUG_WIREFRAME_RENDERER.clearRenderables(); + // delayed get because SharedApi will be created before the singleton has been bound + AbstractDebugWireframeRenderer debugWireframeRenderer = SingletonInjector.INSTANCE.get(AbstractDebugWireframeRenderer.class); + debugWireframeRenderer.clearRenderables(); if (MC_RENDER != null) {