diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 15c30e93..2027633c 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -2259,6 +2259,13 @@ void Sapphire::Entity::Player::addBuyBackItemForShop( uint32_t shopId, const Sap void Sapphire::Entity::Player::clearBuyBackMap() { + for( auto& list : m_shopBuyBackMap ) + { + for( auto& entry : list.second ) + { + deleteItemDb( entry.item ); + } + } m_shopBuyBackMap.clear(); } diff --git a/src/world/Session.cpp b/src/world/Session.cpp index 56bcc888..b446f293 100644 --- a/src/world/Session.cpp +++ b/src/world/Session.cpp @@ -72,6 +72,7 @@ void Sapphire::World::Session::close() // remove the session from the player if( m_pPlayer ) { + m_pPlayer->clearBuyBackMap(); // do one last update to db m_pPlayer->updateSql(); // reset the zone, so the zone handler knows to remove the actor