From ebb2e503872eeefa0e071ed39ba2dcbc96c89d25 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sat, 19 Nov 2022 14:12:18 +0100 Subject: [PATCH] simple container action: commit action correctly --- .../minosoft/data/container/click/SimpleContainerAction.kt | 1 + .../de/bixilon/minosoft/data/container/stack/ItemStack.kt | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/data/container/click/SimpleContainerAction.kt b/src/main/java/de/bixilon/minosoft/data/container/click/SimpleContainerAction.kt index 599b28a1a..c6bf12033 100644 --- a/src/main/java/de/bixilon/minosoft/data/container/click/SimpleContainerAction.kt +++ b/src/main/java/de/bixilon/minosoft/data/container/click/SimpleContainerAction.kt @@ -82,6 +82,7 @@ class SimpleContainerAction( target.item._count -= subtract floatingItem.item._count += subtract } + target.commit(false) if (floatingItem._valid) { container.floatingItem = floatingItem diff --git a/src/main/java/de/bixilon/minosoft/data/container/stack/ItemStack.kt b/src/main/java/de/bixilon/minosoft/data/container/stack/ItemStack.kt index aa21918a8..cccd8126c 100644 --- a/src/main/java/de/bixilon/minosoft/data/container/stack/ItemStack.kt +++ b/src/main/java/de/bixilon/minosoft/data/container/stack/ItemStack.kt @@ -198,11 +198,13 @@ class ItemStack { lock.lock() } - fun commit() { + fun commit(unlock: Boolean = true) { if (!_valid) { holder?.container?._validate() } - lock.unlock() + if (unlock) { + lock.unlock() + } revision++ holder?.container?.apply { revision++ } // increase revision after unlock to prevent deadlock }