mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 21:56:22 +00:00
Fix corrupt item cache crashes, bot whispers, trade crashes
This commit is contained in:
@@ -597,6 +597,7 @@ public:
|
||||
[[nodiscard]] virtual std::string const& GetRealmName() const = 0;
|
||||
virtual void SetRealmName(std::string name) = 0;
|
||||
virtual void RemoveOldCorpses() = 0;
|
||||
virtual SQLQueryHolderCallback& AddQueryHolderCallback(SQLQueryHolderCallback&& callback) = 0;
|
||||
};
|
||||
|
||||
#endif //AZEROTHCORE_IWORLD_H
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
#include "ObjectMgr.h"
|
||||
#include "Opcodes.h"
|
||||
#include "OutdoorPvPMgr.h"
|
||||
#include "QueryHolder.h"
|
||||
#include "PetitionMgr.h"
|
||||
#include "Player.h"
|
||||
#include "PlayerDump.h"
|
||||
@@ -2459,6 +2460,7 @@ void World::Update(uint32 diff)
|
||||
CharacterDatabase.KeepAlive();
|
||||
LoginDatabase.KeepAlive();
|
||||
WorldDatabase.KeepAlive();
|
||||
sScriptMgr->OnDatabasesKeepAlive();
|
||||
}
|
||||
|
||||
{
|
||||
@@ -3302,6 +3304,8 @@ void World::LoadDBRevision()
|
||||
{
|
||||
m_AuthDBRevision = "Unkown Auth Database Revision";
|
||||
}
|
||||
|
||||
sScriptMgr->OnDatabaseGetDBRevision(m_PlayerbotsDBRevision);
|
||||
}
|
||||
|
||||
void World::UpdateAreaDependentAuras()
|
||||
@@ -3369,6 +3373,12 @@ uint64 World::getWorldState(uint32 index) const
|
||||
void World::ProcessQueryCallbacks()
|
||||
{
|
||||
_queryProcessor.ProcessReadyCallbacks();
|
||||
_queryHolderProcessor.ProcessReadyCallbacks();
|
||||
}
|
||||
|
||||
SQLQueryHolderCallback& World::AddQueryHolderCallback(SQLQueryHolderCallback&& callback)
|
||||
{
|
||||
return _queryHolderProcessor.AddCallback(std::move(callback));
|
||||
}
|
||||
|
||||
void World::RemoveOldCorpses()
|
||||
|
||||
@@ -377,6 +377,9 @@ protected:
|
||||
void ResetRandomBG();
|
||||
void CalendarDeleteOldEvents();
|
||||
void ResetGuildCap();
|
||||
|
||||
SQLQueryHolderCallback& AddQueryHolderCallback(SQLQueryHolderCallback&& callback) override;
|
||||
|
||||
private:
|
||||
static std::atomic_long m_stopEvent;
|
||||
static uint8 m_ExitCode;
|
||||
@@ -457,6 +460,7 @@ private:
|
||||
|
||||
void ProcessQueryCallbacks();
|
||||
QueryCallbackProcessor _queryProcessor;
|
||||
AsyncCallbackProcessor<SQLQueryHolderCallback> _queryHolderProcessor;
|
||||
|
||||
/**
|
||||
* @brief Executed when a World Session is being finalized. Be it from a normal login or via queue popping.
|
||||
|
||||
Reference in New Issue
Block a user