diff --git a/QuickStack.dll b/QuickStack.dll index 997331c..440480b 100644 Binary files a/QuickStack.dll and b/QuickStack.dll differ diff --git a/Source/Patches.cs b/Source/Patches.cs index 4eabc13..5b49d49 100644 --- a/Source/Patches.cs +++ b/Source/Patches.cs @@ -226,6 +226,14 @@ public static void Postfix(bool _success, string _errorMsg, ReadOnlySpan containers) { XUiM_LootContainer.EItemMoveKind moveKind = GetMoveKind(StackType.QuickStack); - foreach (TEFeatureStorage container in containers) + try + { + foreach (TEFeatureStorage container in containers) + { + XUiM_LootContainer.StashItems(backpackWindow, backpackWindow.backpackGrid, container, 0, backpackWindow.standardControls.LockedSlots, moveKind, backpackWindow.standardControls.MoveStartBottomRight); + container.SetModified(); + } + } + finally { - XUiM_LootContainer.StashItems(backpackWindow, backpackWindow.backpackGrid, container, 0, backpackWindow.standardControls.LockedSlots, moveKind, backpackWindow.standardControls.MoveStartBottomRight); - container.SetModified(); + LockManager.Instance.UnlockRequestLocal(); } - - LockManager.Instance.UnlockRequestLocal(); } public static void DoQuickRestock(ReadOnlySpan containers) @@ -168,15 +173,20 @@ public static void DoQuickRestock(ReadOnlySpan containers) ITileEntityLootable previousTileEntity = lootWindow.te; string previousName = lootWindow.lootContainerName; - foreach (TEFeatureStorage container in containers) + try + { + foreach (TEFeatureStorage container in containers) + { + lootWindow.SetTileEntityChest("QuickRestock", container); + XUiM_LootContainer.StashItems(backpackWindow, lootWindow.lootContainer, localPlayerUI.mXUi.PlayerInventory, 0, lootWindow.standardControls.LockedSlots, moveKind, lootWindow.standardControls.MoveStartBottomRight); + container.SetModified(); + } + } + finally { - lootWindow.SetTileEntityChest("QuickRestock", container); - XUiM_LootContainer.StashItems(backpackWindow, lootWindow.lootContainer, localPlayerUI.mXUi.PlayerInventory, 0, lootWindow.standardControls.LockedSlots, moveKind, lootWindow.standardControls.MoveStartBottomRight); - container.SetModified(); + lootWindow.SetTileEntityChest(previousName, previousTileEntity); + LockManager.Instance.UnlockRequestLocal(); } - - lootWindow.SetTileEntityChest(previousName, previousTileEntity); - LockManager.Instance.UnlockRequestLocal(); } public static void InitializeQuickLock(XUiC_ItemStackGrid grid, XUiC_ContainerStandardControls controls)