From 776661e73956e7522c715ba7a4d1d0deb1a472b4 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 16 Feb 2022 13:26:21 -0500 Subject: [PATCH] v1.2.0: fixed keyblocker triggering in some cases when it shouldn't --- .../shatteredpixeldungeon/ui/InventoryPane.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/InventoryPane.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/InventoryPane.java index 7eaf9ee81..6a6d6674a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/InventoryPane.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/InventoryPane.java @@ -66,7 +66,7 @@ public class InventoryPane extends Component { //used to prevent clicks through the BG normally, or to cancel selectors if they're enabled private PointerArea blocker; - private Signal.Listener keyBlocker; + private Signal.Listener keyBlocker; private static InventoryPane instance; @@ -107,6 +107,7 @@ public class InventoryPane extends Component { @Override public synchronized void destroy() { + KeyEvent.removeKeyListener(keyBlocker); super.destroy(); if (instance == this) instance = null; } @@ -139,7 +140,7 @@ public class InventoryPane extends Component { keyBlocker = new Signal.Listener(){ @Override public boolean onSignal(KeyEvent keyEvent) { - if (keyEvent.pressed && isSelecting() + if (keyEvent.pressed && isSelecting() && InventoryPane.this.visible && KeyBindings.getActionForKey(keyEvent) != SPDAction.BAG_1 && KeyBindings.getActionForKey(keyEvent) != SPDAction.BAG_2 && KeyBindings.getActionForKey(keyEvent) != SPDAction.BAG_3