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 // CONSENT_INVALID_NAME = 397
// TARGET_NOT_FOUND = 101 // TARGET_NOT_FOUND = 101
safe_delete(pack); ServerPacket *scs_pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct));
pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)scs_pack->pBuffer;
ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)pack->pBuffer;
strcpy(scs->grantname, s->grantname); strcpy(scs->grantname, s->grantname);
strcpy(scs->ownername, s->ownername); strcpy(scs->ownername, s->ownername);
scs->permission = s->permission; scs->permission = s->permission;
scs->zone_id = s->zone_id; scs->zone_id = s->zone_id;
scs->instance_id = s->instance_id; scs->instance_id = s->instance_id;
scs->message_string_id = TARGET_NOT_FOUND; scs->message_string_id = TARGET_NOT_FOUND;
worldserver.SendPacket(pack); worldserver.SendPacket(scs_pack);
safe_delete(pack); safe_delete(scs_pack);
} }
break; break;
} }