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
|
// find swapped pet slot in stable
|
||||||
_stableSwapCallback.SetParam(pet_number);
|
_stableSwapCallback.SetParam(pet_number);
|
||||||
_stableSwapCallback.SetFutureResult(
|
_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)
|
_player->GetGUIDLow(), pet_number)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ class QueryCallback
|
|||||||
public:
|
public:
|
||||||
QueryCallback() {}
|
QueryCallback() {}
|
||||||
|
|
||||||
|
//! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery
|
||||||
void SetFutureResult(ACE_Future<Result> value)
|
void SetFutureResult(ACE_Future<Result> value)
|
||||||
{
|
{
|
||||||
result = value;
|
result = value;
|
||||||
@@ -81,6 +82,7 @@ class QueryCallback_2
|
|||||||
public:
|
public:
|
||||||
QueryCallback_2() {}
|
QueryCallback_2() {}
|
||||||
|
|
||||||
|
//! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery
|
||||||
void SetFutureResult(ACE_Future<Result> value)
|
void SetFutureResult(ACE_Future<Result> value)
|
||||||
{
|
{
|
||||||
result = value;
|
result = value;
|
||||||
|
|||||||
Reference in New Issue
Block a user