[Memory Leak] Fix leak in NPC::RemoveItem (#4611)

* [Memory Leak] Fix leak in NPC::RemoveItem

* Update loot.cpp
This commit is contained in:
Chris Miles 2025-01-24 02:10:06 -06:00 committed by GitHub
parent 861eac3660
commit b2f71f16fc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -687,6 +687,7 @@ void NPC::RemoveItem(uint32 item_id, uint16 quantity, uint16 slot)
LootItem *item = *cur;
if (item->item_id == item_id && slot <= 0 && quantity <= 0) {
m_loot_items.erase(cur);
safe_delete(item);
UpdateEquipmentLight();
if (UpdateActiveLight()) { SendAppearancePacket(AppearanceType::Light, GetActiveLightType()); }
return;
@ -694,6 +695,7 @@ void NPC::RemoveItem(uint32 item_id, uint16 quantity, uint16 slot)
else if (item->item_id == item_id && item->equip_slot == slot && quantity >= 1) {
if (item->charges <= quantity) {
m_loot_items.erase(cur);
safe_delete(item);
UpdateEquipmentLight();
if (UpdateActiveLight()) { SendAppearancePacket(AppearanceType::Light, GetActiveLightType()); }
}