merging in latest changes

meow-7.2.2
Gilbert Gonzales 2012-11-13 11:20:33 -08:00
commit 39d46d2178
4 changed files with 20 additions and 2 deletions

View File

@ -240,7 +240,7 @@ void LLConversationViewSession::toggleOpen()
{
getParentFolder()->setSelection(this, true);
}
mContainer->reSelectConversation();
}
}

View File

@ -334,7 +334,7 @@ void LLFloaterIMContainer::onExpandCollapseButtonClicked()
{
collapseConversationsPane(!mConversationsPane->isCollapsed());
}
selectConversation(mSelectedSession);
reSelectConversation();
}
LLFloaterIMContainer* LLFloaterIMContainer::findInstance()
@ -1574,4 +1574,14 @@ void LLFloaterIMContainer::onNearbyChatClosed()
closeFloater();
}
void LLFloaterIMContainer::reSelectConversation()
{
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(mSelectedSession);
if (session_floater->getHost())
{
selectFloater(session_floater);
}
}
// EOF

View File

@ -163,6 +163,7 @@ public:
LLConversationItem* addConversationListItem(const LLUUID& uuid, bool isWidgetSelected = false);
void setTimeNow(const LLUUID& session_id, const LLUUID& participant_id);
void setNearbyDistances();
void reSelectConversation();
private:
LLConversationViewSession* createConversationItemWidget(LLConversationItem* item);

View File

@ -2444,14 +2444,21 @@ void LLIMMgr::addMessage(
//*NOTE session_name is empty in case of incoming P2P sessions
std::string fixed_session_name = from;
bool name_is_setted = false;
if(!session_name.empty() && session_name.size()>1)
{
fixed_session_name = session_name;
name_is_setted = true;
}
bool new_session = !hasSession(new_session_id);
if (new_session)
{
LLAvatarName av_name;
if (LLAvatarNameCache::get(other_participant_id, &av_name) && !name_is_setted)
{
fixed_session_name = (av_name.mDisplayName.empty() ? av_name.mUsername : av_name.mDisplayName);
}
LLIMModel::getInstance()->newSession(new_session_id, fixed_session_name, dialog, other_participant_id, false, is_offline_msg);
// When we get a new IM, and if you are a god, display a bit