From 850d42dbcacda72b81a3cc00e3e79a7b8614a987 Mon Sep 17 00:00:00 2001
From: Linnea Gräf <nea@nea.moe>
Date: Fri, 18 Oct 2024 20:19:39 +0200
Subject: Fix edit backpacks in /firm storage sometimes not resizing the screen
 properly

---
 .../firmament/mixins/customgui/PatchHandledScreen.java   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
index 61fdcf8..deac0a4 100644
--- a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
+++ b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
@@ -34,10 +34,18 @@ public class PatchHandledScreen<T extends ScreenHandler> extends Screen implemen
 	protected int x;
 	@Shadow
 	protected int y;
+	@Shadow
+	protected int backgroundHeight;
+	@Shadow
+	protected int backgroundWidth;
 	@Unique
 	public CustomGui override;
 	@Unique
 	public boolean hasRememberedSlots = false;
+	@Unique
+	private int originalBackgroundWidth;
+	@Unique
+	private int originalBackgroundHeight;
 
 	protected PatchHandledScreen(Text title) {
 		super(title);
@@ -51,6 +59,14 @@ public class PatchHandledScreen<T extends ScreenHandler> extends Screen implemen
 
 	@Override
 	public void setCustomGui_Firmament(@Nullable CustomGui gui) {
+		if (this.override != null) {
+			backgroundHeight = originalBackgroundHeight;
+			backgroundWidth = originalBackgroundWidth;
+		}
+		if (gui != null) {
+			originalBackgroundHeight = backgroundHeight;
+			originalBackgroundWidth = backgroundWidth;
+		}
 		this.override = gui;
 	}
 
-- 
cgit