diff options
| author | kaelima <kaelima@live.se> | 2013-06-10 12:47:01 +0200 |
|---|---|---|
| committer | kaelima <kaelima@live.se> | 2013-06-10 12:47:01 +0200 |
| commit | 1455a08906d2cfa21683b875aa61edf4b4858194 (patch) | |
| tree | 17eef525af0ac52ff574e6c4f1dfc951c179963b /src | |
| parent | 5f33bfb9254f490efc2cc53285f686644b102928 (diff) | |
Core/Auctionhouse: Fix crash when reloading AH items
- Removed a really strange comment
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.h | 12 | ||||
| -rw-r--r-- | src/server/game/Handlers/AuctionHouseHandler.cpp | 3 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 9b98e99e326..8b994545536 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -253,6 +253,15 @@ void AuctionHouseMgr::LoadAuctionItems() { uint32 oldMSTime = getMSTime(); + // need to clear in case we are reloading + if (!mAitems.empty()) + { + for (ItemMap::iterator itr = mAitems.begin(); itr != mAitems.end(); ++itr) + delete itr->second; + + mAitems.clear(); + } + // data needs to be at first place for Item::LoadFromDB PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_AUCTION_ITEMS); PreparedQueryResult result = CharacterDatabase.Query(stmt); diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index e0e972c5d40..4892821cb94 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -35,17 +35,21 @@ class WorldPacket; enum AuctionError { ERR_AUCTION_OK = 0, + ERR_AUCTION_INVENTORY = 1, ERR_AUCTION_DATABASE_ERROR = 2, ERR_AUCTION_NOT_ENOUGHT_MONEY = 3, ERR_AUCTION_ITEM_NOT_FOUND = 4, - ERR_AUCTION_BID_OWN = 10 + ERR_AUCTION_HIGHER_BID = 5, + ERR_AUCTION_BID_INCREMENT = 7, + ERR_AUCTION_BID_OWN = 10, + ERR_AUCTION_RESTRICTED_ACCOUNT = 13 }; enum AuctionAction { - AUCTION_SELL_ITEM = 0, - AUCTION_CANCEL = 1, - AUCTION_PLACE_BID = 2 + AUCTION_SELL_ITEM = 0, + AUCTION_CANCEL = 1, + AUCTION_PLACE_BID = 2 }; enum MailAuctionAnswers diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 6f44b867c4b..d193852eb1c 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -30,9 +30,6 @@ #include "Util.h" #include "AccountMgr.h" -//please DO NOT use iterator++, because it is slower than ++iterator!!! -//post-incrementation is always slower than pre-incrementation ! - //void called when player click on auctioneer npc void WorldSession::HandleAuctionHelloOpcode(WorldPacket& recvData) { |
