From 711c0dcb0af4946c2dadc4fedd062119efbd3542 Mon Sep 17 00:00:00 2001 From: Ressed <26176604+Ressed@users.noreply.github.com> Date: Mon, 28 Sep 2026 18:32:57 +0800 Subject: [PATCH] Fix inventory scrollbar's drag state after mouse release (#1666) --- src/main/java/appeng/client/gui/AEBaseGui.java | 8 ++++++++ src/main/java/appeng/client/gui/widgets/GuiScrollbar.java | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/appeng/client/gui/AEBaseGui.java b/src/main/java/appeng/client/gui/AEBaseGui.java index 841df41c8..5fe5a2d91 100644 --- a/src/main/java/appeng/client/gui/AEBaseGui.java +++ b/src/main/java/appeng/client/gui/AEBaseGui.java @@ -572,6 +572,14 @@ public abstract class AEBaseGui extends GuiContainer implements IGuiTooltipHandl super.mouseClickMove(x, y, c, d); } + @Override + protected void mouseMovedOrUp(final int mouseX, final int mouseY, final int state) { + if (state >= 0 && this.getScrollBar() != null) { + this.getScrollBar().release(); + } + super.mouseMovedOrUp(mouseX, mouseY, state); + } + @Override protected void handleMouseClick(final Slot slot, final int slotIdx, final int clickedButton, final int clickType) { if (clickType == 0 && this.draggedSlots.add(slot)) { diff --git a/src/main/java/appeng/client/gui/widgets/GuiScrollbar.java b/src/main/java/appeng/client/gui/widgets/GuiScrollbar.java index 9db40582a..2bce134ba 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiScrollbar.java +++ b/src/main/java/appeng/client/gui/widgets/GuiScrollbar.java @@ -157,6 +157,10 @@ public class GuiScrollbar implements IScrollSource { } } + public void release() { + this.isLatestClickOnScrollbar = false; + } + public void wheel(int delta) { delta = Math.max(Math.min(-delta, 1), -1); this.currentScroll += delta * this.pageSize;