Skip to content
Snippets Groups Projects
Commit c227f93b authored by Sergey Borushevsky's avatar Sergey Borushevsky
Browse files

Fixed minor bug EXT-2745 (Contents of Groups field duplicates after IM session has been started)

--HG--
branch : product-engine
parent b0704256
No related branches found
No related tags found
No related merge requests found
...@@ -359,7 +359,7 @@ void LLPanelAvatarProfile::onOpen(const LLSD& key) ...@@ -359,7 +359,7 @@ void LLPanelAvatarProfile::onOpen(const LLSD& key)
{ {
LLPanelProfileTab::onOpen(key); LLPanelProfileTab::onOpen(key);
mGroups.erase(); mGroups.clear();
//Disable "Add Friend" button for friends. //Disable "Add Friend" button for friends.
childSetEnabled("add_friend", !LLAvatarActions::isFriend(getAvatarId())); childSetEnabled("add_friend", !LLAvatarActions::isFriend(getAvatarId()));
...@@ -391,7 +391,7 @@ void LLPanelAvatarProfile::resetControls() ...@@ -391,7 +391,7 @@ void LLPanelAvatarProfile::resetControls()
void LLPanelAvatarProfile::resetData() void LLPanelAvatarProfile::resetData()
{ {
mGroups.erase(); mGroups.clear();
childSetValue("2nd_life_pic",LLUUID::null); childSetValue("2nd_life_pic",LLUUID::null);
childSetValue("real_world_pic",LLUUID::null); childSetValue("real_world_pic",LLUUID::null);
childSetValue("online_status",LLStringUtil::null); childSetValue("online_status",LLStringUtil::null);
...@@ -443,23 +443,29 @@ void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_g ...@@ -443,23 +443,29 @@ void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_g
// Group properties may arrive in two callbacks, we need to save them across // Group properties may arrive in two callbacks, we need to save them across
// different calls. We can't do that in textbox as textbox may change the text. // different calls. We can't do that in textbox as textbox may change the text.
std::string groups = mGroups;
LLAvatarGroups::group_list_t::const_iterator it = avatar_groups->group_list.begin(); LLAvatarGroups::group_list_t::const_iterator it = avatar_groups->group_list.begin();
const LLAvatarGroups::group_list_t::const_iterator it_end = avatar_groups->group_list.end(); const LLAvatarGroups::group_list_t::const_iterator it_end = avatar_groups->group_list.end();
if(groups.empty() && it_end != it)
{
groups = (*it).group_name;
++it;
}
for(; it_end != it; ++it) for(; it_end != it; ++it)
{ {
LLAvatarGroups::LLGroupData group_data = *it; LLAvatarGroups::LLGroupData group_data = *it;
groups += ", ";
groups += group_data.group_name; // Check if there is no duplicates for this group
if (std::find(mGroups.begin(), mGroups.end(), group_data.group_name) == mGroups.end())
mGroups.push_back(group_data.group_name);
}
// Creating string, containing group list
std::string groups = "";
for (group_list_t::const_iterator it = mGroups.begin(); it != mGroups.end(); ++it)
{
if (it != mGroups.begin())
groups += ", ";
groups += *it;
} }
mGroups = groups;
childSetValue("sl_groups",mGroups); childSetValue("sl_groups", groups);
} }
void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data) void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data)
......
...@@ -183,7 +183,9 @@ class LLPanelAvatarProfile ...@@ -183,7 +183,9 @@ class LLPanelAvatarProfile
private: private:
std::string mGroups; typedef std::list<std::string> group_list_t;
group_list_t mGroups;
LLToggleableMenu* mProfileMenu; LLToggleableMenu* mProfileMenu;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment