diff options
Diffstat (limited to 'src/net/eathena')
61 files changed, 236 insertions, 8 deletions
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 87ab97fec..45cfb9ed5 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -43,6 +43,11 @@ AdminHandler::AdminHandler() : adminHandler = this; } +AdminHandler::~AdminHandler() +{ + adminHandler = nullptr; +} + void AdminHandler::announce(const std::string &text) const { createOutPacket(CMSG_ADMIN_ANNOUNCE); diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 0c9e25e72..2cee9a354 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -35,6 +35,8 @@ class AdminHandler final : public Ea::AdminHandler A_DELETE_COPY(AdminHandler) + ~AdminHandler(); + void announce(const std::string &text) const override final; void localAnnounce(const std::string &text) const override final; diff --git a/src/net/eathena/auctionhandler.cpp b/src/net/eathena/auctionhandler.cpp index 24c09f16a..709e15138 100644 --- a/src/net/eathena/auctionhandler.cpp +++ b/src/net/eathena/auctionhandler.cpp @@ -37,6 +37,11 @@ AuctionHandler::AuctionHandler() auctionHandler = this; } +AuctionHandler::~AuctionHandler() +{ + auctionHandler = nullptr; +} + void AuctionHandler::cancelReg() const { createOutPacket(CMSG_AUCTION_CANCEL_REG); diff --git a/src/net/eathena/auctionhandler.h b/src/net/eathena/auctionhandler.h index 21b70a4d5..097f4ca3b 100644 --- a/src/net/eathena/auctionhandler.h +++ b/src/net/eathena/auctionhandler.h @@ -32,6 +32,8 @@ class AuctionHandler final : public Net::AuctionHandler A_DELETE_COPY(AuctionHandler) + ~AuctionHandler(); + void cancelReg() const override final; void setItem(const Item *const item, diff --git a/src/net/eathena/bankhandler.cpp b/src/net/eathena/bankhandler.cpp index 8c73bad91..19d600059 100644 --- a/src/net/eathena/bankhandler.cpp +++ b/src/net/eathena/bankhandler.cpp @@ -36,6 +36,11 @@ BankHandler::BankHandler() : bankHandler = this; } +BankHandler::~BankHandler() +{ + bankHandler = nullptr; +} + void BankHandler::deposit(const int money) const { if (packetVersion < 20130320) diff --git a/src/net/eathena/bankhandler.h b/src/net/eathena/bankhandler.h index 3686eee94..0e890a61e 100644 --- a/src/net/eathena/bankhandler.h +++ b/src/net/eathena/bankhandler.h @@ -32,6 +32,8 @@ class BankHandler final : public Net::BankHandler A_DELETE_COPY(BankHandler) + ~BankHandler(); + void deposit(const int money) const override final; void withdraw(const int money) const override final; diff --git a/src/net/eathena/battlegroundhandler.cpp b/src/net/eathena/battlegroundhandler.cpp index 606b90cc1..09bc28a01 100644 --- a/src/net/eathena/battlegroundhandler.cpp +++ b/src/net/eathena/battlegroundhandler.cpp @@ -35,6 +35,11 @@ BattleGroundHandler::BattleGroundHandler() battleGroundHandler = this; } +BattleGroundHandler::~BattleGroundHandler() +{ + battleGroundHandler = nullptr; +} + void BattleGroundHandler::registerBg(const BattleGroundTypeT &type, const std::string &name) const { diff --git a/src/net/eathena/battlegroundhandler.h b/src/net/eathena/battlegroundhandler.h index 7dca88a08..230146963 100644 --- a/src/net/eathena/battlegroundhandler.h +++ b/src/net/eathena/battlegroundhandler.h @@ -32,6 +32,8 @@ class BattleGroundHandler final : public Net::BattleGroundHandler A_DELETE_COPY(BattleGroundHandler) + ~BattleGroundHandler(); + void registerBg(const BattleGroundTypeT &type, const std::string &name) const override final; diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index d87b37b3d..d53848654 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -40,6 +40,11 @@ BeingHandler::BeingHandler(const bool enableSync) : beingHandler = this; } +BeingHandler::~BeingHandler() +{ + beingHandler = nullptr; +} + void BeingHandler::requestNameById(const BeingId id) const { createOutPacket(CMSG_NAME_REQUEST); diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index 0574f5270..cb8f8c248 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -35,6 +35,8 @@ class BeingHandler final : public Ea::BeingHandler A_DELETE_COPY(BeingHandler) + ~BeingHandler(); + void requestNameById(const BeingId id) const override final; void undress(Being *const being) const override final; diff --git a/src/net/eathena/buyingstorehandler.cpp b/src/net/eathena/buyingstorehandler.cpp index ae2157452..c4d172b89 100644 --- a/src/net/eathena/buyingstorehandler.cpp +++ b/src/net/eathena/buyingstorehandler.cpp @@ -44,6 +44,11 @@ BuyingStoreHandler::BuyingStoreHandler() buyingStoreHandler = this; } +BuyingStoreHandler::~BuyingStoreHandler() +{ + buyingStoreHandler = nullptr; +} + void BuyingStoreHandler::create(const std::string &name, const int maxMoney, const bool flag, diff --git a/src/net/eathena/buyingstorehandler.h b/src/net/eathena/buyingstorehandler.h index 61b412bd6..8aed152c9 100644 --- a/src/net/eathena/buyingstorehandler.h +++ b/src/net/eathena/buyingstorehandler.h @@ -32,6 +32,8 @@ class BuyingStoreHandler final : public Net::BuyingStoreHandler A_DELETE_COPY(BuyingStoreHandler) + ~BuyingStoreHandler(); + void create(const std::string &name, const int maxMoney, const bool flag, diff --git a/src/net/eathena/buysellhandler.cpp b/src/net/eathena/buysellhandler.cpp index 19d555ff3..6858f0808 100644 --- a/src/net/eathena/buysellhandler.cpp +++ b/src/net/eathena/buysellhandler.cpp @@ -41,6 +41,11 @@ BuySellHandler::BuySellHandler() : Ea::BuySellRecv::mBuyDialog = nullptr; } +BuySellHandler::~BuySellHandler() +{ + buySellHandler = nullptr; +} + void BuySellHandler::requestSellList(const std::string &nick A_UNUSED) const { } diff --git a/src/net/eathena/buysellhandler.h b/src/net/eathena/buysellhandler.h index 22a717424..b7aea35c7 100644 --- a/src/net/eathena/buysellhandler.h +++ b/src/net/eathena/buysellhandler.h @@ -35,6 +35,8 @@ class BuySellHandler final : public Ea::BuySellHandler A_DELETE_COPY(BuySellHandler) + ~BuySellHandler(); + void requestSellList(const std::string &nick) const override final A_CONST; diff --git a/src/net/eathena/cashshophandler.cpp b/src/net/eathena/cashshophandler.cpp index c693cb1f0..2e1e9cde4 100644 --- a/src/net/eathena/cashshophandler.cpp +++ b/src/net/eathena/cashshophandler.cpp @@ -42,6 +42,11 @@ CashShopHandler::CashShopHandler() : CashShopRecv::mBuyDialog = nullptr; } +CashShopHandler::~CashShopHandler() +{ + cashShopHandler = nullptr; +} + void CashShopHandler::buyItem(const int points, const int itemId, const ItemColor color A_UNUSED, diff --git a/src/net/eathena/cashshophandler.h b/src/net/eathena/cashshophandler.h index 8adfec064..7294b5cae 100644 --- a/src/net/eathena/cashshophandler.h +++ b/src/net/eathena/cashshophandler.h @@ -32,6 +32,8 @@ class CashShopHandler final : public Net::CashShopHandler A_DELETE_COPY(CashShopHandler) + ~CashShopHandler(); + void buyItem(const int points, const int itemId, const ItemColor color, diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index f9cd6729d..18273de0a 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -58,6 +58,11 @@ CharServerHandler::CharServerHandler() : charServerHandler = this; } +CharServerHandler::~CharServerHandler() +{ + charServerHandler = nullptr; +} + void CharServerHandler::chooseCharacter(Net::Character *const character) const { if (character == nullptr) diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index 20b467120..cef8f868e 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -38,6 +38,8 @@ class CharServerHandler final : public Ea::CharServerHandler A_DELETE_COPY(CharServerHandler) + ~CharServerHandler(); + void chooseCharacter(Net::Character *const character) const override final; diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp index 0b630ee63..6b8e0517b 100644 --- a/src/net/eathena/chathandler.cpp +++ b/src/net/eathena/chathandler.cpp @@ -49,6 +49,11 @@ ChatHandler::ChatHandler() : chatHandler = this; } +ChatHandler::~ChatHandler() +{ + chatHandler = nullptr; +} + void ChatHandler::talk(const std::string &restrict text, const std::string &restrict channel A_UNUSED) const { diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h index 6ed4dac0c..685327cd3 100644 --- a/src/net/eathena/chathandler.h +++ b/src/net/eathena/chathandler.h @@ -36,6 +36,8 @@ class ChatHandler final : public Ea::ChatHandler A_DELETE_COPY(ChatHandler) + ~ChatHandler(); + void talk(const std::string &restrict text, const std::string &restrict channel) const override final; diff --git a/src/net/eathena/elementalhandler.cpp b/src/net/eathena/elementalhandler.cpp index cc27fc39b..8a8fa56bb 100644 --- a/src/net/eathena/elementalhandler.cpp +++ b/src/net/eathena/elementalhandler.cpp @@ -31,4 +31,9 @@ ElementalHandler::ElementalHandler() : elementalHandler = this; } +ElementalHandler::~ElementalHandler() +{ + elementalHandler = nullptr; +} + } // namespace EAthena diff --git a/src/net/eathena/elementalhandler.h b/src/net/eathena/elementalhandler.h index 12b889959..517b74a30 100644 --- a/src/net/eathena/elementalhandler.h +++ b/src/net/eathena/elementalhandler.h @@ -31,6 +31,8 @@ class ElementalHandler final : public Net::ElementalHandler ElementalHandler(); A_DELETE_COPY(ElementalHandler) + + ~ElementalHandler(); }; } // namespace EAthena diff --git a/src/net/eathena/familyhandler.cpp b/src/net/eathena/familyhandler.cpp index e475503f0..5ec423ce5 100644 --- a/src/net/eathena/familyhandler.cpp +++ b/src/net/eathena/familyhandler.cpp @@ -40,6 +40,11 @@ FamilyHandler::FamilyHandler() : familyHandler = this; } +FamilyHandler::~FamilyHandler() +{ + familyHandler = nullptr; +} + void FamilyHandler::askForChild(const Being *const being) const { if (being == nullptr) diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h index bd40a5610..91531fb2d 100644 --- a/src/net/eathena/familyhandler.h +++ b/src/net/eathena/familyhandler.h @@ -32,6 +32,8 @@ class FamilyHandler final : public Net::FamilyHandler A_DELETE_COPY(FamilyHandler) + ~FamilyHandler(); + void askForChild(const Being *const being) const override final; void askForChildReply(const bool accept) const override final; diff --git a/src/net/eathena/friendshandler.cpp b/src/net/eathena/friendshandler.cpp index e18f179bf..000ea909d 100644 --- a/src/net/eathena/friendshandler.cpp +++ b/src/net/eathena/friendshandler.cpp @@ -33,6 +33,11 @@ FriendsHandler::FriendsHandler() friendsHandler = this; } +FriendsHandler::~FriendsHandler() +{ + friendsHandler = nullptr; +} + void FriendsHandler::invite(const std::string &name) const { createOutPacket(CMSG_FRIENDS_ADD_PLAYER); diff --git a/src/net/eathena/friendshandler.h b/src/net/eathena/friendshandler.h index 47de5a35a..7b985e0ca 100644 --- a/src/net/eathena/friendshandler.h +++ b/src/net/eathena/friendshandler.h @@ -32,6 +32,8 @@ class FriendsHandler final : public Net::FriendsHandler A_DELETE_COPY(FriendsHandler) + ~FriendsHandler(); + void invite(const std::string &name) const override final; void inviteResponse(const int accountId, diff --git a/src/net/eathena/gamehandler.cpp b/src/net/eathena/gamehandler.cpp index ca7fdf81a..1878e2298 100644 --- a/src/net/eathena/gamehandler.cpp +++ b/src/net/eathena/gamehandler.cpp @@ -52,6 +52,11 @@ GameHandler::GameHandler() : gameHandler = this; } +GameHandler::~GameHandler() +{ + gameHandler = nullptr; +} + void GameHandler::mapLoadedEvent() const { createOutPacket(CMSG_MAP_LOADED); diff --git a/src/net/eathena/gamehandler.h b/src/net/eathena/gamehandler.h index 76466db94..4b2725a2f 100644 --- a/src/net/eathena/gamehandler.h +++ b/src/net/eathena/gamehandler.h @@ -35,6 +35,8 @@ class GameHandler final : public Ea::GameHandler A_DELETE_COPY(GameHandler) + ~GameHandler(); + void connect() const override final; bool isConnected() const override final A_WARN_UNUSED; diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp index 71187cac7..9758b8a7d 100644 --- a/src/net/eathena/generalhandler.cpp +++ b/src/net/eathena/generalhandler.cpp @@ -117,6 +117,41 @@ GeneralHandler::GeneralHandler() : GeneralHandler::~GeneralHandler() { delete2(Network::mInstance); + + delete2(mAdminHandler); + delete2(mBeingHandler); + delete2(mBuySellHandler); + delete2(mCharServerHandler); + delete2(mChatHandler); + delete2(mGameHandler); + delete2(mGuildHandler); + delete2(mInventoryHandler); + delete2(mItemHandler); + delete2(mLoginHandler); + delete2(mNpcHandler); + delete2(mPartyHandler); + delete2(mPetHandler); + delete2(mPlayerHandler); + delete2(mSkillHandler); + delete2(mTradeHandler); + delete2(mQuestHandler); + delete2(mServerFeatures); + delete2(mMailHandler); + delete2(mAuctionHandler); + delete2(mCashShopHandler); + delete2(mFamilyHandler); + delete2(mBankHandler); + delete2(mBattleGroundHandler); + delete2(mMercenaryHandler); + delete2(mBuyingStoreHandler); + delete2(mHomunculusHandler); + delete2(mFriendsHandler); + delete2(mElementalHandler); + delete2(mMapHandler); + delete2(mMarketHandler); + delete2(mVendingHandler); + delete2(mRouletteHandler); + delete2(mSearchStoreHandler); } void GeneralHandler::load() const diff --git a/src/net/eathena/guildhandler.cpp b/src/net/eathena/guildhandler.cpp index 178a628fc..b55918f85 100644 --- a/src/net/eathena/guildhandler.cpp +++ b/src/net/eathena/guildhandler.cpp @@ -53,6 +53,8 @@ GuildHandler::GuildHandler() : GuildHandler::~GuildHandler() { delete2(guildTab); + guildHandler = nullptr; + taGuild = nullptr; } void GuildHandler::clear() const diff --git a/src/net/eathena/homunculushandler.cpp b/src/net/eathena/homunculushandler.cpp index 482d29bce..3a3021387 100644 --- a/src/net/eathena/homunculushandler.cpp +++ b/src/net/eathena/homunculushandler.cpp @@ -39,6 +39,11 @@ HomunculusHandler::HomunculusHandler() homunculusHandler = this; } +HomunculusHandler::~HomunculusHandler() +{ + homunculusHandler = nullptr; +} + void HomunculusHandler::setName(const std::string &name) const { createOutPacket(CMSG_HOMUNCULUS_SET_NAME); diff --git a/src/net/eathena/homunculushandler.h b/src/net/eathena/homunculushandler.h index 868f22e89..817c6ee75 100644 --- a/src/net/eathena/homunculushandler.h +++ b/src/net/eathena/homunculushandler.h @@ -32,6 +32,8 @@ class HomunculusHandler final : public Net::HomunculusHandler A_DELETE_COPY(HomunculusHandler) + ~HomunculusHandler(); + void setName(const std::string &name) const override final; void moveToMaster() const override final; diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp index ed9296a8b..f59dc4c6c 100644 --- a/src/net/eathena/inventoryhandler.cpp +++ b/src/net/eathena/inventoryhandler.cpp @@ -77,6 +77,7 @@ InventoryHandler::InventoryHandler() : InventoryHandler::~InventoryHandler() { + inventoryHandler = nullptr; } void InventoryHandler::equipItem(const Item *const item) const diff --git a/src/net/eathena/loginhandler.cpp b/src/net/eathena/loginhandler.cpp index 1c8e25e69..35a8cf77f 100644 --- a/src/net/eathena/loginhandler.cpp +++ b/src/net/eathena/loginhandler.cpp @@ -48,6 +48,7 @@ LoginHandler::LoginHandler() : LoginHandler::~LoginHandler() { + loginHandler = nullptr; } void LoginHandler::connect() const diff --git a/src/net/eathena/mailhandler.cpp b/src/net/eathena/mailhandler.cpp index 4ecbfdda4..44edeb5bd 100644 --- a/src/net/eathena/mailhandler.cpp +++ b/src/net/eathena/mailhandler.cpp @@ -35,6 +35,11 @@ MailHandler::MailHandler() mailHandler = this; } +MailHandler::~MailHandler() +{ + mailHandler = nullptr; +} + void MailHandler::refresh() const { createOutPacket(CMSG_MAIL_REFRESH_INBOX); diff --git a/src/net/eathena/mailhandler.h b/src/net/eathena/mailhandler.h index e7bd13004..4d55238a6 100644 --- a/src/net/eathena/mailhandler.h +++ b/src/net/eathena/mailhandler.h @@ -33,6 +33,8 @@ class MailHandler final : public Net::MailHandler A_DELETE_COPY(MailHandler) + ~MailHandler(); + void refresh() const override final; void readMessage(const int msgId) const override final; diff --git a/src/net/eathena/maphandler.cpp b/src/net/eathena/maphandler.cpp index 042f87778..b16fc664f 100644 --- a/src/net/eathena/maphandler.cpp +++ b/src/net/eathena/maphandler.cpp @@ -31,4 +31,9 @@ MapHandler::MapHandler() : mapHandler = this; } +MapHandler::~MapHandler() +{ + mapHandler = nullptr; +} + } // namespace EAthena diff --git a/src/net/eathena/maphandler.h b/src/net/eathena/maphandler.h index 432039209..d9da12ded 100644 --- a/src/net/eathena/maphandler.h +++ b/src/net/eathena/maphandler.h @@ -38,14 +38,7 @@ class MapHandler final : public Net::MapHandler A_DELETE_COPY(MapHandler) - protected: - void processInstanceStart(Net::MessageIn &msg); - - void processInstanceCreate(Net::MessageIn &msg); - - void processInstanceInfo(Net::MessageIn &msg); - - void processInstanceDelete(Net::MessageIn &msg); + ~MapHandler(); }; } // namespace EAthena diff --git a/src/net/eathena/markethandler.cpp b/src/net/eathena/markethandler.cpp index 98b8b5d9f..46bf44027 100644 --- a/src/net/eathena/markethandler.cpp +++ b/src/net/eathena/markethandler.cpp @@ -42,6 +42,11 @@ MarketHandler::MarketHandler() : MarketRecv::mBuyDialog = nullptr; } +MarketHandler::~MarketHandler() +{ + marketHandler = nullptr; +} + void MarketHandler::close() const { if (packetVersion < 20131218) diff --git a/src/net/eathena/markethandler.h b/src/net/eathena/markethandler.h index 8fe2c4bfb..c06018c0b 100644 --- a/src/net/eathena/markethandler.h +++ b/src/net/eathena/markethandler.h @@ -33,6 +33,8 @@ class MarketHandler final : public Net::MarketHandler A_DELETE_COPY(MarketHandler) + ~MarketHandler(); + void close() const override final; void buyItem(const int itemId, diff --git a/src/net/eathena/mercenaryhandler.cpp b/src/net/eathena/mercenaryhandler.cpp index 0159a5cbd..ffb1b5b2c 100644 --- a/src/net/eathena/mercenaryhandler.cpp +++ b/src/net/eathena/mercenaryhandler.cpp @@ -37,6 +37,11 @@ MercenaryHandler::MercenaryHandler() mercenaryHandler = this; } +MercenaryHandler::~MercenaryHandler() +{ + mercenaryHandler = nullptr; +} + void MercenaryHandler::fire() const { createOutPacket(CMSG_MERCENARY_ACTION); diff --git a/src/net/eathena/mercenaryhandler.h b/src/net/eathena/mercenaryhandler.h index 05a5363e4..bd5e06b14 100644 --- a/src/net/eathena/mercenaryhandler.h +++ b/src/net/eathena/mercenaryhandler.h @@ -32,6 +32,8 @@ class MercenaryHandler final : public Net::MercenaryHandler A_DELETE_COPY(MercenaryHandler) + ~MercenaryHandler(); + void fire() const override final; void moveToMaster() const override final; diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp index 65e05e866..50d076ec4 100644 --- a/src/net/eathena/npchandler.cpp +++ b/src/net/eathena/npchandler.cpp @@ -56,6 +56,11 @@ NpcHandler::NpcHandler() : npcHandler = this; } +NpcHandler::~NpcHandler() +{ + npcHandler = nullptr; +} + void NpcHandler::talk(const Being *const being) const { if (being == nullptr) diff --git a/src/net/eathena/npchandler.h b/src/net/eathena/npchandler.h index f1f259718..e5177d7c9 100644 --- a/src/net/eathena/npchandler.h +++ b/src/net/eathena/npchandler.h @@ -35,6 +35,8 @@ class NpcHandler final : public Ea::NpcHandler A_DELETE_COPY(NpcHandler) + ~NpcHandler(); + void talk(const Being *const being) const override final; void nextDialog(const BeingId npcId) const override final; diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp index 7f59ec4db..bc3bcfb83 100644 --- a/src/net/eathena/partyhandler.cpp +++ b/src/net/eathena/partyhandler.cpp @@ -50,6 +50,7 @@ PartyHandler::PartyHandler() : PartyHandler::~PartyHandler() { + partyHandler = nullptr; } void PartyHandler::create(const std::string &name) const diff --git a/src/net/eathena/pethandler.cpp b/src/net/eathena/pethandler.cpp index 043acbedc..28624e285 100644 --- a/src/net/eathena/pethandler.cpp +++ b/src/net/eathena/pethandler.cpp @@ -37,6 +37,11 @@ PetHandler::PetHandler() petHandler = this; } +PetHandler::~PetHandler() +{ + petHandler = nullptr; +} + void PetHandler::move(const int x, const int y) const { diff --git a/src/net/eathena/pethandler.h b/src/net/eathena/pethandler.h index 449daac43..9785ade7d 100644 --- a/src/net/eathena/pethandler.h +++ b/src/net/eathena/pethandler.h @@ -33,6 +33,8 @@ class PetHandler final : public Net::PetHandler A_DELETE_COPY(PetHandler) + ~PetHandler(); + void move(const int x, const int y) const override final; diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp index 02c56c869..4c728fb2f 100644 --- a/src/net/eathena/playerhandler.cpp +++ b/src/net/eathena/playerhandler.cpp @@ -56,6 +56,11 @@ PlayerHandler::PlayerHandler() : playerHandler = this; } +PlayerHandler::~PlayerHandler() +{ + playerHandler = nullptr; +} + void PlayerHandler::attack(const BeingId id, const Keep keep) const { diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h index 683e761b9..1b000025c 100644 --- a/src/net/eathena/playerhandler.h +++ b/src/net/eathena/playerhandler.h @@ -35,6 +35,8 @@ class PlayerHandler final : public Ea::PlayerHandler A_DELETE_COPY(PlayerHandler) + ~PlayerHandler(); + void attack(const BeingId id, const Keep keep) const override final; void stopAttack() const override final; diff --git a/src/net/eathena/questhandler.cpp b/src/net/eathena/questhandler.cpp index 6af26f4fe..0db26ebf4 100644 --- a/src/net/eathena/questhandler.cpp +++ b/src/net/eathena/questhandler.cpp @@ -34,6 +34,11 @@ QuestHandler::QuestHandler() : questHandler = this; } +QuestHandler::~QuestHandler() +{ + questHandler = nullptr; +} + void QuestHandler::setQeustActiveState(const int questId, const bool active) const { diff --git a/src/net/eathena/questhandler.h b/src/net/eathena/questhandler.h index 5b857d384..2c5f18b67 100644 --- a/src/net/eathena/questhandler.h +++ b/src/net/eathena/questhandler.h @@ -33,6 +33,8 @@ class QuestHandler final : public Net::QuestHandler A_DELETE_COPY(QuestHandler) + ~QuestHandler(); + void setQeustActiveState(const int questId, const bool active) const override final; }; diff --git a/src/net/eathena/roulettehandler.cpp b/src/net/eathena/roulettehandler.cpp index 6e107af38..b0d9d2829 100644 --- a/src/net/eathena/roulettehandler.cpp +++ b/src/net/eathena/roulettehandler.cpp @@ -31,4 +31,9 @@ RouletteHandler::RouletteHandler() : rouletteHandler = this; } +RouletteHandler::~RouletteHandler() +{ + rouletteHandler = nullptr; +} + } // namespace EAthena diff --git a/src/net/eathena/roulettehandler.h b/src/net/eathena/roulettehandler.h index 09d5d94d7..861f54582 100644 --- a/src/net/eathena/roulettehandler.h +++ b/src/net/eathena/roulettehandler.h @@ -31,6 +31,8 @@ class RouletteHandler final : public Net::RouletteHandler RouletteHandler(); A_DELETE_COPY(RouletteHandler) + + ~RouletteHandler(); }; } // namespace EAthena diff --git a/src/net/eathena/searchstorehandler.cpp b/src/net/eathena/searchstorehandler.cpp index d9b4625cc..c8cd43d2d 100644 --- a/src/net/eathena/searchstorehandler.cpp +++ b/src/net/eathena/searchstorehandler.cpp @@ -36,6 +36,11 @@ SearchStoreHandler::SearchStoreHandler() : searchStoreHandler = this; } +SearchStoreHandler::~SearchStoreHandler() +{ + searchStoreHandler = nullptr; +} + void SearchStoreHandler::search(const StoreSearchTypeT type, const int minPrice, const int maxPrice, diff --git a/src/net/eathena/searchstorehandler.h b/src/net/eathena/searchstorehandler.h index 151086a0d..5e425e6e5 100644 --- a/src/net/eathena/searchstorehandler.h +++ b/src/net/eathena/searchstorehandler.h @@ -32,6 +32,8 @@ class SearchStoreHandler final : public Net::SearchStoreHandler A_DELETE_COPY(SearchStoreHandler) + ~SearchStoreHandler(); + void search(const StoreSearchTypeT type, const int minPrice, const int maxPrice, diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp index f3acb257f..ec8176eef 100644 --- a/src/net/eathena/skillhandler.cpp +++ b/src/net/eathena/skillhandler.cpp @@ -39,6 +39,11 @@ SkillHandler::SkillHandler() : skillHandler = this; } +SkillHandler::~SkillHandler() +{ + skillHandler = nullptr; +} + void SkillHandler::useBeing(const int id, const int level, const BeingId beingId) const { diff --git a/src/net/eathena/skillhandler.h b/src/net/eathena/skillhandler.h index 63ef06619..d615dac77 100644 --- a/src/net/eathena/skillhandler.h +++ b/src/net/eathena/skillhandler.h @@ -35,6 +35,8 @@ class SkillHandler final : public Ea::SkillHandler A_DELETE_COPY(SkillHandler) + ~SkillHandler(); + void useBeing(const int id, const int level, const BeingId beingId) const override final; diff --git a/src/net/eathena/tradehandler.cpp b/src/net/eathena/tradehandler.cpp index 94ea4fb9d..5c6877f5e 100644 --- a/src/net/eathena/tradehandler.cpp +++ b/src/net/eathena/tradehandler.cpp @@ -36,6 +36,7 @@ namespace EAthena { + TradeHandler::TradeHandler() : Ea::TradeHandler() { @@ -44,6 +45,11 @@ TradeHandler::TradeHandler() : TradeRecv::mQuantity = 0; } +TradeHandler::~TradeHandler() +{ + tradeHandler = nullptr; +} + void TradeHandler::request(const Being *const being) const { if (being == nullptr) diff --git a/src/net/eathena/tradehandler.h b/src/net/eathena/tradehandler.h index 5934544ea..0bf5b2eb2 100644 --- a/src/net/eathena/tradehandler.h +++ b/src/net/eathena/tradehandler.h @@ -35,6 +35,8 @@ class TradeHandler final : public Ea::TradeHandler A_DELETE_COPY(TradeHandler) + ~TradeHandler(); + void request(const Being *const being) const override final; void respond(const bool accept) const override final; diff --git a/src/net/eathena/vendinghandler.cpp b/src/net/eathena/vendinghandler.cpp index c5791cfd5..73fa5d12b 100644 --- a/src/net/eathena/vendinghandler.cpp +++ b/src/net/eathena/vendinghandler.cpp @@ -44,6 +44,11 @@ VendingHandler::VendingHandler() VendingRecv::mBuyDialog = nullptr; } +VendingHandler::~VendingHandler() +{ + vendingHandler = nullptr; +} + void VendingHandler::close() const { createOutPacket(CMSG_VENDING_CLOSE); diff --git a/src/net/eathena/vendinghandler.h b/src/net/eathena/vendinghandler.h index d8d3948f6..7929a6d19 100644 --- a/src/net/eathena/vendinghandler.h +++ b/src/net/eathena/vendinghandler.h @@ -32,6 +32,8 @@ class VendingHandler final : public Net::VendingHandler A_DELETE_COPY(VendingHandler) + ~VendingHandler(); + void close() const override final; void open(const Being *const being) const override final; |