aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/PetitionsHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/PetitionsHandler.cpp')
-rw-r--r--src/server/game/Handlers/PetitionsHandler.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp
index c0b5db65d90..a4d41bbff1f 100644
--- a/src/server/game/Handlers/PetitionsHandler.cpp
+++ b/src/server/game/Handlers/PetitionsHandler.cpp
@@ -849,12 +849,18 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recvData)
Guild::SendCommandResult(this, GUILD_COMMAND_CREATE, ERR_GUILD_COMMAND_SUCCESS, name);
- // Add members from signatures
- for (uint8 i = 0; i < signatures; ++i)
{
- Field* fields = result->Fetch();
- guild->AddMember(ObjectGuid(HighGuid::Player, fields[0].GetUInt32()));
- result->NextRow();
+ SQLTransaction trans = CharacterDatabase.BeginTransaction();
+
+ // Add members from signatures
+ for (uint8 i = 0; i < signatures; ++i)
+ {
+ Field* fields = result->Fetch();
+ guild->AddMember(trans, ObjectGuid(HighGuid::Player, fields[0].GetUInt32()));
+ result->NextRow();
+ }
+
+ CharacterDatabase.CommitTransaction(trans);
}
}
else