Core/DBLayer: Fix a silly error in HandleStableSwapPet (synchronous query in async context). Fixes possible loss of pets when swapping.
This commit is contained in:
@@ -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)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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<Result> 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<Result> value)
|
||||
{
|
||||
result = value;
|
||||
|
||||
Reference in New Issue
Block a user