mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-07 21:32:26 +00:00
[Crash Fix] Added a guild_mgr check (#4163)
* CrashFix and Cleanup * Formatting, add safe_delete --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
parent
2c2a8cdb63
commit
805829f15d
@ -3696,29 +3696,31 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_GuildTributeUpdateDonations:
|
case ServerOP_GuildTributeUpdateDonations: {
|
||||||
{
|
auto in = (GuildTributeUpdate *) pack->pBuffer;
|
||||||
GuildTributeUpdate* in = (GuildTributeUpdate*)pack->pBuffer;
|
auto outapp = new EQApplicationPacket(OP_GuildOptInOut, sizeof(GuildTributeOptInOutReply_Struct));
|
||||||
|
auto data = (GuildTributeOptInOutReply_Struct *) outapp->pBuffer;
|
||||||
|
|
||||||
EQApplicationPacket* outapp = new EQApplicationPacket(OP_GuildOptInOut, sizeof(GuildTributeOptInOutReply_Struct));
|
data->guild_id = in->guild_id;
|
||||||
GuildTributeOptInOutReply_Struct* data = (GuildTributeOptInOutReply_Struct*)outapp->pBuffer;
|
data->no_donations = in->member_favor;
|
||||||
|
data->tribute_toggle = in->member_enabled ? true : false;
|
||||||
data->guild_id = in->guild_id;
|
data->tribute_trophy_toggle = 0; // not yet implemented
|
||||||
|
data->time = in->member_time;
|
||||||
|
data->command = 1;
|
||||||
strn0cpy(data->player_name, in->player_name, sizeof(data->player_name));
|
strn0cpy(data->player_name, in->player_name, sizeof(data->player_name));
|
||||||
data->no_donations = in->member_favor;
|
|
||||||
data->tribute_toggle = in->member_enabled ? true : false;
|
|
||||||
data->tribute_trophy_toggle = 0; //not yet implemented
|
|
||||||
data->time = in->member_time;
|
|
||||||
data->command = 1;
|
|
||||||
|
|
||||||
entity_list.QueueClientsGuild(outapp, in->guild_id);
|
entity_list.QueueClientsGuild(outapp, in->guild_id);
|
||||||
safe_delete(outapp);
|
safe_delete(outapp);
|
||||||
|
|
||||||
//my new items
|
|
||||||
outapp = new EQApplicationPacket(OP_GuildTributeToggleReply, sizeof(GuildTributeSendActive_Struct));
|
outapp = new EQApplicationPacket(OP_GuildTributeToggleReply, sizeof(GuildTributeSendActive_Struct));
|
||||||
GuildTributeSendActive_Struct *out = (GuildTributeSendActive_Struct *) outapp->pBuffer;
|
auto out = (GuildTributeSendActive_Struct *) outapp->pBuffer;
|
||||||
|
|
||||||
auto guild = guild_mgr.GetGuildByGuildID(in->guild_id);
|
auto guild = guild_mgr.GetGuildByGuildID(in->guild_id);
|
||||||
|
if (!guild) {
|
||||||
|
safe_delete(outapp)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
out->not_used = in->guild_id;
|
out->not_used = in->guild_id;
|
||||||
out->guild_favor = guild->tribute.favor;
|
out->guild_favor = guild->tribute.favor;
|
||||||
out->tribute_enabled = guild->tribute.enabled;
|
out->tribute_enabled = guild->tribute.enabled;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user