fix: preserve vendor canRepair flag when SMSG_LIST_INVENTORY arrives

ListInventoryParser::parse() overwrites currentVendorItems entirely,
resetting canRepair=false. Save the flag before parsing and restore it
after so the "Repair All" button remains visible when an armorer vendor
also sells items.
This commit is contained in:
Kelsi 2026-03-10 16:28:59 -07:00
parent 1793549550
commit 30058a8df5

View file

@ -15487,7 +15487,9 @@ void GameHandler::handleGossipComplete(network::Packet& packet) {
}
void GameHandler::handleListInventory(network::Packet& packet) {
bool savedCanRepair = currentVendorItems.canRepair; // preserve armorer flag set before openVendor()
if (!ListInventoryParser::parse(packet, currentVendorItems)) return;
currentVendorItems.canRepair = savedCanRepair;
vendorWindowOpen = true;
gossipWindowOpen = false; // Close gossip if vendor opens