From 159881d24056c02f5b5c39bff81e6a503b75b82d Mon Sep 17 00:00:00 2001 From: Yuof <6691056+Yuof@users.noreply.github.com> Date: Wed, 15 Jul 2026 02:24:10 +0200 Subject: [PATCH] fix(Core/Player): remove deleted equip-probe items from the item update queue (#26606) --- src/server/game/Entities/Player/PlayerStorage.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index 62fc2df4a..308f502a7 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -1863,6 +1863,10 @@ InventoryResult Player::CanEquipNewItem(uint8 slot, uint16& dest, uint32 item, b if (pItem) { InventoryResult result = CanEquipItem(slot, dest, pItem, swap); + // Random-property items queue themselves on creation (SetItemRandomProperties + // -> SetState(ITEM_CHANGED, owner)); the probe must leave the update queue + // before deletion or the queue keeps a pointer to freed memory. + pItem->RemoveFromUpdateQueueOf(const_cast(this)); delete pItem; return result; }