Browse Source

Inventory: Add remaining items into the source slot directly (#14021)

Remaining items are added into the source slot directly when left-dragging over the source slot.
Muhammad Rifqi Priyo Susanto 6 months ago
parent
commit
047520d91e
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/gui/guiFormSpecMenu.cpp

+ 2 - 1
src/gui/guiFormSpecMenu.cpp

@@ -4692,6 +4692,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
 			// The split amount will always at least one, because the number
 			// of slots will never be greater than the selected amount
 			u16 split_amount = m_left_drag_amount / m_left_drag_stacks.size();
+			u16 split_remaining = m_left_drag_amount % m_left_drag_stacks.size();
 
 			ItemStack stack_from = m_left_drag_stack;
 			m_selected_amount = m_left_drag_amount;
@@ -4702,7 +4703,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
 
 				if (ds.first == *m_selected_item) {
 					// Adding to the source stack, just change the selected amount
-					m_selected_amount -= split_amount;
+					m_selected_amount -= split_amount + split_remaining;
 
 				} else {
 					// Reset the stack to its original state