Skip to content

Commit a36de20

Browse files
committed
Always clear async query queue on reload
1 parent ca0898e commit a36de20

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

LuaEngine.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ void Eluna::_ReloadEluna()
3434
// Remove all timed events
3535
eventMgr->SetStates(LUAEVENT_STATE_ERASE);
3636

37+
#if defined ELUNA_TRINITY
38+
// Cancel all pending async queries
39+
GetQueryProcessor().CancelAll();
40+
#endif
41+
3742
// Close lua
3843
CloseLua();
3944

@@ -866,10 +871,7 @@ int Eluna::Register(std::underlying_type_t<Hooks::RegisterTypes> regtype, uint32
866871
void Eluna::UpdateEluna(uint32 diff)
867872
{
868873
if (reload && sElunaLoader->GetCacheState() == SCRIPT_CACHE_READY)
869-
#if defined ELUNA_TRINITY
870-
if(!GetQueryProcessor().HasPendingCallbacks())
871-
#endif
872-
_ReloadEluna();
874+
_ReloadEluna();
873875

874876
eventMgr->globalProcessor->Update(diff);
875877
#if defined ELUNA_TRINITY

LuaEngine.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,13 @@ class ELUNA_GAME_API Eluna
245245
template<typename T>
246246
void HookPush(T const* ptr) { Push(ptr); ++push_counter; }
247247

248+
QueryCallbackProcessor queryProcessor;
248249
public:
249250

250251
lua_State* L;
251252
std::unique_ptr<EventMgr> eventMgr;
252253

253254
#if defined ELUNA_TRINITY
254-
QueryCallbackProcessor queryProcessor;
255255
QueryCallbackProcessor& GetQueryProcessor() { return queryProcessor; }
256256
#endif
257257

0 commit comments

Comments
 (0)