Don't delete packet when it is still referenced. Create a new packet instead for deconfliction.

This commit is contained in:
JJ 2015-04-20 19:48:52 -04:00
parent 0eda3efe6a
commit 23dd560a72

View File

@ -1406,17 +1406,16 @@ void WorldServer::Process() {
// CONSENT_INVALID_NAME = 397
// TARGET_NOT_FOUND = 101
safe_delete(pack);
pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct));
ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)pack->pBuffer;
ServerPacket *scs_pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct));
ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)scs_pack->pBuffer;
strcpy(scs->grantname, s->grantname);
strcpy(scs->ownername, s->ownername);
scs->permission = s->permission;
scs->zone_id = s->zone_id;
scs->instance_id = s->instance_id;
scs->message_string_id = TARGET_NOT_FOUND;
worldserver.SendPacket(pack);
safe_delete(pack);
worldserver.SendPacket(scs_pack);
safe_delete(scs_pack);
}
break;
}