aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2013-06-10 12:47:01 +0200
committerkaelima <kaelima@live.se>2013-06-10 12:47:01 +0200
commit1455a08906d2cfa21683b875aa61edf4b4858194 (patch)
tree17eef525af0ac52ff574e6c4f1dfc951c179963b /src
parent5f33bfb9254f490efc2cc53285f686644b102928 (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.cpp9
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h12
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp3
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)
{