summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpeople.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelpeople.cpp')
-rw-r--r--indra/newview/llpanelpeople.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index d947003109..92a8653252 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -436,11 +436,13 @@ bool LLPanelPeople::updateGroupList()
bool LLPanelPeople::filterFriendList()
{
- if (mFriendVec.size() > 0)
- return mFriendList->update(mFriendVec, mFilterSubString);
+ // We must always update Friends list to clear the latest removed friend.
+ bool have_names = mFriendList->update(mFriendVec, mFilterSubString);
- mFriendList->setCommentText(getString("no_friends"));
- return true;
+ if (mFriendVec.size() == 0)
+ mFriendList->setCommentText(getString("no_friends"));
+
+ return have_names;
}
bool LLPanelPeople::filterNearbyList()
@@ -784,10 +786,22 @@ void LLPanelPeople::onMoreButtonClicked()
void LLPanelPeople::onOpen(const LLSD& key)
{
- std::string tab_name = key.asString();
+ // Profile View is activated through LLSideTray::showPanel(),
+ // hide Profile View to be able to see Panel People content
+ hideProfileView();
+ std::string tab_name = key.asString();
if (!tab_name.empty())
mTabContainer->selectTabByName(tab_name);
else
reSelectedCurrentTab();
}
+
+void LLPanelPeople::hideProfileView()
+{
+ LLView* view = getChildView("panel_profile_view",true,false);
+ if(view && view->getVisible())
+ {
+ view->setVisible(false);
+ }
+}