From 17aeeaa9b57c5c430dcb9cd5e1e3ac42acf6b3d5 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Wed, 21 Dec 2011 09:33:01 +0100 Subject: Core/DBLayer: Fix a silly error in HandleStableSwapPet (synchronous query in async context). Fixes possible loss of pets when swapping. --- src/server/game/Server/Protocol/Handlers/NPCHandler.cpp | 2 +- src/server/shared/Threading/Callback.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp index 9d1e806dada..92f4a0380f9 100755 --- a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp @@ -805,7 +805,7 @@ void WorldSession::HandleStableSwapPet(WorldPacket & recv_data) // find swapped pet slot in stable _stableSwapCallback.SetParam(pet_number); _stableSwapCallback.SetFutureResult( - CharacterDatabase.PQuery("SELECT slot, entry FROM character_pet WHERE owner = '%u' AND id = '%u'", + CharacterDatabase.AsyncPQuery("SELECT slot, entry FROM character_pet WHERE owner = '%u' AND id = '%u'", _player->GetGUIDLow(), pet_number) ); } diff --git a/src/server/shared/Threading/Callback.h b/src/server/shared/Threading/Callback.h index b179b215253..f8c3118ec8e 100755 --- a/src/server/shared/Threading/Callback.h +++ b/src/server/shared/Threading/Callback.h @@ -35,6 +35,7 @@ class QueryCallback public: QueryCallback() {} + //! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery void SetFutureResult(ACE_Future value) { result = value; @@ -81,6 +82,7 @@ class QueryCallback_2 public: QueryCallback_2() {} + //! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery void SetFutureResult(ACE_Future value) { result = value; -- cgit v1.2.3