From 39bc5b5d8b8e6d4369ea71a7787907521e11ad34 Mon Sep 17 00:00:00 2001 From: isXander Date: Thu, 17 Aug 2023 14:19:32 +0100 Subject: Re-write image renderer handling to be threadsafe (relates to #101) --- .../src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'common/src/main/java/dev/isxander/yacl3/mixin') diff --git a/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java b/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java index 0681213..0b228a1 100644 --- a/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java +++ b/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java @@ -1,6 +1,6 @@ package dev.isxander.yacl3.mixin; -import dev.isxander.yacl3.gui.ImageRenderer; +import dev.isxander.yacl3.gui.image.ImageRendererManager; import net.minecraft.client.Minecraft; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -11,6 +11,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; public class MinecraftMixin { @Inject(method = "destroy", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;close()V", shift = At.Shift.BEFORE)) private void closeImages(CallbackInfo ci) { - ImageRenderer.closeAll(); + ImageRendererManager.closeAll(); + } + + @Inject(method = "runTick", at = @At(value = "HEAD")) + private void finaliseImages(boolean tick, CallbackInfo ci) { + ImageRendererManager.pollImageFactories(); } } -- cgit