diff options
Diffstat (limited to 'src/guildmanager.cpp')
-rw-r--r-- | src/guildmanager.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp index 1ce8b9a74..77324e67e 100644 --- a/src/guildmanager.cpp +++ b/src/guildmanager.cpp @@ -161,9 +161,12 @@ void GuildManager::updateList() i ++; } guild->sort(); + createTab(guild); if (actorSpriteManager) + { actorSpriteManager->updatePlayerGuild(); - createTab(guild); + actorSpriteManager->updatePlayerColors(); + } } mTempList.clear(); mGotInfo = true; @@ -346,7 +349,11 @@ bool GuildManager::process(std::string msg) msg, Being::PLAYER); if (b) + { b->clearGuilds(); + b->setGuildName(""); + b->updateColors(); + } } guild->removeMember(msg); @@ -443,6 +450,11 @@ bool GuildManager::afterRemove() return false; guild->removeFromMembers(); guild->clearMembers(); + if (player_node) + { + player_node->setGuildName(""); + player_node->clearGuilds(); + } SERVER_NOTICE(_("You have left the guild.")) delete mTab; mTab = 0; @@ -450,7 +462,10 @@ bool GuildManager::afterRemove() if (socialWindow) socialWindow->removeTab(guild); if (actorSpriteManager) + { + actorSpriteManager->updatePlayerGuild(); actorSpriteManager->updatePlayerColors(); + } reload(); return true; } |