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