diff --git a/server/imserver_new/guild/guildmgr.go b/server/imserver_new/guild/guildmgr.go index ba027217..2b3b52f3 100644 --- a/server/imserver_new/guild/guildmgr.go +++ b/server/imserver_new/guild/guildmgr.go @@ -779,7 +779,7 @@ func (this *guildMgr) clearEmptyGuild() { return true }) for _, g := range(emptyGuilds) { - this.delGuild(g) + this.delGuildNoRearrangement(g) GetDbLogMgr().GuildClearEmptyStart(g.guildId, g.guildName) model.Guild.Delete(g.guildId, func (err error, lastInsertId int64, rowsAffected int64) { @@ -853,6 +853,13 @@ func (this *guildMgr) delGuildMember(memberId string) { } func (this *guildMgr) delGuild(g *guild) { + this.delGuildNoRearrangement(g) + if _, ok := this.guildRankHash[g.guildId]; ok { + this.rearrangement() + } +} + +func (this *guildMgr) delGuildNoRearrangement(g *guild) { g.traverseMembers( func (m *member) bool { this.delGuildMember(m.memberId) @@ -860,7 +867,4 @@ func (this *guildMgr) delGuild(g *guild) { }) delete(this.idHash, g.guildId) delete(this.nameHash, g.guildName) - if _, ok := this.guildRankHash[g.guildId]; ok { - this.rearrangement() - } }